6

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

我正在考虑通过 IP 地址设置限制,这样如果在短时间内发出太多请求,来自给定 IP 的请求就会变慢。

我有一些问题——

  • 这是在网络服务器级别处理网络爬虫和 DoS 攻击的正确方法吗?
  • 什么是一个好的限制,这样我就不会给可能在共享 IP 网络上工作的普通用户带来不便?
  • 我应该如何具体设置节流?我正在使用 Apache/2.2
4

2 回答 2

4

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

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

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

我不认为有任何“内置”在 Apache httpd 中可以促进这一点。期望是在网络级别管理滥用 IP 地址的问题(即网络流量问题)。

编辑:

由于您在其他地方评论说您正在使用 Rackspace 进行托管,因此您可能需要查看他们的负载均衡器 API

于 2011-09-24T17:08:31.200 回答
0

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

它对于基本保护很有用,但是,它不足以对抗一个坚定且经验丰富的攻击者,他们可以从内部网络进行攻击或使用一系列服务器代理来隐藏他的 IP。

于 2011-09-22T18:48:02.967 回答