如何减lessApache-php的DOS攻击漏洞?

拒绝服务攻击

在互联网上托pipe一个网站时,拒绝服务攻击是一个常见的威胁。 虽然大多数安全漏洞可以通过避免危险的编码习惯/技术来防止,但DOS保护需要不同的方法。

懒惰的DOS攻击

具体而言,我并不担心networking上的复杂垃圾邮件发送者会使用昂贵的设备(可能优于我自己的设备)来接受付款。 我无法想象任何人都会为了让我的网站停下来而付出那么多的钱。 我更担心的是懒惰的攻击,这些攻击很可能来自聪明的青less年,他们试图在不知情的网站上testing他们的破坏力,特别是那些通过黑客马拉松和事件听说过我的网站和项目的人。

这些“懒惰的攻击”非常便宜,易于执行,并且可以采取简单的浏览器脚本或泛洪程序的forms,向我的站点服务器发送大量的请求。 一个强大的系统(像我的专用服务器)只能通过利用更强大的系统中的弱点,并利用它的能力来抵御自身,才能被弱系统(比如光源资源脚本)带走。

具体来说,我的意思是当同一个用户不断地向服务器发出几乎不需要的请求。 如果用于客户端资源的服务器资源的比例至less大于可用的服务器资源与客户端资源的比例,那么我的网站可能很容易被取消。

if (Server Resources : Client Resources > Server Power : Client Power) { ServerDown(); } 

在Apache中确保请求返回策略

我不是问如何使我的Apache站点DOScertificate,而是如何通过locking一个客户端可以在一定时间内发送的请求数量,然后将其视为攻击者,从而减less对便宜,懒惰的DOS攻击的攻击。 这特别适用于php脚本和其他需要更多资源将内容转发给客户端的页面。

什么是最好的办法(MySQL禁止表,Apache设置,蜜jar等),以确保一个相对较小的网站对廉价的DOS攻击? 最初被问到堆栈交换

mod_reqtimeout处理目标为httpd的 slowloris DoS攻击。

它通过设置发送标题,http消息体和不同速率范围的特定超时来工作。

你可以使用特定的设置,但只需加载模块,你已经得到了一个很好的设置,以避免这些,请检查有关它的官方文档: http : //httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html

对于客户端连接或类似的攻击,最好的办法是使用一个理智的IDS / IPS +防火墙设置。