启用Apache Proxy HTTP CONNECT方法

我使用Apache作为几个不同项目的反向代理。 PCI-DSS合规性扫描显示我的Apache正在启用HTTP CONNECT方法。

正如Acunetix的网站所述 – http://www.acunetix.com/vulnerabilities/apache-proxy-http-connect-metho/

据我所知,Web服务器使用CONNECT将SSL隧道传输到应用程序服务器。

任何build议我应该如何解决这个问题?

否则,任何人都知道如果我的Apache的HTTP CONNECT方法启用/禁用,我应该如何执行testing?

我没有太多的networking经验,也没有configurationApache。 纠正我,如果我写了一些愚蠢的东西。

只有在使用转发代理configuration时才允许使用CONNECT方法,而在反向代理configuration中,甚至不需要启用connect方法。

如果你愿意,Apache应该configuration成“中间人”。 或者称为SSL终止点的SSL卸载程序,因为该configuration不是恶意的。

通常,apache是​​使用公共ssl证书configuration的,而apache转发到您的应用程序服务器的请求是通过普通的HTTP进行的。 如果您认为自己的LAN有敌意,您也可以通过HTTPS转发,但是apache将build立第二个HTTPS连接。

<VirtualHost 1.2.3.4:443> ServerName www.example.com SSLEngine on SSLCertificateFile /some/path/to/public.cert SSLCertificateKeyFile /some/path/to/key ProxyPass /app http://appserver.int.example.com/app ProxyPassReverse /app http://appserver.int.example.com/app </VirtualHost> 

或者:

  ProxyPass /app https://appserver.int.example.com/app ProxyPassReverse /app https://appserver.int.example.com/app 

网站build议您限制谁可以做CONNECT 。 基本上你可以在你的主机的<Proxy>configuration中阅读。

像这样的东西可能会工作,并从上面的链接被盗取:

 <Proxy *> Order Deny,Allow Deny from all Allow from yournetwork.example.com </Proxy> 

这将只允许从yournetwork.example.com访问。 您可以input和IP范围以及主机。 另外控制访问您的代理可能是一个很好的阅读。

如果您已经加载了mod_proxy_connect ,则可以假定启用了CONNECT 。 如果您只想使用反向代理,则可以一起卸载此模块。

希望这会让你前进。