📜  linux modsecurity 允许 googlebot - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:42.544000             🧑  作者: Mango

Linux ModSecurity 允许 Googlebot

简介

ModSecurity 是一个开源的 Web 应用安全防火墙 (WAF),可用于保护 Web 应用免受广泛的攻击。其中模块化安全控制器可配置并执行各种规则,防止 Web 应用的未经授权使用,也可阻止恶意代码访问。本文介绍如何允许 Googlebot 爬虫访问您的 Web 应用。

环境

在 Debian 或 Ubuntu 操作系统上通过命令行安装 ModSecurity:

sudo apt update
sudo apt install apache2 libapache2-mod-security2
步骤
1. 打开 ModSecurity 配置

/etc/modsecurity/modsecurity.conf 文件中查找并设置以下配置:

SecRule REMOTE_ADDR "@ipMatch 10.1.1.1" \
    "phase:1,nolog,allow,ctl:ruleEngine=Off,id:1000"

这里 10.1.1.1 应替换为您的服务器 IP 地址。在这个规则中,Phase:1 表示此规则应用于请求头部阶段,nolog 表示不在日志中显示规则的执行结果,allow 表示允许通过,ctl:ruleEngine=Off 关闭 ModSecurity 的规则引擎。这里我们不需要验证 Googlebot 是否是正常的爬虫,所以关闭规则引擎。

2. 允许 Googlebot

/etc/modsecurity/modsecurity.conf 文件中新增以下规则:

SecRule REQUEST_HEADERS:User-Agent "Googlebot" \
        "id:1001,nolog,ctl:ruleEngine=On,\
        ctl:forceRequestBodyVariable=On,\
        ctl:requestBodyAccess=On"

这里首先使用 SecRule 函数确定请求的 User-Agent 是否为 Googlebot,如果是则 ctl:ruleEngine=On 开启 ModSecurity 的规则引擎,ctl:forceRequestBodyVariable=On 开启强制请求体变量,ctl:requestBodyAccess=On 开启请求体访问。这样 ModSecurity 将允许 Googlebot 访问您的 Web 应用。

3. 重启 Apache

完成配置后,重启 Apache 服务器:

sudo systemctl restart apache2
结论

现在,您已允许 Googlebot 访问您的 Web 应用。您可以使用 ModSecurity 的其他功能来保护 Web 应用免受广泛攻击,我们仅仅为了让 Googlebot 能够访问您的应用程序而配置了这些规则。