Свой VDS или полноценный dedicate сервер всегда привлекателен для разных тёмных личностей, которые будут сканировать всевозможные порты, сервисы на предмет наличия различных дыр с целью получить полный или частичный доступ к серверу, чтобы использовать по своему усмотрению. Даже если у них ничего не получится, то они израсходуют процессорное время, память, место на диске вашего сервера.
В том случае, если у администратора есть постоянный ip, то для разных сервисов настраивается доступ по белому списку и проблема решается самым простым и эффективным образом. Однако, зачастую доступ осуществляется из разных мест и с разных устройств.
Одна из самых лучших защит — это настройка доступа к phpmyadmin через отдельный порт + открытие порта только тогда, когда Вам необходим доступ к phpmyadmin. Например, заходим на сервер, включаем порт, а после заходим по адресу https://198.72.192.129:8074 и видим форму phpmyadmin для логина. Зашли, совершили необходимые действия с БД, после — закрыли порт и phpmyadmin стал невидим для всего мира.
Если phpmyadmin должен быть доступен всегда, то его надо как-то дополнительно защищать от желающих подобрать пароль и получить доступ к вашим данным. Даже если у злоумышленников не получится подобрать пароль, то они израсходуют процессорное время, озу, место на диске.
Я предлагаю построить ещё один забор, а именно — защитить доступ к форме логина посредством дополнительной авторизации .htaccess, несколько неудачных попыток логина задействуют fail2ban, а все запросы атакующей стороны будут сбрасываться на уровне firewall’а.
Создаём файл .htaccess
1 2 3 4 5 6 |
# vi /usr/share/phpMyAdmin/.htaccess AuthName "Enter Password" AuthType Basic Require valid-user AuthUserFile "/usr/share/phpMyAdmin/.htpasswd" |
Создаём файл .htpasswd
1 |
# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password |
Открываем файл /etc/httpd/conf.d/phpMyAdmin.conf и в разделе Directory добавляем параметр AllowOverride All:
1 2 3 4 5 |
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require all granted AllowOverride All </Directory> |
После — перезапускаем веб-сервер. При входе на страницу https://…./phpmyadmin/ будет вводится окно для дополнительной авторизации.
Данный метод эффективен в том случае, если fail2ban уже настроен на защиту apache. Также данный метод освобождает от дополнительной настройки fail2ban именно на phpmyadmin.
Свежие комментарии