opened image

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

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

 

  • Обновите Ubuntu

Откройте терминал и выполните следующие команды для обновления системы Ubuntu.

sudo apt-get update 
sudo apt-get upgrade

 

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

Выполните следующую команду для установки fail2ban.

sudo apt-get install -y fail2ban

 

  • Активируйте Fail2ban

Запустите и включите fail2ban с помощью следующих команд

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

 

 

Вы можете проверить статус fail2ban с помощью следующей команды

 sudo systemctl status fail2ban

 

 

  • Настройка Fail2ban

Существуют 4 конфигурационных файла, доступных для fail2ban. Она читает эти файлы в следующем порядке:

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

 

Обычно люди копируют стандартный jail.conf в jail.local и обновляют его.

Мы скопируем файл jail.conf, как показано ниже:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

 

Откройте jail.local с помощью текстового редактора

sudo vim /etc/fail2ban/jail.local

В этом файле вы найдете разные разделы, каждый из которых хорошо прокомментирован о том, что он делает.

 

Мы рассмотрим некоторые основные настройки:

  • ipignore – используется для блокировки IP-адресов и диапазонов. Чтобы заблокировать один или несколько IP-адресов, раскомментируйте строку, начинающуюся с ipignore, и добавьте IP-адреса через запятую. Вот пример.

ipignore = 127.0.0.1/8 ::1 23.23.23.23 192.125.1.0/24
  • bantime – продолжительность блокировки. Значение по умолчанию - 10 минут. Вот пример, чтобы установить его на 1 день.

bantime = 1d
  • findtime – продолжительность, в течение которой должно произойти указанное количество сбоев или атак. Если вы настроили fail2ban на блокировку IP после 3 сбоев, то они должны произойти в течение значения findtime. Вот пример

findtime = 10m
  • maxretry – максимальное количество сбоев до блокировки IP. Например,

maxretry = 5

 

 

Тестирование и снятие блокировки с IP-адреса

Попробуйте войти на свой сервер через SSH и проваливайте все попытки, вводя неверные учетные данные. После третьей попытки вы не сможете войти на свой сервер через SSH.

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

 

Снятие блокировки с IP-адреса (например, 125.124.221.121)

sudo fail2ban-client set sshd unbanip 125.124.221.121

 

Если после этой команды Вы наблюдаете такую ошибку fail2ban [7825]: ERROR   NOK: ('sshd',), Sorry but the jail 'sshd' does not exist - то это говорит о том что Fail2ban не может найти конфигурацию с названием 'sshd'. "jail" в Fail2ban представляют собой наборы правил для различных сервисов, которые Fail2ban должен мониторить, такие как ssh, apache и другие.

 

 

Сначала вам необходимо проверить конфигурационный файл Fail2ban (обычно это '/etc/fail2ban/jail.conf' или '/etc/fail2ban/jail.local') и убедиться, что в нем есть секция для 'sshd'. Это должно выглядеть примерно так:

[sshd]
enabled  = true
port     = ssh
logpath  = %(sshd_log)s
backend  = %(sshd_backend)s

 

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

sudo systemctl restart fail2ban

 

Теперь команда для блокировки IP-адреса должна работать без ошибок.

 

Блокировка IP-адреса (например, 125.124.221.121)

sudo fail2ban-client set sshd banip 125.124.221.121

 

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

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

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

 

Также предлагаем рассмотреть другие полезные статьи: