Поиск по сайту:
Что такое воля, как не мысль, переходящая в дело! (А. Бестужев-Марлинский).

Как установить и настроить Fail2ban в Ubuntu 20.04

06.09.2020
Установка Fail2ban на CentOS

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

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

В этой статье описывается, как установить и настроить Fail2ban в Ubuntu 20.04.

 

Установка Fail2ban на Ubuntu

Пакет Fail2ban включен в репозитории Ubuntu 20.04 по умолчанию. Чтобы установить его, введите следующую команду от имени пользователя 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 2020-08-19 06:16:29 UTC; 27s ago
       Docs: man:fail2ban(1)
   Main PID: 1251 (f2b/server)
      Tasks: 5 (limit: 1079)
     Memory: 13.8M
     CGroup: /system.slice/fail2ban.service
             └─1251 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

 

Вот и все. На этом этапе у вас есть Fail2Ban, работающий на вашем сервере Ubuntu.

 

Конфигурация Fail2ban

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

Читать  Как отслеживать журналы в kubectl

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 cp /etc/fail2ban/jail.local

 

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

 

Добавить IP-адреса в белый список

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

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

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

 

Настройки бана

Варианты значения bantime, findtime и maxretry определения времени запрета и условия запрета.

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

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

 

Читать  Как настроить виртуальные хосты Apache в Ubuntu 20.04

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

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

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

 

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

/etc/fail2ban/jail.local
maxretry = 5

 

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

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

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

 

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

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

/etc/fail2ban/jail.local
destemail = admin@andreyex.ru

sender = root@andreyex.ru

 

Тюрьмы Fail2ban

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

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

По умолчанию включен только ssh jail. Для включения jail вам нужно добавить enabled = true после заголовка jail. В следующем примере показано, как включить jail в proftpd:

/etc/fail2ban/jail.local
[proftpd]

port     = ftp,ftp-data,ftps,ftps-data
logpath  = %(proftpd_log)s
backend  = %(proftpd_backend)s

 

Читать  Linux переименовать файл, начинающийся с дефиса (тире)

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

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

 

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

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

sudo systemctl restart fail2ban

 

Клиент Fail2ban

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

Для просмотра всех доступных опций вызовите команду с опцией -h:

fail2ban-client -h

 

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

  • Проверьте статус тюрьмы:
    sudo fail2ban-client status sshd
  • Разбанить IP:
    sudo fail2ban-client set sshd unbanip 23.34.45.56
  • Запретить IP:
    sudo fail2ban-client set sshd banip 23.34.45.56

 

Вывод

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

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

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Хан

Отличная статья.

Игорян-быкан

согласен

lox

lox pidr

Это может быть вам интересно


Рекомендуемое
Теперь вы можете использовать все навыки bash, которые вы изучили…

Спасибо!

Теперь редакторы в курсе.