使用 ReverseProxy + ModSecurity 在 Apache 中进行虚拟主机配置

问题描述 投票:0回答:2

我已经在 apache2 中使用反向代理+Mod Security 设置了虚拟主机配置。 但它重叠,重新启动 apache2 时不会给出任何错误,但第二个 虚拟主机配置与第一个重叠。

第一个工作正常。

我的虚拟主机配置如下:

NameVirtualHost 192.168.1.101:80
<VirtualHost 192.168.1.101:80>

ServerName 124.125.252.31

DocumentRoot /var/www

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyRequests Off

ProxyPass /asd http://124.125.252.31/
ProxyPassReverse /asd http://124.125.252.31/

<Location /asd>
Order deny,allow
Allow from all
</Location>

Include /etc/apache2/rules/modsecurity_crs_10_config.conf
Include /etc/apache2/rules/base_rules/*.conf

</VirtualHost>


<VirtualHost 192.168.1.101:80>

ServerName 124.125.252.32

DocumentRoot /var/www

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyRequests Off

ProxyPass /qwe http://124.125.252.32/
ProxyPassReverse /qwe http://124.125.252.32/

<Location /qwe>
Order deny,allow
Allow from all
</Location>

Include /etc/apache2/rules/modsecurity_crs_10_config.conf
Include /etc/apache2/rules/base_rules/*.conf

</VirtualHost>
apache2 virtualhost reverse-proxy mod-security
2个回答
0
投票

根据最新的 ModSecurity 参考手册,在配置指令部分:

大多数 ModSecurity 指令都可以在各种内部使用 Apache 范围指令,例如 VirtualHost、Location、LocationMatch、 目录等...不过还有其他的,只能用 一旦在主配置文件中。该信息指定于 下面的范围部分。使用给定指令的第一个版本 在下面的版本部分中给出。这些规则以及 核心规则文件,应包含在 httpd.conf 文件并使用 Apache“Include”指令进行调用。

我猜测您的配置中的以下行应该直接包含在您的主 httpd.conf 文件中:

Include /etc/apache2/rules/modsecurity_crs_10_config.conf

我猜测可以在您的虚拟主机中插入以下行:

Include /etc/apache2/rules/base_rules/*.conf

但我可能是错的。只是此在线 crs_10_config 示例中的某些指令的范围指定为“Main”而不是“Any”(例如 SecComponentSignature 仅举一例)。

是什么让您意识到它们是重叠的?有日志吗?


0
投票

我也遇到过类似的错误。 Modsecurity 在服务器 IP 地址 172.20.84.120 上安装并配置了 OWASP10 规则集,并在 ubuntu 服务器上的 apache-web 服务器上运行。另一个应用程序正在另一台 Windows 服务器上运行,IP 地址为 172.20.84.31:8000。我想通过反向代理使用适度安全性来保护网络应用程序。 rev-proxy.conf 是“

ProxyPreserveHost 打开 服务器名称 172.20.84.31

订单拒绝、允许 允许所有

ProxyPass /av http://172.20.84.31:8000/
ProxyPassReverse /av http://172.20.84.31:8000/

<IfModule security2_module>
    SecRuleEngine On
    #IncludeOptional /etc/modsecurity/modsecurity.conf
    IncludeOptional /etc/apache2/modsecurity-crs/coreruleset-3.3.0/crs-setup.conf
    IncludeOptional /etc/apache2/modsecurity-crs/coreruleset-3.3.0/rules/*.conf
</IfModule>
“ http://172.20.84.31:8000/?id=1 或 '1'='1' 不能给出 403 禁止而是重定向到 av 页面。但是 http://172.20.84.120/av/?id=1或者 '1'='1' 可以给出 403 禁止
© www.soinside.com 2019 - 2024. All rights reserved.