Конфигуриране на Fail2ban в Debian/Ubuntu
В днешния свят на киберзаплахи сигурността на сървърите се превръща в приоритет за всеки администратор. Един от най-ефективните инструменти за защита на вашия сървър е Fail2ban. В тази статия ще споделя опита си в конфигурирането на Fail2ban в системите Debian и Ubuntu, както и ще предложа практически съвети и препоръки.Какво е Fail2ban?
Fail2ban е софтуер, който следи логовете на сървъра и блокира IP адреси, които показват подозрителна активност. Например, ако някой се опитва многократно да отгатне паролата за SSH, Fail2ban автоматично ще блокира този IP адрес за определен период от време. Това ви позволява да защитите сървъра си от brute force атаки и други видове злонамерена дейност.Защо да използваме Fail2ban?
- Защита срещу brute-force атаки: Fail2ban ефективно защитава вашите услуги, като SSH, FTP и уеб сървъри, от атаки с груба сила на паролата.
- Лесно персонализиране: Конфигурирането на Fail2ban не изисква задълбочени технически познания и може да бъде извършено дори от начинаещ администратор.
- Гъвкавост: Можете да конфигурирате 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 - време за блокиране в секунди
За Дебиан 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 sshd
Стъпка 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.confignoreip = 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