Search the MySQL manual:
Subscribe to the monthly
MySQL Newsletter!

4.2.2 Как обезопасить MySQL от хакеров

При подключении к серверу MySQL используется, как правило, пароль. По линии связи пароль не передается в виде открытого текста, но алгоритм шифрования не очень сложный. Толковый хакер, если ему удастся перехватить трафик между клиентом и сервером, при определенной настойчивости может взломать пароль. Поэтому если связь между клиентом и сервером осуществляется по ненадежной сети, для шифрования связи следует использовать SSH-туннель.

Вся остальная информация передается в текстовом виде и может быть прочитана кем угодно, кто в состоянии отлеживать подключение. Если это вас беспокоит, можно воспользоваться протоколом со сжатием данных (в MySQL 3.22 и последующих версиях), что значительно затруднит подобные действия. Чтобы еще более повысить безопасность связи, следует использовать протокол ssh. Open source-клиент ssh доступен на веб-сайте http://www.openssh.org/, а коммерческий ssh-клиент можно получить на веб-сайте http://www.ssh.com/. С помощью такого протокола можно обеспечить зашифрованную связь по протоколу TCP/IP между сервером MySQL и клиентом MySQL.

Если вы используете MySQL 4.0, то можете также использовать предусмотренную в этой версии поддержку протокола OpenSSL. Обратитесь к разделу See section 4.3.9 Использование безопасных соединений.

Для обеспечения безопасности MySQL-системы необходимо строго придерживаться следующих рекомендаций:

User Comments

Posted by [name withheld] on December 9 2003 11:37am[Delete] [Edit]

It really should be pointed out that running mysqld as nobody is almost
as bad as running it as root. Toss in e.g. apache run as nobody and
anyone who can execute CGI programs can do whatever he wants to
your database. Hooray.

Posted by Anders BjЖrklund on January 29 2004 4:29am[Delete] [Edit]

Any service/daemon [such as MySQL] should run under its own separate user. Services that can access the filesystem should not own its own binaries since a change in them can be quite spectacular at reboot/restart :-)

Limit the service-user to read/write only the files neccessary for its proper operation.

[Off topic]
If you are running for example apache and allowing users to run their own cgi's, you should compile it/setup for using suEXEC to run as a particular user/site owner.

Add your own comment.