Введение
Любые службы, открытые для сети, могут стать потенциальной целью. Мы можем легко заметить многочисленные незапланированные попытки подключения, читая файлы журнала нашего сервера.
Fail2ban — это инструмент, который может помочь нам отслеживать и блокировать все несанкционированные подключения к нашему серверу.
Fail2ban при необходимости автоматически изменяет конфигурацию брандмауэра IPtables, чтобы блокировать неавторизованные IP-адреса.
В этом руководстве мы покажем вам, как установить и использовать Fail2ban на сервере Ubuntu 18.10.
Если вы намерены установить Fail2ban на удаленный сервер, продолжайте читать, в противном случае, если вы хотите установить Fail2ban на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.
Чтобы подключиться к серверу как root, введите эту команду:
ssh root@IP_DEL_SERVER
Далее вам будет предложено ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить первый параметр:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Теперь вы подключены к своему серверу, вы готовы начать установку Fail2ban.
Установить Fail2ban
Fail2ban доступен в стандартных репозиториях Ubuntu, поэтому его можно легко установить через apt:
sudo apt update
sudo apt install fail2ban
Мы можем найти файлы конфигурации Fail2ban в каталоге /etc/fail2ban. Основной файл для изменения — jail.conf.
jail.conf может быть перезаписан обновлениями пакета, поэтому я рекомендую сделать копию этого файла, которую мы назовем jail.local, это перезапишет исходный файл. Таким образом, у нас не будет проблем даже после обновления пакета Fail2ban.
Основной раздел jail.conf (jail.local, наша копия) называется [DEFAULT]. Затем мы находим различные разделы отдельных служб, таких как [sshd].
Давайте создадим наш файл jail.local из терминала:
sudo nano /etc/fail2ban/jail.local
Вставляем следующий текст:
[DEFAULT]
# Ban hosts for one hour:
bantime = 3600
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true
Сохраните и закройте файл.
Мы установили новый час бана по умолчанию для всех сервисов.
Теперь мы можем перезапустить службу Fail2ban с помощью systemctl:
sudo systemctl restart fail2ban
Чтобы проверить статус Fail2ban:
sudo fail2ban-client status
Для получения более подробной информации, такой как список запрещенных IP-адресов, введите следующую команду:
sudo fail2ban-client status sshd
Чтобы отслеживать последние действия Fail2ban:
sudo tail -F /var/log/fail2ban.log
Конфигурация
Вот несколько советов по настройке Fail2ban.
Давайте снова откроем файл jail.local:
sudo nano /etc/fail2ban/jail.local
В разделе [ПО УМОЛЧАНИЮ], если мы хотим получать уведомления по электронной почте от Fail2ban, добавьте следующие элементы:
destemail = [email protected]
action = %(action_mwl)s
Мы можем добавить постоянный IP-адрес, например, нашего компьютера, чтобы игнорировать, чтобы никогда не блокироваться:
ignoreip = MIO_IP
По умолчанию для ssh -соединений используется порт 22. Если вы используете другой порт, вам необходимо изменить конфигурацию:
В секции [sshd] под enabled=true добавляем порт:
port = LA_TUA_PORTA
Давайте добавим путь к файлу журнала, который мы собираемся использовать:
logpath = /var/log/auth.log
Мы можем изменить количество попыток входа до бана:
maxretry = 3
Резюме:
[DEFAULT]
# Ban hosts for one hour:
bantime = 3600
destemail = [email protected]
action = %(action_mwl)s
ignoreip = MIO_IP
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true
port = LA_TUA_PORTA
logpath = /var/log/auth.log
maxretry = 3
Если вы хотите установить постоянный бан, измените значение параметра bantime на -1:
...
bantime = -1...
Сохраните и закройте файл.
Перезапустите Fail2ban:
sudo service fail2ban restart
Чтобы проверить статус Fail2ban:
sudo fail2ban-client status
Блокировка IP-адреса
Чтобы разблокировать IP-адрес вручную, введите в терминале следующую команду:
fail2ban-client set sshd unbanip INDIRIZZO_IP
Вывод
Установка и настройка Fail2ban на Ubuntu 18.10 завершена.