有关设置Web服务器的安全问题的一些提示和技巧。一些建议通用的,其他建议特定于Apache版本。
保持最新
Apache HTTP Server具有良好的安全记录和高度关注安全问题的开发人员社区。但是,在软件发布之后,软件中会发现一些小问题或大问题是不可避免的。因此,了解软件更新至关重要。如果是直接从Apache获得了HTTP Server的版本,我们强烈建议您订阅Apache HTTP Server公告列表,以便随时了解新版本和安全更新。大多数Apache软件的第三方分销商都提供类似的服务。
当然,大多数情况下Web服务器受到攻击,并不是因为HTTP Server代码中存在问题。相反,它来自附加代码,CGI脚本或底层操作系统中的问题。因此,您必须了解系统中所有软件的问题和更新。
拒绝服务(DoS)攻击
所有网络服务器都可能遭受拒绝服务攻击,这些攻击试图通过占用服务器的资源来阻止对客户端的响应。不可能完全阻止此类攻击,但可以做某些事情来缓解这些问题。
通常,最有效的反DoS工具将是防火墙或其他操作系统配置。例如,大多数防火墙可以配置为限制来自任何单个IP地址或网络的同时连接数,从而防止一系列简单攻击。当然,这对分布式拒绝服务攻击(DDoS)没有帮助。
还有一些Apache HTTP Server配置设置可以帮助缓解问题:
RequestReadTimeout
指令允许限制客户端发送请求所花费的时间。- 应该在受到DoS攻击的站点上降低
TimeOut
指令。将其设置为低至几秒可能是合适的。由于TimeOut
当前用于多个不同的操作,因此将其设置为较低值会导致长时间运行的CGI脚本出现问题。 KeepAliveTimeout
指令也可能会在受到DoS攻击的网站上降低。有些网站甚至通过KeepAlive
完全关闭了Keepalive
,这当然还有其他性能上的缺点。- 应检查其他模块提供的各种超时相关指令的值。
- 应仔细配置
LimitRequestBody
,LimitRequestFields
,LimitRequestFieldSize
,LimitRequestLine
和LimitXMLRequestBody
指令,以限制客户端输入触发的资源消耗。 - 在支持它的操作系统上,确保使用
AcceptFilter
指令将部分请求处理卸载到操作系统。这在Apache httpd中默认是活动的,但可能需要重新配置内核。 - 调整
MaxRequestWorkers
指令以允许服务器处理最大数量的并发连接,而不会耗尽资源。 - 使用线程mpm可以让您处理更多的同时连接,从而减轻DoS攻击。此外,事件mpm