Блокировка спамеров и хакеров с mod_spamhaus в Apache2 (Debian Etch)
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. Установка
- Установите apxs2 (пакет apache2-prefork-dev):
apt-get install apache2-prefork-dev- Скачайте исходники mod_spamhaus с SourceForge или используйте wget:
wget http://kent.dl.sourceforge.net/sourceforge/mod-spamhaus/mod_spamhaus05.tar.gz- Распакуйте, соберите и установите модуль:
tar zxvf mod_spamhaus05.tar.gz
cd mod-spamhaus
make
make install- Добавьте директиву LoadModule в основной конфиг Apache, чтобы загрузить модуль. Откройте файл:
vi /etc/apache2/httpd.confИ добавьте строку (пример):
LoadModule spamhaus_module /usr/lib/apache2/modules/mod_spamhaus.so2. Базовая конфигурация
Поддерживаемые директивы (описание кратко):
- 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 restart3. Когда это не сработает
- DNSBL не содержит IP атакующего (новые/мобильные/динамические адреса).
- Атаки идут через распределённую сеть прокси или через легитимные сервисы.
- Если DNSBL недоступен — отсутствие резервного локального DNS или кэша приведёт к задержкам или пропускам.
4. Альтернативы и дополнения
- Web Application Firewall (WAF) — ModSecurity или облачные WAF (Cloudflare, Sucuri) для более сложных правил.
- fail2ban — блокировка по логам веб-сервера и автоматическое добавление в iptables.
- rbldnsd — локальный DNSBL для приватной проверки и снижения внешних запросов.
5. Мини‑методика внедрения (шаги)
- Тестовая среда: установите и соберите mod_spamhaus на staging-сервере.
- Настройте MS_METHODS минимально (например, POST) и включите логирование.
- Пополните MS_WhiteList для внутренних IP и сервисов мониторинга.
- Наблюдайте логи 24–72 часа, корректируйте MS_CacheSize и список DNSBL.
- Перевод в прод: плавный 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. Полезные ссылки
- mod_spamhaus: http://sourceforge.net/projects/mod-spamhaus
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
Глоссарий (1‑строчное определение)
- DNSBL — список IP, помеченных в DNS как источники спама/атак.
- WAF — межсетевой экран веб‑приложений, фильтрует HTTP/HTTPS трафик.
Краткое резюме
mod_spamhaus — простой модуль для быстрой фильтрации известных вредоносных IP. Он хорош как один из уровней защиты: прост в установке и настройке, но зависит от качества DNSBL. Для надёжной защиты комбинируйте его с WAF, fail2ban и локальным кэшированием DNS.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента