那里有很多机器人。 雄伟的机器人是其中之一。 它有时会强行抓取网站的页面,即服务器有时在1秒内发送100个请求。 雄伟的机器人只是一个例子。 我不想阻塞某个bot,有很多bot,试图检测它们是浪费时间。 我的问题是:我如何限制某个机器人发送给Nginx服务器的HTTP请求? 举例来说,在1秒内只允许10个IP地址的请求。 而且这个操作是否消耗明显的资源(因为IP地址应该被检查并存储在某个地方)?
我运行一个网站,每天都被滥用机器人试图发送垃圾邮件,不尊重robots.txt等。 但最大的问题是重复尝试大量收集网站。 现在我有我自己的脚本,它使用Nginx来阻止ips行为。 这个列表包含100000+ ips,而且还在增长。 现在的问题:我正在迁移我的网站到一个新的服务器。 我想咨询一下如何阻止这么多的ips。 最受欢迎的解决scheme是Fail2Ban,但是它可以禁止使用iptables,这些iptables有其自身的限制(约4500条规则,请参阅iptables支持多less规则? )所以,阻止最大4500 ips对我来说绝对是不够的。 我想知道什么是克服这个限制的最好方法。 我应该添加规则fail2ban阻止ips使用nginx或我应该使用另一种方法?
我使用以下命令来testing是否应用了IOPS和磁盘读/写限制,但它们不是。 只要我运行命令,磁盘使用100%的IO和带宽。 想了想,我试着对磁盘进行检查,我不知道应该使用哪个磁盘,因为我有xvda,xvdf和dm0-dm8。 docker run –rm –device-read-bps = / dev / dm-0:1000 –device-write-bps = / dev / dm-0:1000 –device-read-iops = / dev / xvdf: 20 –device-write-iops = / dev / xvdf:20 nginx bash -c“time dd if = / dev / zero of = testdocker bs = 512k count = 1000 oflag = dsync” 有什么理由说它不起作用? 操作系统是Ubuntu和docker版本是:docker版本1.13.0,build立49bf474 […]
我有一个以下的nginxconfiguration: http { (…) limit_conn_zone $binary_remote_addr zone=limitapinoauth:16m; limit_conn_zone $remote_user zone=limitapi:32m; map $remote_user $zone { default 'limitapi'; '' 'limitapinoauth'; } map $zone $num { 'limitapi' 100; default 200; } server { listen 80 default; root /var/www/example.com/public_html; limit_conn $zone $num; } (…) } 预期的行为是映射variables被评估为在最后一行使用,但它们不是。 任何想法为什么? 我得到以下错误: nginx: [emerg] invalid number of connections "$num" 当我将$ num更改为整数(即200)时,错误是: nginx: [emerg] […]
我试图在Windows Server 2012虚拟机上运行基于策略的QoS(在Hyper-V上运行),但由于某种原因,它并没有踢入。我添加策略的方式是进入本地组策略编辑器==> Windows设置==>基于策略的QoS,并为特定的exe文件(没有使用path,只是EXE名称)添加一个新的策略,DSCP值为0,并且40960的节stream率作为开始。 当我运行exe文件时,它很快就开始打出100mb / s或更高的出站速率,这是不应该做的。 我试图做一个gpupdate /force到服务器,但这并没有改变任何东西。 最后,我把QoS策略改为任何应用程序,TCP / UDP和40960的节stream率,但是对我来说还是没有任何限制 – 它仍然在100mb / s以北运行,这与相当大的一个主机法案。 任何想法,我怎么能限制这个exe文件? 我不能使用我们的路由器,因为我不知道这个出站stream量的目标IP地址 – 它只是使用DNS到Azure,如果他们改变了IP,我会不走运。 编辑:我发现一个SF的post(这里: 我怎样才能限制在Windows Server 2008 R2中的用户带宽 ),提到了一个名为NetLimiter 4实用程序,并给它一个镜头,但它也似乎并没有限制,因为我的带宽是仍然高达90mb / s。
我有一个有两个接口的Ubuntu机器。 eth1是NAT接口,eth2是WAN iterface。 我有一个4 mbps的互联网连接。 我想将eth1 NATnetworking限制为2 mbps。 所以我使用这个tc规则: tc qdisc add dev eth1 root tbf rate 2mbit burst 10kb latency 70ms peakrate 2.4mbit minburst 1540 现在,如果我检查eth1的带宽是250 KBps,这是好的。 但eth2的带宽不止于此:它将在300 KBps到400 KBps之间。 如果我检查tc规则的状态,它会显示重大的数据包丢失。 如何限制eth2的传入带宽为2 mbits,如何防止丢包? 我试着在这个答案给出的解决scheme。 行tc qdisc add dev eth2 ingress给了我一个file exists error 。 答案中的第二种方法显示了我在这里提到的相同的行为:通过eth2获得更多的数据(大于2mbit)。 编辑1:我可以使用什么iptables和tc规则来减慢SYN,ACK,FIN数据包,以使ISP路由器知道我的本地networking拥塞。
一个客户的网站目前正在遭受攻击,我已经被调用来解决这个问题。 大量的IP(容易超过5000个)不断地打/login ,可能试图暴露自己的方式。 我已经改变了网站,所以页面返回一个500错误,但他们并没有放弃。 显然这对于现在无法login的真实用户来说并不好。 负载平衡是通过HAProxy来完成的,我对这方面的知识还很less(虽然我比几个小时前还多了很多)。 我已经尝试了很多我在网上find的明智的东西,但似乎没有任何帮助,可能是因为存在如此大量的IP来执行攻击。 在这个问题上,那么: 如果在Y秒内点击/login超过X次,我该如何拒绝IP? 而且,子点 – 我怎么能看到拒绝的日志,所以我知道它实际上工作? 以下是haproxy.log的示例: Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.79:15290 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-03 751/0/202/38/991 500 220 – – —- 428/428/120/38/0 0/0 "GET /login HTTP/1.1" Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.63.132:47804 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-04 751/0/202/38/991 500 220 – – —- 428/428/119/42/0 0/0 "GET /login HTTP/1.1" Jun 3 […]
请不要回答“这是不可能的”,因为这是浪费时间。 我正在开发云设备,我有一个合理的理由来保护这一层免受DDoS攻击,而且也没有几家公司在做相同的事情,所以请不要告诉我,我没有这个意思,很多公司都希望购买这个解决scheme,看到与使用股票Linux实施它的问题 由于缺less像CPU和RAM这样的资源,我的Linux内核在10.000连接上崩溃。 我想知道如何安全地限制它,它不会在netfilter连接跟踪表或其他地方创buildtcp / ip连接,当有人试图从各种主机打开100.000连接? 网卡是1GBps和缓冲区最大,它可以采取很多的连接,但我想它只有5.000在同一时间,其余的被丢弃,除非有空闲的连接插槽。 在内核级别,所以不会污染netfilter或其他任何东西,并且会尽快删除。 有这些因素: HAProxy连接的数量仅限于5.000 Linux崩溃了10.000打开的连接 我想每分钟经受住100.000次打开的连接,所以也许netfilter可以处理它,但是没有HAProxy。 现有的连接继续运行 这是为了使机器不受oos攻击而承受DDoS攻击,而且一旦攻击中断,服务就会自动以低速率恢复正常的方式。 这是关于服务器实例的物理层,而不是交换机。 假设交换机正在向我传递我能处理的这么多的stream量,上游提供商并不总是有可能调整或保护这个。
lookikng限制来自客户端的api请求的数量。 想知道是否有办法做到这一点与Apache或我必须写一些代码
我试图限制exim4每个域每天发送邮件,我发现这个: acl_check_ratelimit: accept authenticated = * endpass ratelimit = 40 / 1d / per_rcpt / leaky / ${lc:${local_part:$authenticated_id}} accept 它的atm在我的exim4.conf.templateconfiguration,但它dosent作品,任何想法? 我正在使用exim 4.80,谢谢