Nginx可以通过集成Web应用程序防火墙(WAF)模块来有效防范各种Web攻击。以下是详细的实现方案:
ModSecurity是最流行的开源WAF之一,可以与Nginx集成:
# 安装依赖
sudo apt-get install libmodsecurity3 libmodsecurity-dev
# 编译Nginx时添加ModSecurity模块
./configure --add-module=/path/to/ModSecurity-nginx
make
make install
配置示例(nginx.conf
):
http {
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
server {
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/mywebsite.conf;
}
}
NAXSI是专为Nginx设计的轻量级WAF:
# 编译安装
./configure --add-module=/path/to/naxsi/naxsi_src
make
make install
配置示例:
http {
include /etc/nginx/naxsi_core.rules;
server {
location / {
SecRulesEnabled;
DeniedUrl "/RequestDenied";
CheckRule "$SQL >= 8" BLOCK;
CheckRule "$RFI >= 8" BLOCK;
CheckRule "$TRAVERSAL >= 4" BLOCK;
CheckRule "$EVADE >= 4" BLOCK;
CheckRule "$XSS >= 8" BLOCK;
}
}
}