Fail2ban
- Медіафайли у Вікісховищі
Fail2Ban — програма захисту серверів від атаки грубою силою. Написана мовою програмування Python, може працювати на POSIX-системах що мають інтерфейс до системи контролю пакетів або файервола, наприклад, iptables або TCP Wrapper.
Принцип роботи
Fail2ban сканує файли журналів (наприклад, /var/log/apache2/error.log) і забороняє IP-адреси, активність з яких виявляє шкідливі ознаки — велика кількість спроб увійти з неправильно введеним паролем, виконати небезпечні або безглузді дії тощо. В разі виявлення таких аномальних дій, Fail2Ban оновлює правила брандмауера для блокування такої IP-адреси на певний проміжок часу. Програма може бути налаштована і на виконання іншої дії (наприклад, відправлення електронного листа).
Конфігурація за замовчуванням містить фільтри для Apache, Lighttpd, sshd, vsftpd, qmail, Postfix, Courier Mail Server, Asterisk та інших популярних серверних додатків. У фільтрах використовуються регулярні вирази, які можуть бути легко змінені та налаштовані у разі потреби. Наприклад, фільтр sshd-ddos виглядає таким чином:
failregex = ^%(__prefix_line)sDid not receive identification string from <HOST>\s*$
Налаштування
Стандартні налаштування програми знаходяться у файлі /etc/fail2ban/jail.conf
, змінювати налаштування рекомендують в /etc/fail2ban/jail.local
, який є копією jail.conf
.
Файл містить розділ загальних налаштувань [DEFAULT] та розділи специфічних налаштувань для певних сервісів (для прикладу продемонстрована наявність розділу [ssh]).
[DEFAULT] ignoreip = 127.0.0.1/8 ignorecommand = bantime = 3600 findtime = 600 maxretry = 3 backend = auto usedns = warn destemail = root@localhost sendername = Fail2Ban sender = fail2ban@localhost banaction = iptables-multiport mta = sendmail protocol = tcp chain = INPUT action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s", sendername="%(sendername)s"] action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] %(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s", sendername="%(sendername)s"] action = %(action_)s [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6
Модифікації
Цей розділ статті ще не написано. Ви можете допомогти проєкту, написавши його. |
Посилання
- ↑ fail2ban: Daemon to ban hosts that cause multiple authentication errors. 11 листопада 2017. Архів оригіналу за 9 квітня 2018. Процитовано 3 квітня 2018 — через GitHub.
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |
На цю статтю не посилаються інші статті Вікіпедії. Будь ласка розставте посилання відповідно до прийнятих рекомендацій. |