我一直在想,是否有一种技术能够根据速率对给定IP进行响应(减慢响应)。 例如,我有一个“重”API服务的Apache服务器,如果服务器不是100%加载,我想限制为1个请求/ 2秒/ IP,如果服务器已满载,则限制为“合理使用”策略。 可选的,我想推广具体的电话号码,例如/req.php?id=157,以“奖励费率”例如10次/秒的方式。 另外,如果有人超过100个请求/小时,他将被提示错误响应提示他升级等。 对我来说,这听起来像是许多系统的共同要求,我希望有一些相关的框架。 你知道任何在PHP,Python,Java甚至作为一个Apache模块?
大约两个月前,我的一个网站开始受到某种攻击,经过进一步的调查,我发现它是僵尸networking僵尸,还有一些我不知道的东西。 我的网站不是电子商务,不stream行,没有任何人会想要的。 在谷歌分析,它从800-1000次/天到10万/天。 第一轮攻击停止了,一旦停止,它就逐渐停止。 所以它从100k-50k-30k-10k-5k-1k /天,最后恢复正常。 奇怪的是,它是如此分散,以至于成千上万的人阻止知识产权是不可能的。 90%来自美国,全部来自Internet Explorer 6,7,8的用户。在IP块中绝对没有相似之处。 大约3周后又开始了,这一次保持了非常稳定。 我开始使用Cloudflare Pro,以便通过他们的DNS路由stream量,并能够看到攻击和他们正在做的更简单。 自从我的听众以来,我阻止了所有来自美国以外的袭击国家。 我完全失去了为什么这个巨大的美国stream量看起来真实的继续来到我的网站。 现场的平均时间是8-10秒,但我过滤了反弹访问,平均时间是2分钟+的神秘交通。 我已经多次与我的托pipe服务提供商联系过,他们已经和我一起工作,试图弄清楚这个问题,而且他们也不能。 底线是交通看起来真实,但不是。 任何帮助或build议将不胜感激。
我可以阻止> X长度的数据包(特别是UDP)吗? 我受到来自大量IP地址的非常大的UDP数据包的攻击。 我有合法的使用UDP数据包在攻击端口,但任何超过一定的大小是保证恶意为我的目的。 我在Windows Server 2008上,没有硬件防火墙。 谢谢。
我有一台运行Ubuntu 10.04 Server的NFS4服务器,在一个拥有50多个客户端的企业环境中运行。 总的来说,一切正常,但有时客户端会每秒开始+1000次NFS操作,通常是因为客户端软件故障或软件编写不佳。 发生这种情况时,客户通常会在dmesg上收到很多这样的消息: [443947.760016] nfs: server 192.1.1.111 not responding, still trying [443952.696017] nfs: server 192.1.1.111 not responding, still trying [443954.056079] nfs: server 192.1.1.111 OK [443954.056311] nfs: server 192.1.1.111 OK 我的NFS4服务器启动96个守护进程。 它运行在一个8核multithreadingCPU(共16个线程),16GB RAM内存上。 也许96不是一个好的select? 我开发了一些工具来绘制NFS客户端的使用情况,以便我可以检测到问题并手动终止客户端。 当然,我也可以自动这个。 不过,我不想这么激进。 大部分时间,这不是他们的错,我不希望客户发疯,因为我搞了两周的模拟,因为gnome-settings-daemon变得有趣。 那么,在通过这个不太好的path之前,是否有任何防止NFS拒绝服务的良好实践或已build立的机制?
我看到我的网站奇怪的stream量。 有时,可能每天几次,我会从相同的IP地址获得相同的URI几分钟的请求,速度从每秒一个到每秒几百个。 除了时间戳之外,请求看起来完全相同。 除了在每个单独的内容中相同之外,对URI或IP或请求的任何其他方面似乎没有任何模式。 值得注意的是,它似乎涵盖了所有的浏览器。 乍一看,它似乎是一个DOS,但在大多数时候,这是真的不够的stream量,并有一些其他特点的请求,使我相信这不是一个恶意的攻击,包括事实他们中的许多人都来自经过validation的用户,而我所调查的所有用户似乎都发生在网站上正常会话的内部。 我几乎认为这是无意的。 但是这导致我相信,无论是在我们的网站上有什么东西混淆了浏览器提出了大量的请求,或者有一些用户的行为正在造成风波。 这提出了这些问题: 如果这只是一个用户行为,似乎这种模式将存在于除我以外的网站上。 我还没有听说过这样的事情,但值得问一下其他人是否看过这种types的stream量。 那么有人吗? 如果我们的网页内容中有东西可能导致这种情况,那么以前可能有人遇到过这种情况。 任何人有任何见解吗? 我已经放了一些限制,这不太可能影响网站的性能,但我真的很想find某种根本原因。 如果我在这里找不到任何东西,我会直接开始询问我可以识别的用户,但如果可能的话,我宁愿在内部处理它。 我收集这些日志的Web服务器在F5负载均衡器后面。 日志来自Apache,并且日志显示不同的时间戳,所以这不是logging错误。 另外,我们可以看到数据库服务器日志中的多个请求的副作用等等。 用户可能正在抓取数据,但似乎不太可能。 我希望能先find一个技术性的解释。 如果我找不到一个,我会转向寻找社会解释。
我将运行一个服务器来保护区块链networking(许多带有暴露IP的服务器 – 没有域名!)。 在服务器上将只有SSH,Fail2Ban,UFW,MONIT和所需的区块链客户端。 而已。 现在我正在考虑一个(D)DoS攻击,最有可能会在我的知识产权有一天击中。 阻止这种攻击是一回事,但我希望尽可能为我的区块链客户端提供最佳的正常运行时间。 所以我在考虑两个select:closures受攻击的服务器,打开备份服务器,或者为我的服务器购买更多的IP,然后切换IP。 如果“IP交换机”在这种情况下工作,比租用一个或两个备份服务器要便宜。 但我从来没有这样做过,从来没有面对(D)DoS,所以我的经验水平很低。 你怎么看? “IP交换机”工作吗? 编辑 补充想法:攻击者会攻击IP本身,还是攻击IP:PORT? 所以,问题是,可能只是改变blockchain-client的端口并closures被攻击的端口? 或者攻击者是否也可以在任何其他开放端口(如SSH)(如果攻击者执行端口扫描并find正确的SSH端口)执行(D)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攻击? 最初被问到堆栈交换
我们的E1连接正在被我们的防火墙*closures。 它每隔几天就会间歇性地发生。 我发现像这样的日志条目大约在退出的同一时间: Jun 2 09:53:35 sg580 kernel: Flood – dropped: IN=eth1 OUT= MAC=00:d0:cf:04:7c:13:00:15:2b:ff:97:68:08:00 SRC=61.162.229.252 DST=221.133.***.*** LEN=40 TOS=0x00 PREC=0x00 TTL=104 ID=256 PROTO=TCP SPT=6000 DPT=1433 WINDOW=16384 RES=0x00 SYN URGP=0 总是从相同的SRC IP呢! 我们被DOS攻击了吗? 我们能做些什么呢? 谢谢, 阿什利 *我们的防火墙是SnapGear SG580
上周我问了这个问题,并遵循了debuggingbuild议,现在有了更多的信息。 我有一个奇怪的问题 – 在一个高stream量的网站上(每月有数百万的访问者),每天我们得到大约20个左右的情况,一个主机开始不断请求同一页面,每秒多次 – 从几分钟到一整天的任何时间长度。 这次攻击显然不是恶意的,因为我已经回溯了IP地址,并将其与我采访过的一些注册用户进行了匹配。 他们说,当这种情况发生时,他们的电脑变慢了,但是否则可以使用。 这不会发生在每一页的负载,而是零星的。 日志命中有以下特点: 他们开始“正常” – 首页加载实际上访问所有页面的资源(图像等),以及.php 然后主机开始请求只是PHP页面,没有资源不断,通常每秒(但有时更快,有时慢几秒) 远程浏览器总是Firefox 3.x(我们已经看到高达3.5.3和低至3.0.2) 即使第一个页面请求有一个,后续的点击也没有引用 只要访问者在该特定页面上,这种情况就会持续下去,而下一页加载通常是正常的 用户经常忘记发生了什么 – 他们的页面没有重新加载,所以发生在他们的背景下,我相信Firefox只是把信息扔掉 这发生在静态(例如,联系人)和dynamic页面(例如邮箱) 受影响的主机的IP分配没有我能辨别的相似性(例如,它们并不都是企业防火墙的后盾) 我们认为页面上的一个错误的JavaScript可能导致它,但完全禁用JavaScript并没有影响到所有的问题 我们终于明白如何处理这件事。 一个简单的DoSfilter是不合适的 – 我们拥有这个filter,触发它的阈值远高于单个页面请求(没有相关的图像,CSS等)。 我们还安装了mod_evasive,但是这并不能捕捉到这些,因为我们有一个多服务器系统,并且是以每个孩子为基础运行的。 该堆栈是LAMP,Redhat安装,PHP 5.2,Apache 2.2.3,NGINX框在多个Web服务器和数据库后端作为软件负载均衡器运行。 在没有好的想法的情况下,我们采用在memcached中编写我们自己的虚拟filter,在memcached IFF中存储IP + URI的密钥,用户是Firefox 3.x,并且引用者是空白的,并且递增每个页面请求。 一旦在一段时间内超过一定的门槛,我们还有403个要求。 但是,我不认为这是networking堆栈中处理这个问题的适当的地方。 希望有人看到这些,可以帮助我们find模式。 感谢您的贡献!
我在加拿大的某个地方租了一台服务器,所以我正在使用我的网站。 该网站有近40万页,我想今天索引。 为此,我回写了一个爬虫(请参阅Stackoverflow.com上的JCrawler )。 现在,我很贪心,不想花太长的时间,所以我跑了多个线程,每秒从我的IP中请求60多个请求。 几分钟后,我的服务器locking了我。 我仍然可以通过FTP进入,但是我不能HTTP。 作为服务器pipe理员或用户,您是否知道服务器通常如何处理这些情况? 永久或暂时禁止知识产权或通常做什么是常见的做法? 自然,一旦我回来,我会用更less的请求重新运行我的软件。