Varulv

Искатель

Немного о Fail2ban

Fail2ban по анализу логов позволяет блокировать тех, кто злоупотребляет доступностью вашего сервера по сети. Механизм работы fail2ban прост — по определённым в шаблоне параметрам срабатывает заданное правило. Устанавливаем пакет:

        	                                                                                sudo apt install fail2ban
											

Сразу после установки fail2ban уже сконфигурирован для защиты большинства портов. По умолчанию, настройки fail2ban хранятся в файле /etc/fail2ban/jail.conf, но рекомендуется создать свой файл конфигурации, например:

												sudo nano /etc/fail2ban/jail.local                                                                                                
                                                                                        

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

												# общие настройки
												[DEFAULT]
												ignoreip = 127.0.0.1
												bantime = 2592000
												findtime = 43200
												maxretry = 6
												banaction = iptables-multiport
												# настройка отправки сообщения на почту
												destemail = user@localhost
												sendername = Fail2Ban
												mta = sendmail
												action = %(action_mwl)s

												# защита SSH
												[ssh]
												enabled = true
												port = 10600
												filter = sshd
												logpath = /var/log/auth.log                                                                                               
                                                                                        

Где ignoreip указывает ip-адрес, который fail2ban будет игнорировать, можно добавить диапазон адресов через пробел.

Bantime определяет на какой срок блокировать атакующего.

Findtime — интервал времени в секундах, в течении которого программой будет определяться подозрительная активность.

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

В приведённом выше примере при 6-ти неверных попытках входа в течении 12 часов fail2ban забанит IP-адрес на 30 дней, используя iptables.

После изменения или добавления правил необходимо перезапустить программу:

                                                                                               sudo service fail2ban restart
                                                                                        

Полезные команды

Список работающих правил:

                                                                                               sudo fail2ban-client status
                                                                                        

Получить статистику заблокированных адресов:

                                                                                        	sudo fail2ban-client status «имя правила»
											

Удаление IP-адреса из списка заблокированных:

                                                                                        	sudo fail2ban-client set «имя правила» unbanip «IP-адрес»
											

Проверка работоспособности правила:

                                                                                               sudo fail2ban-regex «путь к файлу log»  /etc/fail2ban/filter.d/«ваше правлило».conf
                                                                                        

При этом стоит помнить, что fail2ban очень капризен в части синтаксиса правил, поэтому всегда проверяйте работоспособность своих правил.

Обсудить этот пост