AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1157686
Accepted
Rahul Thakkar
Rahul Thakkar
Asked: 2024-04-10 19:46:56 +0800 CST2024-04-10 19:46:56 +0800 CST 2024-04-10 19:46:56 +0800 CST

如何让 ModSecurity 真正阻止/拒绝恶意请求?

  • 772
这个问题是从信息安全堆栈交换迁移来的,因为它可以在服务器故障上得到回答。 7 天前迁移 。

我已经在 ubuntu 22.04 中使用安装了 apache 的 mod 安全模块。

sudo apt-get install libapache2-mod-security2
sudo a2enmod security2
sudo systemctl restart apache2

这将安装安全模块版本 2.9.5 和核心规则集版本 3.3.2。

我设置

SecRuleEngine On 在 /etc/modsecurity/modsecurity.conf 中

并仅保留从核心规则集中启用的两个conf,其余所有conf我已临时移动。

  1. /usr/share/modsecurity-crs/REQUEST-933-APPLICATION-ATTACK-PHP.conf
  2. /usr/share/modsecurity-crs/REQUEST-949-BLOCKING-EVALUATION.conf

因为,我的目标是通过观察来一一制定规则,没有任何误报/我的应用程序需要被阻止。

但它并没有阻止请求,而是只是记录在 mod 安全审核日志中。

我不确定我在这里缺少什么,其余的一切都处于默认设置。

我可以根据需要分享更多详细信息。

有人可以帮我弄这个吗?

mod-security
  • 2 2 个回答
  • 90 Views

2 个回答

  • Voted
  1. Best Answer
    airween
    2024-04-11T04:07:52+08:002024-04-11T04:07:52+08:00

    并仅保留从核心规则集中启用的两个conf,其余所有conf我已临时移动。

    这就是问题。

    您必须在 中设置必要的内容crs-setup.conf,或者至少进行审查。

    那么你还必须了解 CRS 默认情况下是如何工作的——这就是“异常评分模式”——在这里你可以阅读更多内容。

    快速总结:大多数 CRS 规则不会终止交易,只是增加异常分数(这是交易分数变量)。如果达到先前设置的阈值(请参阅crs-setup.conf),则特定规则会终止该阈值。

    如果您删除这些配置文件(通常是REQUEST-949-BLOCKING-EVALUATION和RESPONSE-959-BLOCKING-EVALUATION),那么您的事务将永远不会阻塞。

    重要的!异常评分模式是默认模式,但您也可以使用传统的“独立”模式。然后您必须修改一些设置crs-setup.conf- 请参阅本节。

    使用独立模式,您不需要添加其他规则,每个触发的规则都会终止事务。

    • 0
  2. Rahul Thakkar
    2024-04-11T16:26:15+08:002024-04-11T16:26:15+08:00

    谢谢@airween,

    我知道大多数规则实际上并不是拒绝请求/响应,它们只是增加/更新分数,默认模式是“异常评分”模式,我不想将其更改为“自包含模式”。

    我想我在我的配置中发现了问题。

    第一个conf文件需要REQUEST-901-INITIALIZATION.conf初始化那些异常分数变量,我错过了,这就是请求没有被阻止的原因。

    总的来说,通过加载 crs 的三个conf文件对我有用。

    • /usr/share/modsecurity-crs/REQUEST-901-INITIALIZATION.conf(负责变量初始化)
    • /usr/share/modsecurity-crs/REQUEST-933-APPLICATION-ATTACK-PHP.conf(负责实际规则执行并相应设置分数)
    • /usr/share/modsecurity-crs/REQUEST-949-BLOCKING-EVALUATION.conf(负责根据规则配置设置的分数来阻止请求)
    • 0

相关问题

  • 我可以在服务器上使用哪些保护措施

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve