ModSecurity 是一个开放源代码的 Web 应用防火墙 (WAF),可以帮助保护 Web 服务器免受各种攻击。以下是如何在 Nginx 上安装和配置 ModSecurity 的详细步骤。
一. 安装 ModSecurity
(1). 安装依赖
在安装 ModSecurity 之前,需要先安装一些必要的依赖库。以下是在基于 CentOS 的系统上的命令:
sudo yum update
sudo yum install -y gcc make pcre-devel libxml2 libxml2-devel curl-devel httpd-devel libtool
(2). 查看系统 g++ 版本,是否支持版本 C++17
g++ –version
如果看到版本号大于等于7.3,可以跳过下面 第3步,否则执行第3步: 升级 g++ 到一个支持 C++17 标准的版本。
(3).升级 g++
在CentOS系统中使用 yum 来安装开发工具集:
sudo yum install centos-release-scl
sudo yum install devtoolset-9
启用开发工具集来使用更新版本的 g++:
scl enable devtoolset-9 bash
上面命令会打开一个新的 shell,会将 g++ 的版本设置为 9。如果你想每次启动 shell 都启用开发工具集,可以将上述命令添加到你的 shell 配置文件中,例如 ~/.bashrc。
(4). 下载和编译 ModSecurity
从 GitHub 仓库下载 ModSecurity 源码并编译:
cd /usr/local/src
sudo git clone –depth 1 -b v3/master https://github.com/SpiderLabs/ModSecurity
cd ModSecurity
sudo git submodule init
sudo git submodule update