TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #4832 1K
👎 Автоматическая блокировка нежелательных подключений

Любой публичный сервер рано или поздно начинает получать тысячи попыток подбора паролей. SSH, веб-панели, почтовые серверы — всё это регулярно атакуют боты. Вручную отслеживать такие попытки и добавлять IP в блокировку нереально. Fail2Ban решает именно эту задачу.

Что делает

Fail2Ban это демон, который читает лог-файлы и временно блокирует IP-адреса, с которых зафиксировано слишком много ошибок аутентификации. Блокировка происходит через правила файрвола (iptables, nftables и другие). После истечения времени бана IP автоматически разблокируется.

Из коробки поддерживаются логи SSH, Apache, Nginx, Postfix и многих других сервисов. Можно подключить любой лог-файл с произвольным форматом.

Установка

На большинстве дистрибутивов пакет уже есть в репозитории:
# Debian/Ubuntu
sudo apt install fail2ban

# RHEL/CentOS
sudo dnf install fail2ban


После установки проверяем, что всё работает:
fail2ban-client -h
fail2ban-client version


Как это настраивается


Конфигурация хранится в /etc/fail2ban. Основной файл — jail.conf, но менять его напрямую не стоит. Вместо этого создаём /etc/fail2ban/jail.local и переопределяем нужные параметры.

Пример минимальной конфигурации для защиты SSH:

[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600


maxretry — сколько неудачных попыток допускается за период findtime (в секундах). Если их больше, IP блокируется на bantime секунд.

В данном примере пять ошибок за 10 минут приведут к блокировке на час.

Управление банами

Посмотреть активные джейлы и заблокированные IP:
sudo fail2ban-client status
sudo fail2ban-client status sshd


Разблокировать IP вручную:
sudo fail2ban-client set sshd unbanip 1.2.3.4


Fail2Ban снижает нагрузку от перебора, но не заменяет нормальную аутентификацию.

Если сервис работает на паролях, лучше перейти на ключи или двухфакторку. Fail2Ban при этом остаётся полезным дополнительным слоем защиты.

➡️ Репозиторий

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
  • ❤ 4
More from @devopsslib
  1. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Sep 15, 2026👩‍💻 Bash-скрипт для мониторинга сервисов Полноценный мониторинг вроде Zabbix или Prometh…
  4. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  5. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 10, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →