Monday, September 25th, 2017

Установка модуля modsecurity-apache в Linux Slackware

Published on Апрель 23, 2009 by   ·   Комментариев нет

Введение

Для Apache ветви 2.хх существует модуль усиления безопасности
mod_security http://www.modsecurity.org/.

Данный модуль предназначен для фильтрации входящего и исходящего
http-трафика и позволяет на основе анализа запросов к web-серверу и его
ответов предотвратить атаки, специфичные для web-сервисов:

— защита уязвимых сценариев динамических страниц (разного рода инъекции);
— предотвращение утечки информации;

Текущая версия:
modsecurity-apache_2.1.3 от 12.09.2007.

В составе дистрибутива Linux Slackware этот модуль не распространяется.

Установка модуля mod_security.

Скачать 2а пакета релиз-версий:

modsecurity-apache_2.1.3.tar.gz
modsecurity-core-rules_2.1-1.4.3.tar.gz

В общем случае, пакет релиза модуля включает релиз набора правил.
Правила могут быть обновлены отдельно от самого модуля.

Сборка модуля может быть осуществлена как с помощью make, так и с
помощью утилиты установки модулей apache — apxs.

1й метод — make.

После распаковки архива пакета modsecurity-apache правим
modsecurity-apache/apache2/Makefile:

параметр

top_dir = /apps/apache22

меняем (для Slackware 12.0, httpd-2.2.4-i486-6) на

top_dir = /usr/lib/httpd

запуск make с указанием директории для последующего формирования
slackware-пакета:

# make && make install DESTDIR=/usr/src/modsecurity-apache/PKG

получаем подключаемый модуль
/usr/src/modsecurity-apache/PKG/usr/lib/httpd/modules/mod_security2.so
копируем файлы правил в
/usr/src/modsecurity-apache/PKG/etc/httpd/modsecurity/*.conf
копируем файлы документации в
/usr/src/modsecurity-apache/PKG/usr/doc/modsecurity-apache-2.1.3/

Создаем файл описания slackware-пакета:
/usr/src/modsecurity-apache/PKG/install/slack-desc

# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first "|" above the ":" following the base package name, and the "|"
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It"s also
# customary to leave one space after the ":".

modsecurity-apache: modsecurity-apache
modsecurity-apache:
modsecurity-apache: ModSecurity is a web application firewall (WAF).
modsecurity-apache:
modsecurity-apache: WAFs are <a href="http://www.jameshallison.com/">casino jameshallison</a>  deployed to establish an external security layer
modsecurity-apache: that increases security, detects, and prevents attacks
modsecurity-apache: before they reach web applications.
modsecurity-apache:
modsecurity-apache: &lt; http://www.modsecurity.org &gt;
modsecurity-apache:
modsecurity-apache:

Создаем послеинсталляционный сценарий slackware-пакета:
/usr/src/modsecurity-apache/PKG/install/doinst.sh

libtool --finish /usr/lib/httpd/modules

Поправляем права на файлы, обрезаем бинарник и собираем пакет:

# cd /usr/src/modsecurity-apache/PKG
# chown -R root:root *
# chmod -R 644 *
# chmod -R a X *
# chmod -R 755 usr/lib/httpd/modules/mod_security2.so
# strip --strip-unneeded usr/lib/httpd/modules/mod_security2.so
# makepkg modsecurity-apache-2.1.3-i386-1.tgz

Теперь у нас есть пакет, который может быть установлен в системе:

# installpkg modsecurity-apache-2.1.3-i386-1.tgz

После установки необходимо откорректировать файлы конфигурации согласно документации, особо проверить параметры в файлах:
/etc/httpd/modsecurity/modsecurity_crs_10_config.conf
/etc/httpd/modsecurity/modsecurity_crs_30_http_policy.conf

SecServerSignature
SecAuditLog
SecDebugLog

Ведение отдельных журналов имеет смысл при отладке, т.к. все события с блокировкой записываются в журнал веб-сервера ErrorLog.

В файле набора правил
/etc/httpd/modsecurity/modsecurity_crs_20_protocol_violations.conf
неверное правило — проверка utf8-кодирования параметров передаваемых формой:

SecRule REQUEST_FILENAME|ARGS|ARGS_NAMES|REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer "@validateUtf8Encoding" "deny,log,auditlog,status:400,msg:"UTF8 Encoding Abuse Attack Attempt",,id:"950801",severity:"4""

заменить, например, на

SecRule REQUEST_FILENAME|REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer "@validateUtf8Encoding" "deny,log,auditlog,status:400,msg:"UTF8 Encoding Abuse Attack Attempt",,id:"950801",severity:"4""

В файле набора правил
/etc/httpd/modsecurity/modsecurity_crs_21_protocol_anomalies.conf
для обработки запросов по IP-адресу необходимо закомментировать строки правил:

SecRule REMOTE_ADDR "^127\.0\.0\.1$" "chain"
SecRule REQUEST_HEADERS:Host "^[\d\.] $" "deny,log,auditlog,status:400,msg:"Host header is a numeric IP address", severity:"2",,id:"960017","

Добавить в /etc/httpd/httpd.conf строки активизации модуля:

LoadFile /usr/lib/libxml2.so
LoadModule security2_module   lib/httpd/modules/mod_security2.so
Include /etc/httpd/modsecurity/*.conf

Перезапустить apache:

# apachectl restart

Для улучшения гибкости управления системой можно собрать отдельные
пакеты для модуля и набора правил.

2й метод — apxs.

После распаковки архива пакета modsecurity-apache
вместо запуска make используем утилиту apxs (Apache eXtenSion):

# apxs -cia mod_security2.c

В результате получаем уже установленный в систему подключаемый модуль (бинарный файл не обрезан)
и модифицированный файл конфигурации сервера httpd.conf.

Остается скопировать в директорию файлов конфигурации сервера файлы
правил, поправить httpd.conf и перезапустить apache.

Необходимо отметить, что данный метод усложняет дальнейшее сопровождение
и отслеживание установленного ПО. Всегда следует использовать основную
для дистрибутива ОС технологию установки ПО.






























Смотрите также:

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]