我在Mod_Security包中看到了名为standalone的模块;但我不确定如何在制作和安装后使用它! 启动有没有好的资源?
答案 0 :(得分:1)
似乎不可能;基于ModSecurity网站所说的操作模式:
反向代理是有效的HTTP路由器,设计 站在Web服务器和它们的客户端之间。当您安装时 专用的Apache反向代理并向其添加ModSecurity,你得到一个 “适当的”网络Web应用程序防火墙,您可以使用它 保护同一网络上的任意数量的Web服务器。很多安全 从业者更喜欢拥有单独的安全层。有了它,你得到 完全隔离您正在保护的系统。在 性能方面,独立的ModSecurity将拥有资源 致力于它,这意味着你将能够做更多(即, 有更复杂的规则)。这种方法的主要缺点是 新的失败点,需要用a来解决 两个或多个反向代理的高可用性设置。
他们正在考虑将其分开,创建了一个专用主机,用于代理内部主机。
有效;但从技术上讲,它不是standalone
。
我还提交了一个错误,Felipe Zimmerle证实了这一点:
Standalone是Apache内部的包装器,允许执行ModSecurity。那个包装器仍然要求Apache件。确实,您可以使用独立版本扩展您的应用程序,但是,您将需要一些Apache部件
答案 1 :(得分:0)
正如您所知,ModSecurity是对现有Web服务器的补充 - 最初是作为Apache模块(因此名称),但现在也可用于Nginx和IIS。
您可以在嵌入模式下运行它(即作为主Web服务器的一部分)或以反向代理模式运行它(基本相同,但您设置了一个单独的Web服务器并在其上运行,然后直接所有流量通过)。
说实话,我从来没有在反向代理方法中找到太多意义。我想这确实意味着你可以在不受支持的Web服务器上使用它(例如,如果你不使用Apache,Nginx或IIS),它会减少主Web服务器上的负载,但除此之外它似乎是一个额外的步骤和基础设施没有真正的收益。有些人可能也更喜欢在几个Web服务器前面进行ModSecurity检查,但是如果你有多个Web服务器我会争辩,那么可能出于性能和弹性的原因,为什么不将ModSecurity传播到这个级别而不是创建一个单点故障可能是它面前的瓶颈。只有其他原因才能应用会话级规则(例如,如果人们正在更改会话ID),这可能最终会在不同的Web服务器之间传播,但我从未确信这些规则是那么好。
当我构建ModSecurity时,我得到了一个mod_security2.so库,但没有单独的独立文件,所以我认为你只是通过源代码看到这个(我确实看到了一个独立的)?我只是因为源中有一个“独立”文件夹并不能保证它可以作为一个完全独立的独立文件运行。
我会问你为什么要将它作为一个独立的应用程序运行,即使你可以? Web服务器在其中具有许多功能,并且取决于为Web安全而编写的ModSecurity,而不是Web安全性和 Web服务器所做的所有其他事情(例如,快速,了解HTTP协议, gzip和ungzip等等,不必要地延伸了ModSecurity需要处理的内容。那么为什么不使用Web服务器来处理这个问题,让ModSecurity做它擅长的事情呢?
如果你正在使用ModSecurity,那么我猜你有网络应用程序(可能是网络服务器),那么为什么不通过它来使用呢?
最后通过Apache(或Nginx或IIS)安装它有什么问题吗?它是免费软件,支持且易于设置。
我猜最终我不明白你问题的原因。你试图解决一个特殊的问题,还是这只是好奇心?