ModSecurity 也称为 Modsec 是一个强大的Apache Web 服务器开源防火墙应用程序。它通过规则集运行,允许您自定义和配置服务器安全性。
在 Ubuntu 22.04 上使用 Apache 设置 ModSecurity
apt
步骤 1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。
sudo apt update sudo apt upgrade
步骤 2. 在 Ubuntu 22.04 上使用 Apache 安装 ModSecurity。
默认情况下,ModSecurity 在 Ubuntu 22.04 基础存储库中可用。现在运行以下命令将最新版本的 ModSecurity 安装到您的系统中:
sudo apt install libapache2-mod-security2
然后,启用模块并重新启动 Apache2 服务以影响新模块和更改:
sudo a2enmod security2 sudo systemctl restart apache2
步骤 3. 配置 ModSecurity。
ModSecurity 设置为根据默认规则记录事件。您需要编辑配置文件以调整规则以检测和阻止流量:
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
接下来,使用您喜欢的编辑器编辑您复制的文件:
sudo nano /etc/modsecurity/modsecurity.conf
将值SecRuleEngine
从检测更改Only
为On
:
SecRuleEngine On
保存并关闭文件,然后重新启动 Apache 以使更改生效:
sudo systemctl restart apache2
步骤 4. 安装最新的 OWASP ModSecurity 规则。
现在我们从 Open Web Application Security Project (OWASP) 下载最新的 ModSecurity Core Rule Set (CRS):
wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.2.zip
接下来,解压下载的文件:
unzip v3.3.2.zip.zip
将 CRS 设置文件从新目录移动到您的 ModSecurity 目录中:
mv coreruleset-3.3.2/crs-setup.conf.example /etc/modsecurity/crs-setup.conf
之后,我们编辑您的 Apache security2.conf 文件以确保它会加载 ModSecurity 规则:
nano /etc/apache2/mods-enabled/security2.conf
在末尾添加以下两行:
IncludeOptional /etc/modsecurity/*.conf Include /etc/modsecurity/rules/*.conf
保存并关闭文件,然后重新启动 Apache 以使更改生效:
sudo systemctl restart apache2
步骤 5. 测试 ModSecurity 配置。
现在我们编辑默认的 Apache 配置文件并添加两个附加指令,以默认配置为例:
sudo nano /etc/apache2/sites-available/000-default.conf
添加以下文件:
ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SecRuleEngine On SecRule ARGS:modsecparam "@contains test" "id:4321,deny,status:403,msg:'ModSecurity test rule has triggered'"
保存并关闭文件,然后重新启动 Apache 以使更改生效:
sudo systemctl restart apache2
最后,在下面输入以下命令:
curl localhost/index.html?modsecparam=test
响应代码应该是 403。日志中应该有一条消息显示定义的 ModSecurity 规则有效。
感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上使用 Apache 安装 ModSecurity。如需更多帮助或有用信息,我们建议您查看ModSecurity 官方网站。