防止第7層攻擊策彤,如SQLi栓袖,XSS,CSRF店诗,LFI裹刮,RFI等。NGINX網(wǎng)絡(luò)應(yīng)用程序防火墻(WAF)建立在ModSecurity 3.0上庞瘸。
ModSecurity WAF保護(hù)Web應(yīng)用免受各種第7層攻擊; 提供DDoS緩解捧弃,實(shí)時(shí)黑名單和審計(jì)日志記錄; 并支持符合PCI-DSS 6.6標(biāo)準(zhǔn)。
https://docs.nginx.com/nginx/admin-guide/dynamic-modules/nginx-waf/
https://docs.nginx.com/nginx-waf/admin-guide/nginx-plus-modsecurity-waf-installation-logging/
Nginx動(dòng)態(tài)添加modsecurity模塊
1.下載編譯modsecurity
git clone https://github.com/SpiderLabs/ModSecurity.git mod_security
cd mod_security
./autogen.sh
./configure --enable-standalone-module
make
cp modsecurity.conf-recommended /etc/nginx/modsecurity.conf
cp -r mod_security/{modsecurity.conf-recommended,unicode.mapping} /etc/nginx/
sed -i 's/^SecRuleEngine DetectionOnly/SecRuleEngine on/' /etc/nginx/modsecurity.conf
2.檢查nginx是否編譯modsecurity模塊 | 安裝則跳過
#查看模塊
nginx -V
configure arguments: ... --add-module=/usr/local/nginx/mod_security/nginx/modsecurity
#編譯modsecurity模塊
./configure [這里是原來(lái)的編譯參數(shù)擦囊,通過nginx -V查看configure arguments的值] --add-module=/usr/local/nginx/mod_security/nginx/modsecurity
#編譯新增的模塊
make
#查看新生成的二進(jìn)制文件违霞,是否有新模塊輸出信息 | 有
./objs/nginx -V
#將新生成的nginx二進(jìn)制文件拷貝到/usr/sbin/下 | 覆蓋
cp objs/nginx /usr/sbin/nginx --backup
#執(zhí)行nginx -V查看新增的模塊 | 顯示新增模塊
nginx -V
#使用nginx -t檢測(cè)是否正常 | ok
nginx -t
#沒問題,執(zhí)行reload重新加載 | reload
nginx -s relaod
3.下載啟用OWASP規(guī)則
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git owasp-modsecurity-crs
cp -r owasp-modsecurity-crs /etc/nginx/
cd /etc/nginx/owasp-modsecurity-crs/
cp crs-setup.conf.example crs-setup.conf
編輯/etc/nginx/modsecurity.conf文件瞬场,新增
Include owasp-modsecurity-crs/crs-setup.conf
Include owasp-modsecurity-crs/rules/REQUEST....conf
Include owasp-modsecurity-crs/rules/RESPONSE....conf
4.編輯nginx.conf location / { }添加,,然后nginx -t檢查語(yǔ)法是否有錯(cuò)||不能在http,server寫成include modsecurity.conf
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
參考文章:
modSecurity規(guī)則學(xué)習(xí)(一)——配置文件 - 897807300 - 博客園
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#Installation_for_NGINX
https://github.com/SpiderLabs/ModSecurity/wiki/Compilation-recipes-for-v3.x#centos-6x
https://www.modsecurity.org/CRS/Documentation/