📒  Доверие и безопасность

Как установить fail2ban и настроить Fail2ban на серверах Linux

Как установить fail2ban и настроить его в серверах Linux (ubuntu / debian) с помощью fail2ban conf и настроить его на ubuntu и установить fail2ban в вашем сервере.
Fail2ban может действительно защитить и помочь вашей безопасности в Linux серверов путем мониторинга для вредоносной деятельности и подозрительной деятельности в то время как он может запретить и заблокировать IP-адреса.
Важно знать, как установить fail2ban или правильно настроить fail2ban, чтобы он работал гладко и без каких-либо проблем на вашем сервере.

Требования:
Debian / Ubuntu
Другие Linux (команды конфигурации будут отличаться)

ПРИМЕЧАНИЕ: Вы не можете использовать fail2ban в Shared Hosting, вам нужно использовать в нашем VPS Hosting или Dedicated Servers от Alexhost – это лучшие услуги для его использования.

Что такое Fail2ban?

configure fail2ban

Fail2Ban – это приложение для разбора журналов, которое повышает безопасность серверов Linux, отслеживая файлы журналов на предмет вредоносной активности и автоматически принимая меры для запрета или блокировки IP-адресов, связанных с подозрительным поведением. Его основная задача – защита серверов от различных типов атак, особенно тех, которые связаны с попытками получить несанкционированный доступ методом грубой силы. Важно знать , как правильно установить fail2ban на свой сервер.

Вот как в целом работает Fail2Ban:

  1. Мониторинг лог-файлов: Fail2Ban непрерывно отслеживает указанные файлы журналов на предмет выявления шаблонов, указывающих на потенциальные угрозы безопасности. К таким файлам относятся журналы, связанные с попытками аутентификации, например /var/log/auth.log для SSH или /var/log/apache2/error.log для Apache.
  2. Правила фильтрации: Fail2Ban использует предопределенные или настроенные пользователем правила фильтрации для выявления определенных шаблонов в записях журнала. Эти шаблоны обычно указывают на неудачные попытки входа в систему, угадывание пароля или другие подозрительные действия.
  3. Соответствие шаблонов: Если запись журнала соответствует заранее определенному шаблону, Fail2Ban считает ее “неудачей” или “совпадением” Фильтры разработаны таким образом, чтобы распознавать общие шаблоны атак, например, повторяющиеся неудачные попытки входа в систему с одного и того же IP-адреса.
  4. Действия при запрете: После определенного количества совпадений (настраивается параметром maxretry) Fail2Ban предпринимает действия по блокировке IP-адреса нарушителя. Продолжительность запрета определяется настройкой bantime. Этот временный запрет помогает предотвратить автоматические атаки, затрудняя злоумышленникам доступ.
  5. Тюрьмы: Fail2Ban организует свои конфигурации мониторинга и запрета в блоки, называемые “тюрьмами” Каждая тюрьма соответствует определенной службе или набору служб. Например, может быть тюрьма для SSH, другая – для Apache и так далее. Конфигурация каждой тюрьмы, включая фильтры и настройки запрета, определяется в конфигурационных файлах Fail2Ban.
  6. Статус и взаимодействие: Системные администраторы могут проверять состояние Fail2Ban, просматривать запрещенные IP-адреса и вручную снимать запрет с адресов, если это необходимо. Fail2Ban также регистрирует свои действия, предоставляя администраторам историю запрещенных IP-адресов и соответствующих событий.

Автоматически запрещая IP-адреса, демонстрирующие вредоносное поведение, Fail2Ban помогает защитить серверы от атак методом перебора, подбора паролей и других угроз безопасности. Это ценный инструмент для повышения общего уровня безопасности Linux-сервера. Тем не менее, необходимо настроить Fail2Ban в соответствии с особенностями вашей среды и регулярно просматривать журналы, чтобы убедиться в его работоспособности.

### Шаг 1: Как установить Fail2Ban

Откройте терминал на вашем сервере Ubuntu или Debian и выполните следующие команды:

sudo apt update

sudo apt install fail2ban

### Шаг 2: Настройте Fail2Ban

  1. Создайте копию файла конфигурации по умолчанию:

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

  1. Откройте файл `jail.local` в текстовом редакторе. Вы можете использовать `nano` или `vim`:

sudo nano /etc/fail2ban/jail.local

  1. Настройте основные параметры в файле `jail.local`. Вот некоторые общие параметры:

bantime: Продолжительность (в секундах), на которую IP будет заблокирован. По умолчанию 10 минут (600 секунд).

findtime (время поиска): Временной интервал (в секундах), в течение которого должно произойти определенное количество отказов для запрета.

maxretry: Количество отказов, допустимое для запрета.

Пример:

[DEFAULT]

bantime = 600

время поиска = 600

maxretry = 3

4. Настройте фильтры для определенных сервисов, которые вы хотите отслеживать с помощью Fail2Ban. Фильтры определяются в файле `jail.local` в разделе `[<имя службы>]`. К распространенным сервисам относятся SSH (`sshd`), Apache (`apache`) и Nginx (`nginx`).

Пример для SSH:

[sshd]

включено = true

порт = ssh

фильтр = sshd

путь к журналу = /var/log/auth.log

maxretry = 5

Примечание: Убедитесь, что `port` и `logpath` соответствуют вашей конкретной конфигурации.

  1. Сохраните файл `jail.local` и выйдите из текстового редактора.

### Шаг 3: Перезапуск Fail2Ban

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

sudo systemctl restart fail2ban

### Шаг 4: Проверка состояния Fail2Ban

Вы можете проверить состояние Fail2Ban с помощью:

sudo fail2ban-client status

Это должно отобразить информацию о тюрьмах и их статусе.

### Шаг 5: Проверка Fail2Ban

Чтобы проверить, работает ли Fail2Ban, намеренно сгенерируйте несколько неудачных попыток входа в контролируемый сервис (например, SSH). После достижения указанного значения `maxretry`, Fail2Ban должен запретить соответствующий IP-адрес.

Не забудьте адаптировать эти инструкции в соответствии с конкретной конфигурацией системы и служб Ubuntu или Debian. Всегда учитывайте последствия ваших настроек для безопасности и регулярно просматривайте журналы на предмет неожиданного поведения.

Примечание: При настройке fail2ban на вашем сервере не блокируйте порт 22, если вы не уверены в том, что делаете, в этом случае вы заблокируете порт SSH по умолчанию.

Внимание: Fail2ban – это отличный инструмент для защиты ваших linux-серверов, но его нужно настраивать очень аккуратно. Чтобы не быть забаненным, внесите свой IP в белый список и другие IP, которые вы считаете важными. Использование fail2ban и его неправильная настройка может привести к потере соединения с вашим сервером, поэтому важно знать , как установить fail2ban на ваш сервер (Ubuntu, Debian, CentOS и т.д.).