Nginx + ModSecurity保护web
ModSecurity 官网http://www.modsecurity.cn/
ModSecurity是一个开源的、跨平台的Web应用防火墙(WAF),被称为WAF界的“瑞士军刀”。它可以通过检查Web服务接收到的数据,以及发送出去的数据来对网站进行安全防护。
ModSecurity功能介绍
SQL Injection (SQLi):阻止SQL注入
Cross Site Scripting (XSS):阻止跨站脚本攻击
Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
PHP Code Injectiod:阻止PHP代码注入
HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
HTTPoxy:阻止利用远程代理感染漏洞进行攻击
Sshllshock:阻止利用Shellshock漏洞进行攻击
Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
Scanner Detection:阻止黑客扫描网站
Metadata/Error Leakages:阻止源代码/错误信息泄露
Project Honey Pot Blacklist:蜜罐项目黑名单
GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断
一,相关安装
yum install -y wget epel-release
yum install -y httpd httpd-devel pcre pcre-devel libxml2-devel gcc lua-devel yajl-devel ssdeep-devel curl-devel
二,编译安装
mv modsecurity-2.9.3 /usr/local/modsecurity2
cd /usr/local/modsecurity2
./configure --enable-standalone-module --disable-mlogc
make
三,重新编译nginx
./configure --prefix=/usr/local/openresty --with-http_stub_status_module --with-http_perl_module --with-http_ssl_module --with-ld-opt="-Wl,-E" --with-stream --add-module=/root/ngx-fancyindex-0.5.1 --add-module=/usr/local/modsecurity2/nginx/modsecurity
Make && make install
未启用前效果
启用modsecurity
cp /usr/local/modsecurity2/modsecurity.conf-recommended /usr/local/openresty/nginx/conf/modsecurity/modsecurity.conf
cp /usr/local/modsecurity2/unicode.mapping /usr/local/openresty/nginx/conf/modsecurity/
unzip owasp-modsecurity-crs-3.3-dev.zip
cp crs-setup.conf.example /usr/local/openresty/nginx/conf/modsecurity/crs-setup.conf
cp -rf rules /usr/local/openresty/nginx/conf/modsecurity/
在http或server节点中添加以下内容
ModSecurityEnabled on
;
ModSecurityConfig modsecurity/modsecurity.conf
;
编辑modsecurity.conf
SecRuleEngine DetectionOnly改为SecRuleEngine On
同时在文件末尾添加以下内容:
Include crs-setup.conf
Include rules/*.conf
Sevice nginx restart
启用后效果
END