通过Apache上的IP地址限制请求?

我想扼杀请求到我的networking服务器,以阻止网站抓取和拒绝服务攻击我的网站。 我愿意相对松懈,关键是没有人要求太慢,以至于放慢速度。

我正在考虑通过IP地址设置限制,以便在短时间内请求太多请求来自给定IP的请求将会变慢。

我有一些问题 –

  • 这是在Web服务器级别处理web scrapers和DoS攻击的正确方法吗?
  • 什么是一个好的限制,以便我不会给可能在共享IPnetworking上工作的普通用户造成不便?
  • 我应该如何特别设置节stream? 我使用Apache / 2.2

“这是在Web服务器级别的正确方法吗?” 这可能是你有的最好的选择。 在网站的不同部分设置不同的阈值可能会很好:您可能更愿意遏制某些类型的流量。 但理想情况下,这些设置将在网络级进行管理。

“什么是一个好的限制…? 它完全取决于你的流量。 你期望多少,你的真实用户来自哪里等等

怎么做? 在ModSecurity中编写规则来处理这类事情是有可能的, ModSecurity也抵御其他一些东西。 与mod_evasive的回答一样,这并不能完全保护你免受攻击者的大量资源支配,但这会迫使他们加紧游戏。

我不认为有什么“内置到”Apache的httpd,这将有助于这一点。 期望的是,在网络层面管理滥用IP地址(即网络流量问题)的问题。

编辑:

既然你在其他地方发表意见,说你正在使用Rackspace进行托管,你可能想看看他们的负载平衡器API 。

为了避免dos攻击/网页抓取,您可以探索mod_evasive,它提供了各种配置来阻止请求。 http://www.zdziarski.com/blog/?page_id=442

它对于基本的保护可能是有用的,但是对于一个有决心和经验的攻击者来说是不够的,攻击者可以从内部网络进行攻击,或者使用一系列服务器代理来隐藏他的IP。