Как установить и настроить Fail2Ban Печать

  • Fail2Ban, система защиты, protection system, защита, protection, безопасность, security, взлом, доступ, hacking, access
  • 0

Fail2Ban — это система защиты сервера от автоматизированных атак и попыток подбора паролей. Она анализирует журналы системы и автоматически блокирует IP-адреса, с которых выполняются подозрительные действия, такие как многократные неудачные попытки входа по SSH.

Fail2Ban рекомендуется устанавливать на любой VPS или выделенный сервер, доступный из интернета.

В данной инструкции рассмотрена настройка Fail2Ban на Ubuntu, Debian и других Linux-дистрибутивах.

Что потребуется

Перед началом убедитесь, что у вас есть:

  • VPS или выделенный сервер с Linux;
  • Root-доступ к серверу;
  • SSH-доступ к серверу;
  • Обновленная операционная система.

Шаг 1. Обновление системы

Обновите систему перед установкой:

apt update && apt upgrade -y

Шаг 2. Установка Fail2Ban

Установите пакет Fail2Ban:

apt install fail2ban -y

Проверьте успешность установки:

fail2ban-client --version

Шаг 3. Проверка работы службы

Проверьте состояние сервиса:

systemctl status fail2ban

Если служба не запущена, выполните:

systemctl enable fail2ban
systemctl start fail2ban

Шаг 4. Создание локальной конфигурации

Не рекомендуется изменять файл:

/etc/fail2ban/jail.conf

Создайте локальный файл настроек:

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

Откройте его для редактирования:

nano /etc/fail2ban/jail.local

Шаг 5. Настройка защиты SSH

Найдите раздел:

[sshd]

Убедитесь, что он содержит следующие параметры:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = %(sshd_log)s
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h

Описание параметров:

  • maxretry — количество неудачных попыток входа;
  • findtime — период, в течение которого подсчитываются ошибки;
  • bantime — срок блокировки IP-адреса.

В данном примере IP будет заблокирован на 1 час после 5 неудачных попыток входа за 10 минут.

Шаг 6. Добавление доверенных IP-адресов

Чтобы избежать случайной блокировки собственного IP, укажите его в параметре:

ignoreip = 127.0.0.1/8 YOUR_IP

Пример:

ignoreip = 127.0.0.1/8 192.168.1.100

Можно указать несколько адресов через пробел.

Шаг 7. Перезапуск Fail2Ban

После внесения изменений перезапустите службу:

systemctl restart fail2ban

Проверьте статус:

systemctl status fail2ban

Шаг 8. Проверка активных правил

Посмотреть список активных фильтров:

fail2ban-client status

Пример вывода:

Status
|- Number of jail: 1
`- Jail list: sshd

Посмотреть заблокированные IP:

fail2ban-client status sshd

Пример:

Banned IP list: 192.168.1.50

Шаг 9. Разблокировка IP-адреса

Для удаления IP из блокировки:

fail2ban-client set sshd unbanip IP_ADDRESS

Пример:

fail2ban-client set sshd unbanip 192.168.1.50

Шаг 10. Просмотр журналов

Проверить журнал Fail2Ban:

journalctl -u fail2ban

Для просмотра новых событий в реальном времени:

journalctl -u fail2ban -f

Дополнительная защита веб-сервера

Fail2Ban может защищать:

  • SSH;
  • Nginx;
  • Apache;
  • FTP-серверы;
  • Почтовые серверы;
  • WordPress;
  • Панели управления сервером.

Список доступных фильтров:

ls /etc/fail2ban/filter.d/

Частые ошибки

Jail не отображается в статусе

Проверьте конфигурацию:

fail2ban-client -d

Fail2Ban не блокирует IP

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

Заблокирован собственный IP

Подключитесь через консоль VPS и выполните:

fail2ban-client set sshd unbanip YOUR_IP

После этого добавьте IP в параметр ignoreip.

Fail2Ban не запускается

Проверьте журнал ошибок:

journalctl -xeu fail2ban

Рекомендации по безопасности

  • Используйте SSH-аутентификацию по ключу.
  • Отключите вход по паролю.
  • Измените стандартный SSH-порт.
  • Настройте Firewall.
  • Регулярно обновляйте систему.
  • Добавьте собственный IP в список исключений.

Fail2Ban является одним из самых эффективных и простых способов защиты VPS от автоматических атак и должен использоваться практически на каждом сервере, доступном из интернета.


Помог ли вам данный ответ?

« Назад