Простий і гарний захист сервера завдяки fail2ban
- Олександр Мойсеюк
- Лінукс та сервер
- Переглядів: 1388
-
Бот не про̖де =) -
Розповім про найпопулярніший інструмент блокування перебору паролів в SSH, *NIX-системах та ін.. Основний принцип роботи - це перевірка логів на предмет неправильних авторизацій і блокування ІР при досягненні певної кількості.
Отже, поїхали! Встановлення:
aptitude install fail2ban
Основна конфігурація сервісу знаходиться тут, але там майже нічого налаштовувати. Тому в більшості випадків відкривати немає потреби.
nano /etc/fail2ban/fail2ban.conf
Шаблони налаштувань для різних сервісів за шляхом:
nano /etc/fail2ban/jail.conf
знаходимо необхідні, копіюємо, створюємо файл jail.local:
nano /etc/fail2ban/jail.local
і наповнюємо його потрібним вмістом. Файл має більший пріоритет ніж jail.conf, рекомендується редагувати саме його. У вас можу вийти щось схоже:
[DEFAULT] ## Постійна IP-адреса. ## Щоб не створювати дірку в безпеці ## рекомендується перепризначити параметр тут, ## або закоментувати стандартний в jail.conf. ignoreip = 43.173.32.11 [ssh] ## якщо протягом однієї години: findtime = 3600 ## виконано 6 невдалих спроб авторизації: maxretry = 6 ## то блокувати IP на 24 години: bantime = 86400 ## порт, якщо нестандартний port = ssh 9876 [nginx-http-auth] enabled = true filter = nginx-http-auth port = http,https logpath = /path/to/your/logs/nginx-error.log [vsftpd] enabled = true port = ftp,ftp-data,ftps,ftps-data filter = vsftpd logpath = /var/log/vsftpd.log maxretry = 6
Для застосування нових налаштувань перезавантажуємо сервіс
/etc/init.d/fail2ban restart
І щоб перевірити чи все гаразд виконаємо:
iptables -L
Виведення нам покаже список зробленого
Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-vsftpd tcp -- anywhere anywhere multiport dports ftp,ftp-data,ftps,ftps-data fail2ban-nginx-http-auth tcp -- anywhere anywhere multiport dports http,https Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain fail2ban-nginx-http-auth (1 references) target prot opt source destination RETURN all -- anywhere anywhere Chain fail2ban-ssh (0 references) target prot opt source destination RETURN all -- anywhere anywhere Chain fail2ban-vsftpd (1 references) target prot opt source destination RETURN all -- anywhere anywhere
Для більшості випадків цього досить. Додатково хто бажає може заглянути в офіційну вікі документацію.