如何在 Ubuntu 22.04 LTS 上使用 Apache 设置 ModSecurity

2023年 7月 20日 73.4k 0

ModSecurity 也称为 Modsec 是一个强大的Apache Web 服务器开源防火墙应用程序。它通过规则集运行,允许您自定义和配置服务器安全性。ModSecurity-logo

在 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从检测更改OnlyOn

SecRuleEngine On

conf-modsecurity

保存并关闭文件,然后重新启动 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 官方网站。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论