Главная причина компрометации серверов «ВебПроект» — непатченные CVE. Администраторы обновляли серверы вручную раз в 2-3 месяца. Настраиваем автоматические обновления безопасности:
apt install -y unattended-upgrades apt-listchanges
# Включаем автоматику
dpkg-reconfigure -plow unattended-upgrades
Конфигурация /etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
// Автоматически перезагружаться при обновлении ядра (в 4 утра)
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
// Отправлять отчёт на почту
Unattended-Upgrade::Mail "admin@webproekt.ru";
Unattended-Upgrade::MailReport "on-change";
// Удалять неиспользуемые зависимости
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Fail2ban — второй рубеж обороны. Устанавливаем и настраиваем для SSH и Nginx:
apt install -y fail2ban
# /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3
banaction = nftables-multiport
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 86400
[nginx-botsearch]
enabled = true
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 5
[nginx-badbots]
enabled = true
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 2
bantime = 604800
systemctl enable --now fail2ban
fail2ban-client status
За первую неделю после внедрения fail2ban заблокировал 2 400 уникальных IP-адресов на SSH и 850 — на веб-атаках. Количество попыток брутфорса сократилось с 15 000 до 200 в сутки.
Оставить комментарий