Прикручиваем ModSecurity к Nginx под ISP Manager

13 Oct 2019 | Автор: dd |

В ключе той задачи с php7.3 о которой я писал ранее, была также необходимость прикрутить к nginx mod_security.

Вкратце это брандмауэр для Web-приложений (он же Web Application Firewall или кратенько WAF), защищающий наш веб-сервер от различных атак и подсовывается веб-серверу на стадии сборки. Но у нас уже был установлен nginx, что несколько добавляло беспокойства.

Итак, смотрим какой у нас nginx и, главное, как он собран:
# nginx -V
nginx version: nginx/1.13
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx ….

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

Обновляем систему и доставляем всякие разные нужные опочки:
# yum -y update
# yum groupinstall -y “Development Tools”
# yum install -y pcre pcre-devel libxml2 libxml2-devel curl curl-devel openssl openssl-devel

Собираем сам ModSecurity
# cd /usr/src/
# git clone -b nginx_refactoring https://github.com/SpiderLabs/ModSecurity.git
# cd ModSecurity
# sed -i ‘/AC_PROG_CC/a\AM_PROG_CC_C_O’ configure.ac
# sed -i ’1 i\AUTOMAKE_OPTIONS = subdir-objects’ Makefile.am
# ./autogen.sh
# ./configure CFLAGS=”-fPIC” –enable-standalone-module –disable-mlogc
# make && make install

Вытягиваем nginx поновее и запускаем его сборку, добавив в конце модсек
# cd /usr/src/
# wget https://nginx.org/download/nginx-1.17.3.tar.gz
# tar -xzvf nginx-1.17.3.tar.gz
# cd nginx-1.17.3
# ./configure –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx ….. –add-module=/usr/src/ModSecurity/nginx/modsecurity
# make && make install

копируем конф модсека в папку к апачу
# cp /usr/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsecurity.conf
и добавляем в конфг нашего виртуального сайта /etc/nginx/vhosts/www-user/site.ru.conf
две строчки в раздел location / {
                ModSecurityEnabled on;
                ModSecurityConfig /etc/nginx/modsecurity.conf;

После этого можем открыть конфиг modsecurity.conf и поменяем дефолтную директиву обучения SecRuleEngine DetectionOnly стоящую в начале файла на SecRuleEngine On. Но лучше для начала оставить как есть.

Также в файле можно поменять кучу всяких разных настроек, но не о них речь, т.к тогда придется писать огромный трактат. В том числе и по конфигам правил, которые можно подключать дополнительно.

Опционно можно также прикрутить перловую консольку ModSecurity Console для визуализации отчетов.

Теперь рестартим нжинкс и веруем в то, что наш сайт теперь защищен более чем до этого.

VN:F [1.9.21_1169]
Rating: 3.6/10 (70 votes cast)
VN:F [1.9.21_1169]
Rating: +6 (from 20 votes)
Прикручиваем ModSecurity к Nginx под ISP Manager, 3.6 out of 10 based on 70 ratings

Ваш отзыв