mysurik.ru

Защита Alpine Linux от DDoS-атак с помощью fail2ban и mod_evasive

Введение в защиту от DDoS-атак

DDoS (Distributed Denial of Service) атаки представляют собой серьезную угрозу для любых серверов, включая Alpine Linux. Они направлены на перегрузку системы трафиком, что приводит к недоступности ресурсов для законных пользователей. В этой статье мы рассмотрим два основных инструмента для защиты от таких атак: fail2ban и mod_evasive.

Что такое fail2ban?

fail2ban — это инструмент, который анализирует логи системы и блокирует IP-адреса, которые демонстрируют подозрительную активность. Он эффективен против атак, таких как brute-force (перебор паролей) или сканирование портов.

Установка fail2ban на Alpine Linux

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

apk add fail2ban
rc-update add fail2ban default
service fail2ban start

Настройка fail2ban

Основная конфигурация fail2ban находится в файле /etc/fail2ban/jail.local. Создайте этот файл и настройте его под свои нужды:

touch /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

Добавьте следующий минимальный конфиг:


[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3

Здесь мы настраиваем блокировку для SSH-сервера. Вы можете добавить другие фильтры, такие как apache-badbots или nginx-botscrapers, в зависимости от ваших нужд.

Что такое mod_evasive?

mod_evasive — это модуль для Apache, который защищает сервер от DDoS-атак на уровне HTTP. Он блокирует IP-адреса, которые отправляют слишком много запросов за короткий промежуток времени.

Установка mod_evasive

Если вы используете Apache, установите mod_evasive следующим образом:

apk add apache2-mod-evasive
rc-update add apache2 default
service apache2 start

Настройка mod_evasive

Конфигурация mod_evasive находится в файле /etc/apache2/mods-available/evasive.conf. Откройте его и настройте параметры:


# ДОС (Denial of Service) protection

  DOSHashTableSize 3097
  DOSPageCount 2
  DOSSiteCount 50
  DOSPageInterval 1
  DOSSiteInterval 1
  DOSBlockingPeriod 10

  # Дополнительные настройки (опционально)
  DOSLogDir "/var/log/evasive"

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

Проверка работы защиты

Для проверки эффективности настроенной защиты вы можете использовать инструменты, такие как stress-ng, для симуляции DDoS-атак:

apk add stress-ng
stress-ng --http-cli 192.168.1.100 --http-cli-uri / --http-cli-rate 1000 --http-cli-methods GET,POST --http-cli-data 1024 --http-cli-keepalive --timeout 30s

Эта команда отправит 1000 HTTP-запросов в секунду на ваш сервер. Если защита настроена правильно, IP-адрес, с которого идут атаки, должен быть заблокирован.

Логирование и мониторинг

Для эффективного управления защитой важно следить за логами fail2ban и mod_evasive. Логи fail2ban находятся в /var/log/fail2ban.log, а логи mod_evasive — в /var/log/evasive/. Регулярно проверяйте эти файлы на наличие подозрительной активности.

Заключение

Защита от DDoS-атак — это комплексная задача, которая требует постоянного мониторинга и настройки. Инструменты, такие как fail2ban и mod_evasive, значительно упрощают эту задачу, но не заменяют полноценную систему безопасности. Регулярно обновляйте ваши инструменты и следите за новыми угрозами, чтобы обеспечить максимальную защиту вашего сервера.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *