Как установить и настроить Fail2ban в Debian 10

12 set 2022 4 min di lettura
Как установить и настроить Fail2ban в Debian 10
Indice dei contenuti

Введение

Все серверы, доступные из Интернета, подвержены риску атак вредоносных программ. Например, если у вас есть приложение, доступное из общедоступной сети, злоумышленники могут использовать попытки грубой силы, чтобы получить доступ к приложению.

Fail2ban — это инструмент, который помогает защитить ваш Linux-компьютер от грубой силы и других автоматизированных атак, отслеживая журналы служб на предмет вредоносной активности. Используйте регулярные выражения для сканирования файлов журналов. Все записи, соответствующие шаблонам, подсчитываются, и когда их количество достигает определенного предопределенного порога, Fail2ban блокирует нарушающий IP-адрес с помощью системного брандмауэра на определенный период времени. По истечении срока блокировки IP-адрес удаляется из списка банов.

В этой статье объясняется, как установить и настроить Fail2ban в Debian 10.

Если вы хотите установить Fail2ban на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установите Fail2ban на Debian

Пакет Fail2ban включен в репозитории Debian 10 по умолчанию. Чтобы установить его, выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo:

sudo apt update
sudo apt install fail2ban

После завершения служба Fail2ban будет запущена автоматически. Вы можете проверить это, проверив статус службы:

sudo systemctl status fail2ban

Вывод будет выглядеть следующим образом:

● fail2ban.service - Fail2Ban Service
 Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
 Active: active (running) since Wed 2021-03-10 13:11:21 UTC; 45s ago...

Это все. На данный момент у вас есть Fail2Ban, работающий на вашем сервере Debian.

Настроить Fail2ban

Установка Fail2ban по умолчанию поставляется с двумя файлами конфигурации /etc/fail2ban/jail.conf и /etc/fail2ban/jail.d/defaults-debian.conf. Не изменяйте эти файлы, так как они могут быть перезаписаны при обновлении пакета.

Fail2ban читает файлы конфигурации в следующем порядке. Каждый файл .local переопределяет настройки файла .conf:

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

Самый простой способ настроить Fail2ban — скопировать содержимое файла jail.conf в jail.local и отредактировать файл .local. Более опытные пользователи могут создать файл конфигурации .local с нуля. Файл .local не обязательно должен включать все настройки соответствующего файла .conf, а только те, которые вы хотите переопределить.

Создайте файл конфигурации .local, скопировав файл jail.conf по умолчанию:

sudo cp /etc/fail2ban/jail.{conf,local}

Чтобы начать настройку сервера Fail2ban, откройте файл jail.local в текстовом редакторе:

sudo nano /etc/fail2ban/jail.local

Файл включает комментарии, описывающие, что делает каждый параметр конфигурации. В этом примере мы изменим основные настройки.

Белый список IP-адресов

Вы можете добавить IP-адреса, диапазоны IP-адресов или хосты, которые вы хотите исключить из бана, в директиву ignoreip. Здесь вы должны добавить свой локальный IP-адрес ПК и любые другие машины, которые вы хотите добавить в белый список.

Раскомментируйте строку, начинающуюся с ignoreip и добавьте свои IP-адреса через пробел:

ignoreip = 127.0.0.1/8::1 123.123.123.123 192.168.1.0/24
/etc/fail2ban/jail.local

Установить запрет

Параметры bantime, findtime и maxretry позволяют вам установить время бана и условия бана.

bantime — время, на которое блокируется IP-адрес. Когда суффикс не указан, по умолчанию используются секунды. По умолчанию время bantime установлено на 10 минут. Большинство пользователей предпочитают устанавливать более длительный период бана. Измените значение на свое усмотрение:

bantime = 1d
/etc/fail2ban/jail.local

Чтобы навсегда заблокировать IP, используйте отрицательное число.

findtime — это продолжительность между количеством ошибок до установки бана. Например, если Fail2ban настроен на исключение IP-адреса после пяти ошибок ( maxretry, см. ниже), эти ошибки должны произойти в течение времени findtime.

findtime = 10m
/etc/fail2ban/jail.local

maxretry — количество ошибок до того, как IP-адрес будет забанен. По умолчанию установлено значение пять, что должно подойти большинству пользователей.

maxretry = 5
/etc/fail2ban/jail.local

Уведомить по электронной почте

Fail2ban может отправлять оповещения по электронной почте, когда IP-адрес был заблокирован. Чтобы получать электронные письма, вам необходимо установить SMTP на вашем сервере и изменить действие по умолчанию, которое запрещает только IP %(action_mw)s, как показано ниже:

action = %(action_mw)s
/etc/fail2ban/jail.local

%(action_mw)s нарушающий IP-адрес и отправляет электронное письмо с отчетом whois. Если вы хотите включить соответствующие журналы в электронное письмо, установите действие %(action_mwl)s.

Вы также можете изменить адреса отправки и получения электронной почты:

destemail = [email protected]

 sender = [email protected]
/etc/fail2ban/jail.local

Fail2ban тюрьмы

Fail2ban использует концепцию тюрьмы. Тюрьма описывает службу и включает в себя фильтры и действия. Записи журнала, соответствующие шаблону поиска, подсчитываются, и при выполнении предопределенного условия выполняются соответствующие действия.

Fail2ban поставляется с несколькими джейлами для разных сервисов. Вы также можете создавать свои собственные конфигурации тюрьмы. По умолчанию включена только тюрьма ssh.

Чтобы включить джейл, вам нужно добавить enable enabled = true после названия джейла. В следующем примере показано, как включить постфиксную тюрьму:

[postfix]
 enabled = true
 port = smtp,ssmtp
 filter = postfix
 logpath = /var/log/mail.log
/etc/fail2ban/jail.local

Настройки, которые мы обсуждали в предыдущем разделе, могут быть установлены для каждой тюрьмы. Вот пример:

[sshd]
 enabled = true
 maxretry = 3
 findtime = 1d
 bantime = 4w
 ignoreip = 127.0.0.1/8 11.22.33.44
/etc/fail2ban/jail.local

Фильтры находятся в каталоге /etc/fail2ban/filter.d, хранящемся в файле с тем же именем, что и джейл. Если у вас есть индивидуальная настройка и вы имеете опыт работы с регулярными выражениями, вы можете точно настроить фильтры.

Всякий раз, когда файл конфигурации изменяется, служба Fail2ban должна быть перезапущена, чтобы изменения вступили в силу:

sudo systemctl restart fail2ban

Fail2ban клиент

Fail2ban поставляется с инструментом командной строки под названием fail2ban-client, который вы можете использовать для взаимодействия со службой Fail2ban.

Чтобы просмотреть все доступные параметры, вызовите команду с параметром -h:

fail2ban-client -h

Этот инструмент можно использовать для бана/разблокировки (бана и разбана) IP-адресов, изменения настроек, перезапуска службы и многого другого. Некоторые примеры:

Получить текущий статус сервера:

sudo fail2ban-client status

Проверить состояние тюрьмы:

sudo fail2ban-client status sshd

Разблокировать IP:

sudo fail2ban-client set sshd unbanip 11.22.33.44

Заблокировать IP:

sudo fail2ban-client set sshd banip 11.22.33.44

Вывод

Мы показали вам, как установить и настроить Fail2ban в Debian 10.

Для получения дополнительной информации по этой теме посетите документацию Fail2ban.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.