[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

安装 ModSecurity 并将其应用于 Apache (Ubuntu 24.04 LTS) 的注意事项

您好,

是 EOL 系统解决方案部门的 Kawa。

前段时间,6月份,我参加了Micro Hardening 这是Hardening Project的小型版本,是一项安全强化的团队竞赛

训练是在淡路岛进行的,虽然很辛苦,但是天气很好,而且能够在依山傍海的自然环境中进行训练,所以我们度过了一段非常充实的时光。

(夕阳很美)

每组练习持续45分钟(共6组),在保护电商网站免受攻击的同时,即使宕机的SLA也被计算出来,团队争夺最终的销售额+分数。

总会有某种类型的攻击,但这次我的团队SQL 注入的困扰

▼ 更多信息请参考我司Ichiki的文章▼ 

【微强化v2】温和的安全事件体验

当我在考虑如何预防时,我决定尝试使用ModSecurity,最终成功了,并且能够获得高分。

这次,如何安装ModSecurity的备忘录

首先,什么是ModSecurity?

(如果您已经知道,请跳过!)
ModSecurity 是拥有的 OSS WAF(Web 应用程序防火墙)引擎,可保护使用各种 CMS 提供的网站免受攻击。

它与称为 CRS 规则的规则集(如定义文件)结合使用,并与 WordPress 和 Drupal 等主要 CMS 以及 Apache、Nginx 和 IIS 等中间件兼容。安装后,您可以通过一些设置来使用它,因此可以轻松地将其引入到独立环境中。

不过,由于误报的调优有点困难,我认为在生产环境中引入和运行它还需要时间。

此外,在AWS WAF和WAFCharm等云WAF放在前面的环境中,实施它们的价值不大,因为它们的保护范围重叠。

环境

Ubuntu 24.04 LTS Apache/2.4.58

安装和初始配置

sudo apt update sudo apt install libapache2-mod-security2 sudo a2enmod security2 # 启用模块

以下是安装后的基本设置。
将创建示例配置,因此更改文件名并进行一些编辑。

cd /etc/modsecurity/ sudo mv modsecurity.conf-推荐 modsecurity.conf sudo nano /etc/modsecurity/modsecurity.conf SecRuleEngineDetectionOnly #默认仅检测,所以启用它 ↓ SecRuleEngine On SecAuditLogParts ABIJDEFHZ #D is "intermediate" "响应头”,不过好像是保留字,没有实现。 ↓ SecAuditLogParts ABCEFHJKZ # 删除I,将D改为C(请求体) sudo systemctl restart apache2

临时设置现已完成。
接下来,下载 CRS 规则。

下载规则集(v4.3.0)

*在撰写本文时,似乎 v4.4.0 已发布,但基本上无论版本如何,此过程都是相同的。最新版本请参考以下内容。
https://github.com/coreruleset/coreruleset/releases

从 GitHub 下载该文件,解压缩,然后将其移动到 Apache 目录。

cd /tmp/ sudo wget -p /tmp/ https://github.com/coreruleset/coreruleset/archive/refs/tags/v4.3.0.tar.gz tar xvf v4.3.0.tar.gz sudo mkdir /etc/ apache2/modsecurity-crs/ sudo mv coreruleset-4.3.0/ /etc/apache2/modsecurity-crs/ cd /etc/apache2/modsecurity-crs/coreruleset-4.3.0/ sudo mv crs-setup.conf.example crs-设置文件

包括识别核心规则集。

/etc/apache2/mods-enabled/security2.conf … # 包含 OWASP ModSecurity CRS 规则(如果已安装) #IncludeOptional /usr/share/modsecurity-crs/*.load IncludeOptional /etc/apache2/modsecurity-crs/coreruleset-4.3.0 /crs-setup.conf IncludeOptional /etc/apache2/modsecurity-crs/coreruleset-4.3.0/rules/*.conf … sudo apache2ctl -t # 我认为语法检查可能会出现错误。 AH00526: /etc/apache2/modsecurity-crs/coreruleset-4.3.0/crs-setup.conf 第 818 行语法错误:ModSecurity:找到具有相同 id /etc/apache2/modsecurity-crs/coreruleset-4.3 的另一个规则.0/rules # → REQUEST-922-MULTIPART-ATTACK.conf规则有错误,所以删除3个对应的地方或者重命名922来避免。

关于后一个错误,它的发生似乎取决于 ModSecurity 的版本。
正如此已关闭问题中所报告的,
https://github.com/coreruleset/coreruleset/issues/3129
,如果增加 ModSecurity 版本,似乎不会出现此问题,但由于它似乎是非官方存储库,所以文章中没有涉及。

在开始生产之前...

如上所述,IPS 和端点安全产品(包括 WAF)可能会产生误报。

我认为第一步是
在IDS模式下运行它(仅检测)并在安装前对于 ModSecurity,error.log,找出检测到的内容类型,并考虑设置排除规则和阈值的缓解措施。

概括

WAF(包括基于云的WAF)很方便,但在投入生产之前需要进行调整,因为它们可能会影响实际环境。

虽然操作起来有点困难,但如果能清楚这一点,即使作为独立系统运行也能增强安全性,所以如果添加端点产品,就会有多层防御,进一步增加稳健性。

完全的

如果您觉得这篇文章有帮助,请点赞!
8
加载中...
8 票,平均:1.00 / 18
732
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

川健

属于系统解决方案部的
好奇的 Poke○n