Yandex
Обновяване на предпочитанията за бисквитки

Конфигуриране на Fail2ban в Debian/Ubuntu

В днешния свят на киберзаплахи сигурността на сървърите се превръща в приоритет за всеки администратор. Един от най-ефективните инструменти за защита на вашия сървър е Fail2ban. В тази статия ще споделя опита си в конфигурирането на Fail2ban в системите Debian и Ubuntu, както и ще предложа практически съвети и препоръки.

Какво е Fail2ban?

Fail2ban е софтуер, който следи логовете на сървъра и блокира IP адреси, които показват подозрителна активност. Например, ако някой се опитва многократно да отгатне паролата за SSH, Fail2ban автоматично ще блокира този IP адрес за определен период от време. Това ви позволява да защитите сървъра си от brute force атаки и други видове злонамерена дейност.

Защо да използваме Fail2ban?

  1. Защита срещу brute-force атаки: Fail2ban ефективно защитава вашите услуги, като SSH, FTP и уеб сървъри, от атаки с груба сила на паролата.
  2. Лесно персонализиране: Конфигурирането на Fail2ban не изисква задълбочени технически познания и може да бъде извършено дори от начинаещ администратор.
  3. Гъвкавост: Можете да конфигурирате Fail2ban за защита на различни услуги и да персонализирате настройките за блокиране според нуждите си.

Инсталиране на Fail2ban

Инсталирането на Fail2ban в Debian или Ubuntu е много лесно. Следвайте следните стъпки:

Стъпка 1: Актуализиране на системата

Уверете се, че системата ви е актуализирана, преди да инсталирате fail2ban:
apt update
apt upgrade

Стъпка 2: Инсталиране на Fail2ban

След обновяването изпълнете следната команда, за да инсталирате Fail2ban:
apt install fail2ban iptables

Структура на Fail2ban

Конфигурационните файлове на fail2ban се намират в директорията /etc/fail2ban/:
  • fail2ban.conf – настройки по подразбиране на услугата fail2ban;
  • fail2ban.d/*.* – потребителски настройки за услугата fail2ban;
  • jail.conf – настройки по подразбиране на джейла за защитени услуги;
  • jail.d/*.* – потребителски настройки на джейла за защитени услуги;
  • filter.d/*.* – конфигуриране на модели за търсене в системните дневници (logs);
  • action.d/*.* – настройки на действието;
  • paths*.conf – настройки за отделните операционни системи.

Конфигуриране на Fail2ban

След като Fail2ban е инсталиран, е време да го конфигурирате. Конфигурацията включва промяна на конфигурационния файл, за да се определи кои услуги искате да защитите.

Стъпка 1: Базови настройки

При обновяване на пакетите системата може да презапише файловете с настройки на джайла по подразбиране, затова препоръчвам да създадете персонализирани файлове с настройки.

Също така трябва да деактивирате настройките по подразбиране за защита на SSH в Fail2ban:
>/etc/fail2ban/jail.d/defaults-debian.conf

Стъпка 2: Конфигуриране на сигурността на SSH

Създайте файл /etc/fail2ban/jail.d/sshd.conf със следното съдържание:
[sshd]
enabled = true
bantime = 1800
findtime = 600
maxretry = 3
  • enabled - включва джайл
  • maxretry - максимален брой неуспешни опити за влизане в системата в секунди findtime
  • bantime - време за блокиране в секунди
При горните параметри даден IP адрес ще бъде блокиран за половин час (1800 секунди), ако през последните 10 минути (600 секунди) от него са направени поне 3 неуспешни опита за удостоверяване.

За Дебиан 12 също трябва да добавите един ред, за да откриете правилно SSH:
echo "sshd_backend = systemd" >> /etc/fail2ban/paths-debian.conf

Стъпка 3: Проверка на работата на услугата

С това конфигурацията на jail sshd за fail2ban е завършена и трябва да рестартирате услугата:
systemctl restart fail2banПроверка на работата на услугата:
systemctl status fail2ban

Стъпка 4: Проверете списъка за блокиране на IP адреси

За да получите списък на IP адресите, блокирани от jail sshd, използвайте командата:
fail2ban-client status sshd20250110_MMIfFUW1

Стъпка 5: Управление на блокирането на IP адреси в jail

За да деблокирате даден IP адрес, използвайте командата:
fail2ban-client set sshd unbanip 1.2.3.4За да добавите IP към „белия списък“, т.е. за да предотвратите бъдещо блокиране на IP, използвайте командата:
fail2ban-client set sshd addignoreip 1.2.3.4За да получите списък на всички IP адреси, които се игнорират, използвайте командата:
fail2ban-client get sshd ignoreipМожете да премахнете даден IP адрес от този списък с командата:
fail2ban-client set sshd delignoreip 1.2.3.4Всички тези промени са временни и ще бъдат възстановени, когато услугата Fail2ban или сървърът като цяло бъдат рестартирани.

Стъпка 6: Управление на постоянни блокировки в jail

Постоянно блокираните IP адреси могат да бъдат записани в конфигурационния файл на jail /etc/fail2ban/jail.d/sshd.conf
ignoreip = 1.1.1.1 2.2.2.2
В параметъра ignoreip, както в конфигурационния файл на jail, така и за временно управление, IP адресите се задават в списък, разделен с интервал.

Не е необходимо да посочвате собствени IP адреси на сървъри. Те се игнорират по подразбиране.

За да приложите тези промени, вече трябва да рестартирате услугата fail2ban:
systemctl restart fail2ban

Анализ на работата на fail2ban

По време на работа fail2ban записва цялата информация в системния дневник (log файл) /var/log/fail2ban.log.

По-долу ще изброя няколко полезни команди за анализ.

Списък на всички блокирани IP адреси:
fail2ban-client bannedПолучаване на джайл, на който IP е блокиран:
fail2ban-client banned 1.2.3.4Списък на всички блокирани IP адреси от джайла sshd:
fail2ban-client get sshd bannedЗа други опции за анализиране или управление на fail2ban вижте изхода на командата:
fail2ban-client -hПо подразбиране fail2ban блокира използването на iptables. Ако желаете, можете да го конфигурирате отново за ipset, което е за предпочитане при големи списъци с блокиращи елементи.

Можете да проверите списъка с блокирани IP адреси в джайла sshd в защитната стена с командата:
iptables -nL f2b-sshd

Заключение

Конфигурирането на Fail2ban в Дебиан или Убунту е един от най-лесните и ефективни начини за повишаване на сигурността на вашия сървър. Можете да я използвате, за да защитите услугите си от много заплахи. Надявам се, че опитът и съветите ми ще ви помогнат при конфигурирането и използването на Fail2ban. Не забравяйте да проверявате редовно логовете и да конфигурирате правилата в зависимост от заплахите. Защитата на вашия сървър е постоянен процес и Fail2ban ще бъде ваш надежден съюзник в това начинание.
19 Jan 2025, 19:16:30