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 должен использоваться в сочетании с другими мерами безопасности, такими как сильные пароли, обновление системы и мониторинг активности, для обеспечения максимальной защиты.