手动阀

Good Luck To You!

Linux下给nginx安装waf模块

在Linux下给Nginx安装WAF(Web Application Firewall)模块,可以通过以下步骤实现,这里我们以ModSecurity作为WAF模块为例。

Linux下给nginx安装waf模块

安装依赖项

确保你的系统已经安装了必要的开发工具和库:

sudo apt-get update
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g zlib1g-dev

下载并解压Nginx源码

从Nginx官方网站下载最新的稳定版本源码包,然后解压:

wget http://nginx.org/download/nginx-<version>.tar.gz
tar -zxvf nginx-<version>.tar.gz
cd nginx-<version>

下载并解压ModSecurity

从GitHub上下载ModSecurity的源码包,然后解压:

git clone https://github.com/SpiderLabs/ModSecurity.git
cd ModSecurity
git checkout v3/master
sudo apt-get install git autoconf libtool
./build.sh
sudo ./configure
sudo make
sudo make install

4. 下载并解压ngx_http_modsecurity模块

从GitHub上下载ngx_http_modsecurity模块的源码包,然后解压:

git clone --depth 1 -b v3/master https://github.com/SpiderLabs/ModSecurity-nginx.git
cd ModSecurity-nginx

5. 编译Nginx并集成ModSecurity模块

回到Nginx源码目录,配置并编译Nginx,使其包含ModSecurity模块:

cd ../nginx-<version>
./configure --with-compat --add-dynamic-module=../ModSecurity-nginx
make modules
sudo cp objs/ngx_http_modsecurity_module.so /etc/nginx/modules/

6. 配置Nginx使用ModSecurity模块

编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf),添加以下内容:

load_module modules/ngx_http_modsecurity_module.so;
http {
    modsecurity on;
    modsecurity_rules_file /etc/nginx/modsec/main.conf;
    ...
}

创建ModSecurity规则文件

创建一个目录来存放ModSecurity的规则文件,并复制默认的规则文件:

sudo mkdir /etc/nginx/modsec
sudo cp /path/to/ModSecurity-nginx/modsecurity.conf-recommended /etc/nginx/modsec/main.conf

你可以根据需要编辑/etc/nginx/modsec/main.conf文件来调整规则。

重启Nginx服务

重启Nginx使配置生效:

sudo systemctl restart nginx

或者如果你使用的是旧版本的init脚本:

sudo service nginx restart

验证安装

你可以通过访问Nginx服务器并查看日志文件来验证ModSecurity是否正常运行,可以检查Nginx的错误日志:

tail -f /var/log/nginx/error.log

如果一切正常,你应该能看到ModSecurity相关的日志信息。

通过以上步骤,你就成功在Linux下的Nginx中安装了WAF模块ModSecurity。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.