Як встановити Fail2ban на сервер Ubuntu 18.04

Покращувати Безпека сервера Ubuntu за рахунок додавання системи виявлення вторгнення. Для цього ви, ймовірно, захочете звернутися до Fail2ban. Fail2ban відстежує певні файли журналів (знаходяться в /var/log каталог) для невдалих спроб входу або автоматизованих атак. Коли Fail2ban виявляє спробу компромісу з IP-адреси, він блокує IP-адресу (додаючи новий ланцюжок до системи безпеки iptables) від доступу до сервера.

Щоб встановити Fail2ban, вам потрібен доступ до оболонки будь-якої підтримуваної версії Ubuntu Server з обліковим записом, який має привілеї sudo, що дозволяє встановлювати нові пакети програмного забезпечення.

rv-замки
Іраклі/Абашидзе/EyeEm/Getty Images

Як встановити Fail2ban

Встановіть Fail2ban за допомогою Apt. Найкраще виконати інсталяцію на щойно оновленій серверній платформі, і якщо версія ядра оновиться, перезавантажте сервер перед встановленням Fail2ban.

Після завершення інсталяції запустіть і ввімкніть Fail2ban за допомогою двох наступних команд:

sudo systemctl start fail2ban
sudo systemctl увімкнути fail2ban.

Fail2ban зараз працює в системі і готовий до налаштування.

Налаштувати Fail2ban

Fail2ban налаштовується за допомогою jails. В’язниця визначає, як служба контролює і як швидко вживати заходів проти атак.

Зі коробки система вже безпечна. Однак він також дуже гнучкий. Основний конфігураційний файл /etc/fail2ban/jail.conf. Не редагуйте цей файл. Замість цього створіть новий файл із розширенням .local. Fail2ban завжди спочатку читає файли .conf, а потім – файли .local. Будь-яка конфігурація, прочитана у файлі .local, замінить подібні конфігурації у файлі .conf.

Приклад конфігурації

Скажімо, ви хочете створити спеціальну тюрму для демона Secure Shell, яка:

  • Монітор /var/log/auth.log.
  • Використовуйте стандартний фільтр fail2ban sshd.
  • Встановіть порт SSH на 22.
  • Встановіть максимальну кількість повторів на 3.

Налаштування ssh у .local jail замінять будь-яку подібну конфігурацію, знайдену в основному файлі конфігурації, jail.conf (наприклад, максимальна спроба повторення за замовчуванням у jail.conf встановлена ​​на 5). З цією в’язницею на місці, якщо людина (або бот) зазнає невдачі Вхід по SSH спроба тричі, вихідний IP-адреса буде заборонено.

Щоб налаштувати це, виконайте команду:

sudo nano /etc/fail2ban/jail.local. 

У цей новий файл вставте такий вміст:

[sshd]
увімкнено = правда
порт = 22
фільтр = sshd
logpath = /var/log/auth.log
maxretry = 3.

Збережіть і закрийте файл, а потім перезапустіть Fail2ban за допомогою команди:

sudo systemctl перезапустити fail2ban. 

Тест Fail2ban

Щоб перевірити Fail2ban, перейдіть на іншу машину з іншою IP-адресою та почніть сеанс Secure Shell на сервері, кожен раз неправильно вводячи пароль користувача. Після третього невдалого входу цей обліковий запис користувача буде забанено.

Знімок екрана, на якому Fail2ban блокує IP-адресу.

Навіть якщо ви спробуєте повернутися на сервер по SSH з тієї ж IP-адреси, доступ все одно буде відмовлено.

Розблокуйте IP-адресу

Розблокуйте IP-адресу за допомогою команди fail2ban-client (яка встановлена ​​разом з fail2ban) таким чином:

sudo fail2ban-client набір sshd unbanip 192.168.1.100.