Articles of 限速

简单的Apache模块来抑制基于机器负载的请求?

我有一个Apache服务器,为mod_wsgi提供一个django应用程序。 我想知道是否有一个简单的方法来抑制在Apache的水平基于机器的负载的请求。 理想情况下,我想要一个Apache模块,如果负载低于某个数字,一切正常。 但是,如果负载高于某个值,则X%的IP地址将在Y分钟内被提供给静态HTML页面。 这个软件是否存在? 我们正在寻找一个“穷人的节stream系统”。 我们可以快速轻松地进入。基于机器负载的节stream是好的,因为这意味着事情最终会恢复正常。 我们的Web应用程序做了很多处理,所以限制带宽的东西不会在这个上面起作用,它不是我们想要“扼制”的带宽,而是请求。 理想情况下,我们希望一些现有的请求(即基于IP地址)能够持续一定的时间(以便他们可以完成他们的工作)。

基于事先请求的速率限制nginx

这不是一个问题,但我得到了大量的漏洞扫描器和脚本小子不断打击我的网站。 我的网站不运行WordPress,但它不断地扫描WordPress的漏洞,并尝试点击/admin /wp-admin.php等不/wp-admin.php 。 一旦他们击中黑名单中的任何URL,我想要做的是限制特定IP。 我知道我不能完全阻止脚本小子,但是我想慢下来,以阻止它。 例如: 假设我正在运行首先尝试使用/wp-admin.php的漏洞扫描程序。 Nginx会看到这个特定的位置,并将我的IP添加到一段时间内被禁止或限速的IP列表中。 有没有一种方法可以完全通过Nginx的configuration? 我知道使用OpenResty / Lua是可以实现的,但据我所知这是一个相当高效的任务。 Fail2ban也不是一个选项,因为我运行在负载均衡器后面,因此需要依赖显然iptables无法匹配的X-Forwarded-For头。

IPTables +限制模块:为什么不限制爆炸得到完全使用?

很久以前的读者,第一次海报.. yada yada yada .. 不pipe怎么说,我希望有人有一些广泛的iptables / netfilter LIMIT或HASHLIMIT模块的经验,并解释我目睹的行为。 背景:我们有一个networking服务器,并希望限制一个月内客户可以拥有多less连接(HTTP Keepaliveclosures,顺便说一句)。 所以,我正在尝试使用iptables LIMIT模块来限制它们的新连接数量,以每月设定的数量(比方说500)。 iptables LIMIT模块使用“令牌桶”algorithm,所以我应该能够将限制突发(桶大小)设置为500,将限制(重填率)设置为500除以28天或大约18 /天。 这将确保在一个月的时间(4周)内,如果每一次都完全清空,那么桶就会被重新填充。 (我知道这实际上会授予超过500个,但它应该足够接近我们的需要)。 这里是我的iptables规则(我们使用ipset对IP进行分组,LimBurTest4包含我的源testing机器) Chain INPUT (policy DROP 2316 packets, 186K bytes) pkts bytes target prot opt in out source destination 2952K 626M ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED /* Accept outgoing return traffic */ 379 13702 […]

Nginx:速率限制在高input速率下无法按预期工作

我一直在试验Nginx的速率限制一段时间,有一些行为,我不明白。 我正在使用我的configuration中的突发和nodelay,并按照预期的速率限制工作如果我保持速率和突发一个很小的值(分别低于40req /秒和40左右)。 当我configurationnginx更高的请求率(并相应地调整突发)的时候,我看到更多的请求比预期的由nginx处理。 例如,如果input是1000 req / sec,并且nginx被configuration为在30 req / sec的速率限制下, burst=30且启用了nodelay,则速率限制按预期工作。 然而,在input1000 req / sec和nginxconfiguration为100 req / sec的速率限制的情况下,当burst=100和nodelay被启用时,我没有看到预期的结果。 在这种情况下,Nginx处理的请求数比预期的要多得多。 在一个1000分钟的testing中,总共有60k个请求被推送给Nginx。 Nginx的configuration速率限制为100 req / sec, burst=100 ,我预计只有〜6000个请求会被Nginx处理,其余的应该被删除。 但是,我看到〜50K的请求得到处理。 即使速率为100瑞克/秒, burst=20 ,约25K的请求得到处理。 使用示例configuration: limit_req_zone $host zone=perhost:10m rate=100r/s; limit_req zone=perhost burst=100 nodelay; limit_req_zone $host zone=perhost:10m rate=100r/s; limit_req zone=perhost burst=20 nodelay; 我保持速度和爆发力相等,以确保如果所有请求都一起login到Nginx,则不会丢失任何请求。

知道parsing速度testing结果的方法吗?

我喜欢SpeedTest.net ,但是我真正想做的是在仙人掌中放置一个graphics,每半小时运行一次速度testing,并绘制结果图(可能每次运行三次并平均)。 我可以做的仙人掌部分,但我需要一个脚本(perl,python,php,bash,ruby,无论),可以产生速度的结果。 有没有人知道这样做的脚本,或者一个网页,将脚本友好,我可以打和parsing?

我如何使用fail2ban来阻止刮板?

我有一个媒体网站和用户出现的问题,并抓取所有的内容。我在网页上放置了一个不可见的URL来捕捉立即阻止IP的蜘蛛,但有些人已经找出了URLscheme,并正在创build自己的脚本。 到目前为止,我所见过的所有fail2banfilter都处理失败的login尝试,但是我希望有一个更高级的检测,然后进行速率限制和/或阻止滥用者。 刮板使用的url都是有效的,所以如果速度足够慢,我就不能说了,但是我想我可以通过fail2ban把业余爱好者排除在外。 我如何以正确的方式在fail2ban中实现这个filter,同时最小化我对合法用户的误报?

限制在WHM / cPanel / Exim / CentOS 5系统上的出站电子邮件。 。

我有一个客户正在使用Interspire电子邮件营销人员发送他的电子邮件,这家伙每个会话发送10万封电子邮件,每月大约3-4次。 他是我的托pipe客户之一,我试图限制他发送的消息,所以有些ISP(例如Yahoo!)不会开始限制他的速度,并将他归类为垃圾邮件发送者。 他的FBL电子邮件给我(abuse @),如果他们不使用白名单,我已经申请了大多数ISP(AOL,Yahoo!等)或他们的FBL的白名单。 我甚至设法让他在DNSWL.org上市(他起初不接受他,因为他没有邮件logging)。 我还设置了一个合适的rDNS PTRlogging,设置了他的SPFlogging,并在他所有的出站电子邮件上签名了DomainKeys签名。 所以现在,我只想知道如何在服务器上直接限制他的出站消息。 我非常精通SSH,并可以根据需要操作cPanelconfiguration文件。

Postfix和smtpd_client_rate_limit来检测危害的帐户

我们的一些客户是需要向不超过300个客户发送合法消息的pipe理员,在“收件人:”字段中指定所有这些客户端,而不是每个客户的个别消息。 之后,postfix将“调整”消息,以便仅分别使用一个“收件人:”收件人发送单独的邮件。 所以,我想configurationanvil参数,考虑到这种types的要求,以检测被盗用的帐户。 我的疑问是,Postfix是否将这种特性的电子邮件(300个收件人)视为只有一个“传送请求”? (具体来说,从smtpd_client_message_rate_limit的angular度来看)。

如果粘贴表已满,Haproxy可否认IP请求?

在我的haproxyconfiguration我设置了一个大小为5的存储每个进入的IP地址(1分钟)的粘贴表,它被设置为nopurge所以新的条目将不会被存储在表中。 我想要发生的事情是他们会被拒绝,但是这并没有发生。 棒桌线是: stick-table type ip size 5 expire 1m nopurge store gpc0 整个configuration是: global maxconn 30000 ulimit-n 65536 log 127.0.0.1 local0 log 127.0.0.1 local1 debug stats socket /var/run/haproxy.stat mode 600 level operator defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms backend fragile_backend tcp-request content track-sc2 src stick-table type ip size […]

使用BIND在DNS服务器上configurationRRL

我想configurationDNS服务器以使用响应速率限制(RRL)来缓解DNS DDoS攻击。 无论如何,我必须将它configuration为顶级使用RRL,其中'slip'参数为2。 我已经做了一些search,但是我还没有发现任何关于这个参数的明确信息。 我发现的唯一的东西是它表示“有多less个UDP请求可以用截断的响应来回答 ”,并且“ 设置为'2'意味着每隔一个查询得到一个简短的回答 ”。 来源: https : //conference.apnic.net/data/37/apricot-2014-rrl_1393309768.pdf (幻灯片26) 那是什么意思? 如果DNS服务器收到3个UDP请求,最后一个会被截断? 但是多久?