Гид по технологиям

Блокировка спамеров и хакеров с mod_spamhaus в Apache2 (Debian Etch)

• 4 min read • Безопасность • Обновлено 28 Nov 2025
mod_spamhaus: блокировка спама в Apache2
mod_spamhaus: блокировка спама в Apache2

TL;DR

mod_spamhaus — модуль Apache, использующий DNSBL для блокировки известных злонамеренных IP: предотвращает рассылку спама через веб-формы, внедрение URL и простые HTTP DDoS-атаки от ботов. Установка требует apxs2, компиляции модуля и добавления директив в конфигурацию Apache. Добавьте белый список и перезапустите сервер.

Что делает mod_spamhaus (кратко)

mod_spamhaus проверяет IP посетителя по DNSBL и отказывает в доступе, если адрес отмечен как вредоносный. Полезен для защиты форм обратной связи, API и снижения трафика от известных ботнетов.

Важно: DNSBL зависит от внешних баз данных. Для критичных сервисов рассмотрите локальный rbldnsd или кеширование.

Требования и термины

  • apxs2 — инструмент APache eXtenSion tool, входит в пакет apache2-prefork-dev. Короткое определение: утилита для компиляции и установки модулей Apache.
  • DNSBL — DNS-блок-листы, содержащие IP, связанные со спамом или атакующей активностью.

1. Установка

  1. Установите apxs2 (пакет apache2-prefork-dev):
apt-get install apache2-prefork-dev
  1. Скачайте исходники mod_spamhaus с SourceForge или используйте wget:
wget http://kent.dl.sourceforge.net/sourceforge/mod-spamhaus/mod_spamhaus05.tar.gz
  1. Распакуйте, соберите и установите модуль:
tar zxvf mod_spamhaus05.tar.gz
cd mod-spamhaus
make
make install
  1. Добавьте директиву LoadModule в основной конфиг Apache, чтобы загрузить модуль. Откройте файл:
vi /etc/apache2/httpd.conf

И добавьте строку (пример):

LoadModule spamhaus_module   /usr/lib/apache2/modules/mod_spamhaus.so

2. Базовая конфигурация

Поддерживаемые директивы (описание кратко):

  • MS_Methods — перечисление HTTP-методов, при которых модуль будет проверять IP.
  • MS_WhiteList — путь к файлу белого списка IP, которые всегда пропускаются.
  • MS_DNS — DNSBL для проверки; полезно при использовании локального rbldnsd.
  • MS_CacheSize — размер кэша (число закешированных адресов).

Пример настройки в /etc/apache2/apache2.conf:


MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList /etc/spamhaus.wl
MS_CacheSize 256

Создайте пустой файл белого списка и перезапустите Apache:

touch /etc/spamhaus.wl
/etc/init.d/apache2 restart

3. Когда это не сработает

  • DNSBL не содержит IP атакующего (новые/мобильные/динамические адреса).
  • Атаки идут через распределённую сеть прокси или через легитимные сервисы.
  • Если DNSBL недоступен — отсутствие резервного локального DNS или кэша приведёт к задержкам или пропускам.

4. Альтернативы и дополнения

  • Web Application Firewall (WAF) — ModSecurity или облачные WAF (Cloudflare, Sucuri) для более сложных правил.
  • fail2ban — блокировка по логам веб-сервера и автоматическое добавление в iptables.
  • rbldnsd — локальный DNSBL для приватной проверки и снижения внешних запросов.

5. Мини‑методика внедрения (шаги)

  1. Тестовая среда: установите и соберите mod_spamhaus на staging-сервере.
  2. Настройте MS_METHODS минимально (например, POST) и включите логирование.
  3. Пополните MS_WhiteList для внутренних IP и сервисов мониторинга.
  4. Наблюдайте логи 24–72 часа, корректируйте MS_CacheSize и список DNSBL.
  5. Перевод в прод: плавный rollout на часть фронтендов перед полной активацией.

6. Контрольный список для администратора

  • apxs2 установлен
  • mod_spamhaus успешно скомпилирован и загружен
  • В apache2.conf прописаны MS_* директивы
  • /etc/spamhaus.wl настроен и содержит доверенные IP
  • Логи мониторятся и анализируются в первые 72 часа
  • План отката на случай ложных блокировок

7. Критерии приёмки

  • Модуль загружается без ошибок при старте Apache.
  • Количество отклонённых попыток по проверке IP растёт при имитации атак.
  • Отсутствие значимого увеличения задержек ответа из‑за DNS-запросов.

8. Безопасность и эксплуатация

  • Не полагайтесь на одну защиту: комбинируйте mod_spamhaus с WAF и ограничением скорости.
  • Используйте локальный DNSBL или кэширование, если у вас много запросов.
  • Раз в неделю просматривайте белый список и логи на предмет ложных срабатываний.

9. Совместимость и миграция

mod_spamhaus разрабатывался для классических версий Apache/ Debian. На новых дистрибутивах могут потребоваться правки при сборке или использование альтернативных модулей. Тестируйте на текущей версии Apache перед деплоем.

10. Полезные ссылки

Глоссарий (1‑строчное определение)

  • DNSBL — список IP, помеченных в DNS как источники спама/атак.
  • WAF — межсетевой экран веб‑приложений, фильтрует HTTP/HTTPS трафик.

Краткое резюме

mod_spamhaus — простой модуль для быстрой фильтрации известных вредоносных IP. Он хорош как один из уровней защиты: прост в установке и настройке, но зависит от качества DNSBL. Для надёжной защиты комбинируйте его с WAF, fail2ban и локальным кэшированием DNS.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро