Установка и настройка Fail2ban в Ubuntu 20.04
Fail2ban — это утилита на основе Python, которая обеспечивает защиту от кибератак, таких как DDoS-атаки, бот-атаки, перебор и тому подобное. Это бесплатное приложение с открытым исходным кодом, которое можно использовать в системах POSIX, включающих локальный брандмауэр.
Подводя итог тому, как работает Fail2ban, можно сказать, что он активно выявляет признаки потенциальных злоупотреблений при проверке подлинности с помощью пароля, отфильтровывает IP-адреса и регулярно обновляет системный брандмауэр, чтобы заблокировать эти IP-адреса на определенный период.
Это краткое руководство покажет вам, как настроить Fail2ban в вашей системе Ubuntu 20.04.
Обновите официальный список пакетов
Мы будем получать fail2ban из официальных репозиториев Ubuntu. Запустите терминал и введите следующую команду, чтобы обновить список пакетов до последней доступной версии Fail2ban:
Установить Fail2ban
Затем введите следующую команду, чтобы установить обновленный пакет Fail2ban:
$ sudo apt install fail2ban
Служба fail2ban активируется и запустится сама по себе после установки.
Проверить установку
Тем не менее, вы должны проверить, правильно ли он был установлен. Запустите команду ниже, чтобы проверить установку:
$ sudo systemctl status fail2ban
Если строка Active в выводе содержит active (работает), все в порядке. Давайте двигаться дальше и посмотрим, как настроить Fail2ban.
Настройка Fail2ban в Ubuntu 20.04
Чтобы настроить Fail2ban в Ubuntu, мы отредактируем два конкретных файла конфигурации. Один из них называется jail.conf в папке /etc/fail2ban/, а другой называется defaults-debian.conf в папке /etc/fail2ban/jail.d. /. Но чтобы сохранить их целостность, мы не будем редактировать их напрямую, так как это потенциально может привести к поломке программы, и мы, безусловно, не сможем обновить программное обеспечение. Вместо этого мы делаем копии каждого и выполняем их редактирование.
Запустите команду ниже, чтобы скопировать и вставить файл jail.conf как файл jail.local:
$ sudo cp /etc/fail2ban/jail.{conf,local}
Мы обязуемся изменить этот конкретный файл в этом руководстве. Запустите копию в текстовом редакторе, чтобы начать редактирование. Выполните следующую команду:
$ sudo gedit /etc/fail2ban/jail.local
Посмотрим, какие изменения мы можем внести.
Настройка параметров бана IP
Время блокировки всех IP-адресов задается параметром bantime. Значение, установленное для bantime по умолчанию, составляет всего 10 минут. Вы можете изменить его значение на любое ограничение по времени, которое вы хотите наложить на забаненный. Например, чтобы установить время бана для всех заблокированных IP-адресов, вы можете установить его следующим образом:
Вы также можете сделать постоянные баны, назначив отрицательное значение.
Еще одна очень важная переменная — findtime. Он определяет допустимую продолжительность времени между последовательными попытками входа в систему. Если несколько попыток входа были предприняты в течение времени, определенного findtime, на IP будет установлен запрет.
Наконец, есть maxretry. Он определяет точное количество неудачных попыток входа в систему в течение время поиска. Если количество неудачных попыток авторизации в течение findtime превышает значение maxretry, IP-адресу будет запрещено повторно входить в систему. Значение по умолчанию — 5.
Fail2ban также позволяет вам предоставлять иммунитет к IP-адресам и диапазонам IP-адресов по вашему выбору. Эти условия, описанные выше, не будут применяться к этим IP-адресам, что, по сути, позволит вам создать своего рода белый список.
Чтобы добавить IP-адрес в этот белый список, измените строку ignoreip и введите IP-адрес для исключения:
# ignoreip = 127.0.0.1/8 ::1 222.222.222.222 192.168.55.0/24
Как администратор, вы должны прежде всего добавить свой IP-адрес в этот белый список.
Подведение итогов
В этом руководстве показано, как настроить Fail2ban в Ubuntu. Мы установили его прямо из стандартных репозиториев Ubuntu. Мы также рассмотрели, как мы можем настроить его и какими способами. Теперь вы должны знать, как установить условия бана и как исключить IP-адреса из бана.