ПредишенСледващото

4.2.2. Как се прави MySQL Secure срещу хакери

Когато се свържете към сървър MySQL се използва, обикновено парола. Чрез паролата за връзка не се изпраща в обикновен текст, но алгоритъм за криптиране не е много сложна. Обяснителна хакер, ако той може да прихване трафика между клиента и сървъра, на определено постоянство може да се напука паролата. Ето защо, ако връзката между клиента и сървъра се извършва на несигурна мрежа за криптиране на комуникацията, използвайте SSH-тунел.

Ако използвате MySQL 4.0, можете да използвате предоставените в тази версия подкрепа за OpenSSL протокол. Вижте Вижте раздел 4.3.9, "Използване на сигурни връзки".

За осигуряване на безопасност MySQL-системата е необходимо да се придържа стриктно към следните насоки:

Всички потребители на MySQL, трябва да имат пароли. За клиент / сървър приложения обикновено се приема, че клиентът може да посочи всяко потребителско име, но ако other_user няма парола, а след това всеки може да отиде под всяко име, като просто пишете MySQL -u other_user db_name. За да избегнете това, можете да промените паролата за всички потребители, като се редактира mysql_install_db сценария, преди да започнете приложение или само паролата за корена -user MySQL, както е показано по-долу:

Не прекарвайте MySQL демона като име корен употреба на Unix. Това е много опасно, тъй като всеки потребител, който има привилегията ФАЙЛ. ще можете да създавате файлове като корен (например,

В резултат на това, сървърът ще започне на определената потребител, без значение дали е пуснат ръчно или с safe_mysqld или mysql.server. За повече информация, вижте Вижте раздел A.3.2, «MySQL Run като стандартен потребител."

Не подкрепяме символните връзки към маси (тя може да бъде прекратен с --skip-символна връзка опция). Това е особено важно, ако ви свършат Mysqld като корен. защото този, който има право на достъп до записи в Mysqld на каталози за бази данни. след това да изтриете някой файл в системата! Вижте Вижте раздел 5.6.1.2, «Използване на символни връзки за таблици".

Уверете се, че потребителят Unix, от чието име се укрива `Mysqld", е единственият ползвател с четене / запис привилегии в директориите на базата данни.

Не се предостави процеса привилегията за всички потребители. mysqladmin Командата processlist показва текстови заявки се обработват в момента. Ето защо, всеки потребител, който има право да изпълните тази команда получава шанс да се чете, например, такова друго искане на потребителя, както UPDATE потребителското SET парола = ПАРОЛА ( "not_secure"). Mysqld запазва допълнителна връзка за потребители, които имат процеса привилегия. така че MySQL като основен потребител може да се свърже и контрол, дори и в случай, когато всички нормални връзки са.

Не предостави ФАЙЛ привилегията за всички потребители. Всеки потребител, който има тази привилегия да напишете файл някъде във файловата система с привилегиите на Mysqld на демон. За да стане това е малко по-безопасна, всички файлове, генерирани с SELECT. В OUTFILE. оповестено за протокола, не презапишете съществуващите файлове.

привилегията на файла може да се използва и да се чете всяка налична за потребителя Unix файл, от името на която е започнала на сървъра.

Можете да прочетете и да е файл в текущата база данни. Това може да се използва за лична изгода. Може би, например, с помощта на LOAD DATA команда за зареждане / и т.н. / ако съществува в една маса и да я прочетете по-късно с помощта на SELECT.

За да се ограничи броя на връзките на разположение на един и същи потребител, то е възможно да се определи стойността на Mysqld max_user_connections.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!