Модуль es-bind-errors был разработан компанией Extra Systems для защиты name-сервера bind от хакерской активности в рамках системы fail2ban. Суть его деятельности заключается в выявлении подозрительной активности в файле /var/log/named/security.log.
Подключение es-bind-errors к fail2ban производится таким способом:
[es-bind-errors] enabled = true filter = es-bind-errors logpath = /var/log/named/security.log action = iptables-allports[name=es-bind-errors, blocktype=DROP, protocol=all]
Обратите внимание на тот факт, что данный фильтр блокирует для изобличенного хакера все протоколы на всех портах, причем делает это по методу DROP - что превращает после этого ваш хост в абсолютно "черную дыру" для данного конкретного злоумышленника. Ни на один свой последующий IP-пакет он не получит вообще никакого ответа. Таким образом нами обеспечивается значительная экономия ресурсов вашего сервера.
Код нашего фильтра es-bind-errors имеет такой вид:
[Definition]
failregex = ^.* query-errors: info: client @0x\S+ <HOST>#\d+ \(.*\): query failed \(REFUSED\)
^.* security: error: client @0x\S+ <HOST>#\d+ \(.*\): zone transfer '.*' denied
ignoreregex =
Этот фильтр обнаруживает и пресекает нелегальные попытки прочтения зоны целиком (через запрос AXFR), а также несанкционированное использование вашего name-сервера в качестве резолвера посторонними хостами. Для его правильной работы конфигурация вашего name-сервера bind должна содержать следующий фрагмент:
logging {
channel security_file {
file "/var/log/named/security.log" versions 3 size 30m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
category security { security_file; };
category query-errors { security_file; };
category queries { null; };
};
В условиях практической эксплуатации на наших Linux-серверах данный фильтр показал очень высокую эффективность в деле подавления хакерской активности в рамках name-сервера bind.
| © Extra Systems, 2026 |
|