Fail2ban: защита VPS от брутфорс-атак

Безопасность · 20.04.2025
Fail2ban: защита VPS от брутфорс-атак

Каждый публичный VPS ежедневно подвергается тысячам попыток подбора паролей SSH. Fail2ban анализирует логи и автоматически блокирует атакующие IP-адреса.

Установка Fail2ban

sudo apt update
sudo apt install -y fail2ban

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Настройка защиты SSH

Создайте локальный конфиг (не редактируйте jail.conf — он перезатирается при обновлениях):

sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5
ignoreip = 127.0.0.1/8 ВАШ_ДОМАШНИЙ_IP

[sshd]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3
bantime  = 86400
sudo systemctl restart fail2ban

Основные команды

# Статус всех тюрем
sudo fail2ban-client status

# Статус SSH-тюрьмы
sudo fail2ban-client status sshd

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

# Посмотреть заблокированные IP
sudo iptables -L f2b-sshd -n --line-numbers

Защита Nginx от DDoS и сканирования

# Добавить в jail.local:
[nginx-http-auth]
enabled  = true
logpath  = /var/log/nginx/error.log

[nginx-botsearch]
enabled  = true
logpath  = /var/log/nginx/access.log
maxretry = 2
Смените порт SSH с 22 на нестандартный (например, 2222) в /etc/ssh/sshd_config — это снизит количество атак на 95%.
⚠️ Перед сменой порта SSH обязательно откройте новый порт в UFW: sudo ufw allow 2222/tcp
← Назад в базу знаний Задать вопрос поддержке