Обеспечение безопасности базы данных MySQL
Безопасность очень важна, особенно при подключении базы данных MySQL к Web-сайту. В следующих разделах описаны меры предосторожности, которые нужно предпринимать для защиты базы данных.
MySQL с точки зрения операционной системы
При использовании Unix-подобной операционной системы запуск сервера MySQL (mysqld) в качестве привилегированного процесса — не самая лучшая идея. В этом случае пользователь MySQL получает полный набор полномочий для выполнения чтения и записи файлов в любом каталоге операционной системы. Это исключительно важный момент, который легко упустить из виду, чем и воспользовались для знаменитого взлома Web-сайта Apache. (К счастью, они оказались “белыми и пушистыми”, и их единственной целью было укрепление системы безопасности.)
Имеет смысл настроить пользователя MySQL специально для запуска mysqld. Кроме того, доступ к каталогам (в которых хранятся физические данные) можно разрешить только пользователю MySQL. Во многих установках сервер настраивают так, чтобы он запускался с идентификатором пользователя mysql, входящего в состав группы mysql.
В идеале следует также помещать сервер MySQL позади брандмауэра. Тем самым можно предотвратить подключение с компьютеров, не обладающих соответствующими полномочиями. Следует также проверить, возможно ли внешнее подключение к серверу через порт 3306. Через этот порт сервер MySQL действует по умолчанию, и он должен быть закрыт брандмауэром.