Простая в использовании утилита, позволяющая блокировать попытки брутфорса.
ignoreip - наш ip, не фильтруется.
bantime - длительность бана.
Maxretry - количество попыток авторизации, после которого ip получает бан.
Findtime - время в секундах, в течении которого фиксируется auth error для каждого ip. Т.е. если Findtime=60,Maxretry=3, то после трех попыток в течении 60 сек ip отправляется в бан.
usedns = yes - если вместо ip в логе имя хоста, fail2ban будет разрешать хост в ip.
action : This action tells the fail2ban to ban a matching IP address once a filter matches in the /etc/fail2ban/action.d/iptables.conf file. If your server have mail setup, you can add email address, where fail2ban sends you a email alerts whenever it bans an IP address. The sender section refers to file /etc/fail2ban/action.d/sendmail-whois.conf file.
С помощью fail2ban можно также блокировать DNS DDoS, для этого необходимо задействовать правила
Мы можем создавать сои собственные правила с регулярными выражениями. Для их тестирования можно воспользоваться командой:
Важная особенность - все правила регистрозависимые.
Чтобы сделать их caseisensitive нужно добавить (?i) в начало каждого правила.
yum install fail2ban #Создадим jail.local, который будет переопределять правила jail.conf cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localОсновной файл настроек: jail.conf
ignoreip - наш ip, не фильтруется.
bantime - длительность бана.
Maxretry - количество попыток авторизации, после которого ip получает бан.
Findtime - время в секундах, в течении которого фиксируется auth error для каждого ip. Т.е. если Findtime=60,Maxretry=3, то после трех попыток в течении 60 сек ip отправляется в бан.
usedns = yes - если вместо ip в логе имя хоста, fail2ban будет разрешать хост в ip.
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] logpath = /var/log/secure maxretry = 5filter : This section by default set to sshd and refers the config file (/etc/fail2ban/filter.d/sshd.conf) containing the rules that fail2ban uses to find matches.
action : This action tells the fail2ban to ban a matching IP address once a filter matches in the /etc/fail2ban/action.d/iptables.conf file. If your server have mail setup, you can add email address, where fail2ban sends you a email alerts whenever it bans an IP address. The sender section refers to file /etc/fail2ban/action.d/sendmail-whois.conf file.
С помощью fail2ban можно также блокировать DNS DDoS, для этого необходимо задействовать правила
[named-refused-udp] и [named-refused-tcp]
Мы можем создавать сои собственные правила с регулярными выражениями. Для их тестирования можно воспользоваться командой:
fail2ban-regex /var/log/auth.log "Failed [-/\w]+ for .* fromТестируемые правила необходимо заключать в двойные кавычки иначе получим ошибку. Например, если мы хотим заблокировать тех, кто пытается попасть в директории phpmyadmin|mail|forum|login|cgi-bin|wp-login, то правило будет выглядеть так:"
^<host> - - \[.*\] \"(GET|POST) /(phpmyadmin|mail|forum|login|cgi-bin|wp-login|mysql).* HTTP\/.*$
^(?i)<host> - - \[.*\] \"(GET|POST) /(phpmyadmin|mail|forum|login|cgi-bin|wp-login).* HTTP\/.*$Можно добавлять сразу несколько правил в один фильтр, добавляя каждое с новой строки.
Чтобы проверить добавляются ли правила в iptables, запустите
iptables -LПерезагрузк iptables удалит забаненyые ip.
Все остальное довольно интуитивно понятно.
http://www.fail2ban.org/wiki/index.php/MANUAL_0_8
Комментариев нет:
Отправить комментарий