RU EN ES

Всё о любом домене или IP-адресе

Домены ХостингХостинг VPS ХостингVPS / VDS SSLСертификаты О компании О компании

VPS / VDS хостинг >  Защита веб сервера от вредоносных ботов с помощью Fail2Ban

Каждый день на все сайты в интернете заходит большое кол-во ботов, начиная с тех которые нам важны (например yandex, google и т.д.) и заканчивая потенциально несущими угрозу. Проанализировав лог веб сервера Вы увидите подозрительные события. В данный момент все больше развиваются типы взломов использующие социальную инженерию (взлом не самого софта, а нахождения недочетов) оставленных самим разработчиком, администратором. Сегодня мы расскажем как блокировать ботов, которые осуществляют поиск резервных копий, и установленный phpmyadmin. Для блокировки таких ботов мы будем использовать Fail2Ban, фильтр и правило (джейл). Работа проводилась на Centos 7.

Боты поиска резервных копий

Бот ищет резервные копии оставленные в виде архива, перебирая от корня до разных типичных папок. В случае нахождения скорее всего передаст информацию своему владельцу, а ведь копии содержат файлы и базу данных, позволяет получить доступ к сайту. Такие копии часто забывают удалить после переноса сайта с одного сервера или хостинга на другой.

Добавим фильтр backup-scan.local:

[Definition]
failregex = ^<HOST> - - .*./(backup.rar|backup.tgz|backup.zip|backup.tar|backup.tar.gz|dump.sql|database.sql|database.sql|backup.sql|public_html.zip|home.zip|html.zip|archive.zip|archive.rar|archive.tar|archive.tar.gz|archive.tgz|archive.sql|bak.zip|bak.rar|bak.tar|bak.tar.gz|bak.sql|bak.tgz|site.zip|site.tgz|www.zip|www.rar|www.tar|www.tar.gz|www.tgz|www.sql|site.rar|site.tar|site.tar.gz|site.sql) HTTP/1.0" 404|301
ignoreregex =

 Добавим правило:

[backup-scan]
enabled = true
filter = backup-scan
action = iptables-multiport[chain="INPUT", name="backup-scan", port="http,https", protocol="tcp", blocktype="REJECT --reject-with icmp-port-unreachable"]
sendmail[dest="admin-mail@domain.tld", sender="fail2ban", sendername="Fail2Ban", name="backup-scan"]
logpath = /var/www/vhosts/system/*/logs/*access*log
maxretry = 5

Количество попыток можно уменьшить, что существенно увеличит чувствительность и снизит нагрузку на веб службу. Мы рекомендуем владельцам сайтов удалить все резервные копии в виде архивов со своих серверов. Боты также ищут архивы с именем домена и т.д., тут мы привели базовые правила.

Боты поиска phpMyAdmin, руткитов, бэкдоров

Данные боты осуществляют поиск установленного phpMyAdmin с целью дальнейшего поиска в нем уязвимостей и взлома, атак подбора паролей. Инструмент работы с базой phpMyAdmin является очень популярным и периодически подвергается взлому, в зависимости от установленной версии, настроек.

Добавим фильтр phpmyadmin.local

[Definition]
failregex = ^<HOST> - - .*./(phpmyadm1n|mysqladmin|phpMyAdmin-4.4.0|phpmyadmin1|phpMyadmin_bak|phpmyadmin-old|phpMyAdminold|phpMyAdmin.old|admin/phpMyAdmin|admin/phpmyadmin2|admin/phpmyadmin|myadmin2|admin/phpMyAdmin2|phpMyAdm1n|phpMyAdm1n|phpMyadmi|phpMyAdmion|phpMyAdmin|myadmin|phpmyadmin|phpMyadmi|pma|PMA|pma-old|pmamy|pmamy2|phpma|shaAdmin)/index.php
^<HOST> - - .*./(pma.php|xshell.php|shell.php|wshell.php|cmd.php|cmdd.php|cmx.php|ak47.php|ak48.php|conflg.php|defect.php|desktop.ini.php|htdocs.php|lala-dpr.php|muhstik-dpr.php|lol.php|hell.php|pmd_online.php|db_pma.php) HTTP/1.0" (404|301|200)
ignoreregex =

В фильтре мы указали сразу 2 условия, второе будет блокировать боты, которые ищут на ранее взломанных сайтах размещенные скрипты доступа, оставленные злоумышленниками. (рукткиты, бекдоры)

Добавим правило:

[phpmyadmin-scan]
enabled = true
filter = phpmyadmin
action = iptables-multiport[chain="INPUT", name="phpmyadmin", port="http,https", protocol="tcp", blocktype="REJECT --reject-with icmp-port-unreachable"]
sendmail[dest="admin-mail@domain.tld", sender="fail2ban", sendername="Fail2Ban", name="phpmyadmin-scan"]
logpath = /var/www/vhosts/system/*/logs/*access*log
maxretry = 5
Не забудьте поменять email  в настройках на свой, на него будут приходить уведомления о блокировках с указанием правила, ip адреса. Путь к файлу лога тоже необходимо проверить и указать свой. В нашем случае обрабатываются несколько лог файлов расположенных на одном уровне вложенности, но в разных папках. При необходимости можно задать несколько лог файлов. Мы рекомендуем после работы с phpMyAdmin снимать права чтения чтобы он был недоступен, при частом использовании можно добавить защиту на уровне веб сервера с помощью запароленных папок в htaccass и htpasswd.

Личный кабинет

Вход

Напомнить пароль


Регистрация


Проверить почту:

Логин:
Пароль:

VPS Каталог приложений

Дополнительные услуги

База знаний

VPS хостинг

Нас выбрали ведущие медиа компании с большими объемами данных и высокой нагрузкой

Рассчитать тариф

Перенос домена