有这样的文章提出了这些iptables规则的forms来阻止在很短的时间内进行太多的SSH连接: -I INPUT -p tcp –dport 22 -i eth0 -m state –state NEW -m recent –set -I INPUT -p tcp –dport 22 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 4 -j DROP 根据文章,“如果这些规则每分钟尝试超过3次连接到SSH,将阻止一个IP”。 如果iptables的INPUT链configuration为默认的DROP策略,那么以下规则是否与前面显示的规则等效? -I INPUT -p tcp –dport 22 -i eth0 -m conntrack –ctstate NEW -m limit –limit 3/min […]
我试图设置Nginx的limit_req模块来限制任何IP可以对同一个URL做出的请求速率。 我想用一个由客户端的IP和请求URI的组合组成的关键字来定义limit_req_zone 。 那就是,而不是这个: limit_req_zone $binary_remote_addr zone=req_dev:10m rate=2r/s; 像这样的东西: set $ip_url "$binary_remote_addr$request_uri" limit_req_zone $ip_url zone=req_dev:10m rate=2r/s; 但是这不起作用,因为set不能在http上下文中调用: nginx: [emerg] "set" directive is not allowed here in /etc/nginx/nginx.conf:47 有没有办法做到这一点? 只是要清楚:我不想限制一个特定的url的速度。 我想避免每秒两次以上的IP地址。
我在中国有一个很傻的人(根据IP-Reversal网站),他正尝试使用RDPlogin我的机器。 当我发现一条类似于这个消息的消息stream时,我首先注意到了这一点: [LAN access from remote] from 117.66.240.198:65086 to 192.168.1.20:3389 Thursday, November 16,2017 10:20:17 [LAN access from remote] from 117.66.240.198:56522 to 192.168.1.20:3389 Thursday, November 16,2017 10:19:00 无论如何,我不关心,因为他正在尝试每分钟左右login到pipe理员帐户。 我已经将其禁用并locking了。 The computer attempted to validate the credentials for an account. Authentication Package: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Logon Account: ADMINISTRATOR Source Workstation: Error Code: 0xC000006A 我知道我可以将RDP的端口改为3389以外的东西,但是我需要坚持这个端口,因为我的办公室只允许RDP默认的端口。 我也知道,我可以设置一个VPN,但是这又可能是一个矫枉过正的案件。 我改变了Windows防火墙,只允许来自IP地址范围的RDP连接,但必须恢复,因为我的办公室使用不同的ISP,IP在任何时候都可能不同于下一次networking重启之后。 我希望看到他试图使用的密码来闯入他的方式。 反正我也有(使用默认的Windows策略)遏制/禁止一段时间发送无效凭证的IP? 另外,因为我有一个dynamic的IP,我做的第一件事是重启我的路由器,并得到一个新的IP,但显然这个习惯是太强了,因为另一个愚蠢的家伙不用花一天时间就开始尝试运气一个新的IP地址范围,并将其纳入其中。
我有一些合作伙伴,使用我的一个Linux服务器作为网关。 问题是我需要在这个网关上限制每个客户端ip地址的带宽。 我的合作伙伴客户端IP范围是不知道的。 我一直在看Traffic Control和iptables,但是找不到解决scheme。
我正在运行一个使用http伪stream传输video的lighttpdvideostream网站。 如果用户连接速度非常快,则可能会非常低效地使用带宽。 例如,如果用户下载整个video文件,但只看到一半,这会浪费大量的带宽。 这个问题的一个可能的解决scheme是RTMP,但是可能会有防火墙问题,并且不会让缓慢连接的用户缓冲video。 更好的解决scheme是将video传输速率限制为例如video比特率的1.25倍。 这意味着用户仍然可以暂停和缓冲video,但真正快速连接的用户不会浪费带宽。 这个function是由lighttpd 1.50通过发送X-LIGHTTPD-KBytes-per-second提供的,但是开发已经停止。 有没有其他的方法来做到这一点在Linux?
如何在Cisco路由器中设置ICMP速率限制? 在手册页上,他们只讨论ICMP不可达消息: ip icmp rate-limit unreachable [df] [ms] [log [packets] [interval-ms]] 还有什么还包括其他ICMP消息types? 例如,如果我想限制发送超时消息的数量呢?
我有一个应用程序,在Windows 7或8上使用FTP,它没有试图上传一个文件(超时,服务器发送回RST包,所以它肯定是不愉快的服务器)到特定的服务器。 与命令行ftp相同的问题。 与FileZilla它也失败,除非我打开速度限制(以2kB /秒上传),然后它工作正常。 那么,我如何减慢通用ftp,我假设应用程序正在使用? (这可能是一个错误的假设,因为我真的不知道应用程序如何调用ftp。)还是有另一种方法来configuration数据包大小或其他方式来限制数据。 我通过防火墙查看数据包,当他们从我的Linux机器上传576字节的数据包时,它工作正常,但是当它在596从我的Windows窗口,它失败。 我不知道数据包的大小是否与它有关。 它正在上传到一个不显然是非常新的Windows服务器。 更新:与速度无关,与数据包大小无关。 默认的服务器数据包允许536个字节的数据,而且默认的客户端大小要大得多,所以当服务器通过发送RST数据包而收到一个太大的数据包时,服务器会抱怨,而客户端不会再以较小的大小再次尝试。再次以相同的大小,或者如果它确实那么我的防火墙不允许它的工作。 如果有人可以解释,我会很感激。 与此同时,服务器的所有者翻转了一个允许“碎片包”的交换机,现在它工作。
我search了,我无法find一个规则来限制每秒和每IP的inputUDP端口的传入数据包的计数。 我需要每个连接到我的套接字的IP ,而不是一个特定的 IP 。 我在Ubuntu 14.0.4 LTS amd64上使用iptables。 我很熟悉UDP是如何工作的。 在我的情况下,有人可以使用不同的端口创build大量的UDP套接字。 我只需要一个IP就可以连接到我的UDP端口。 这可能与iptables? 我知道Netfilter和C ++,我可以这样做吗?
我正在确保家庭网关级别的UDPstream量延迟。 在这个家庭网关,我有两种types的stream量,TCP和UDP,我保证通过使用HTB来区分对待。 我testing的带宽等于1Mbit / s(因此连接到仿真的ADSL 1Mbit链路)。 我使用以下configuration: tc qdisc add dev br0 handle 1: root htb default 15 tc class add dev br0 parent 1: classid 1:1 htb rate 1000kbit ceil 1000kbit tc class add dev br0 parent 1:1 classid 1:14 htb rate 200kbit ceil 1000kbit prio 1 tc class add dev br0 parent 1:1 […]
在某些情况下,我发生了一些自我伤害的DoS,我试图找出是否可以使用iptables来缓解这种情况。 简短的版本是“我怎样才能限制传入连接到服务器的速度,比如每5秒使用iptables规则不超过2秒?”。 我已经阅读过这样的问题,虽然连接起来了,但是我的答案(我已经尝试过了 – 见下文)并没有达到我所追求的目标。 长版本是我们的客户端/服务器应用程序保持活动连接,并且我们的客户networking之一不断断开连接,这意味着大量(15+)客户端同时断开连接。 当他们的networking连接恢复时,他们都试图同时重新连接,造成一种DoS。 长期的解决scheme是我们在客户端重新连接代码中实现随机退避,我们正在这样做。 与此同时,我迄今为止所尝试的是基于上述SF答案的资源。 从那里,我创造了这两个规则: -A INPUT -p tcp -s 54.208.46.226 –match state –state NEW –match recent –set -A INPUT -p tcp -s 54.208.46.226 –match state –state NEW –match recent –update –seconds 5 –hitcount 3 -j DROP 注意我已经指定了一个我们自己的IP地址进行testing,所以我可以尝试从这个IP连接,看看是否连接被阻止或允许。 这样的作品,第一次连接尝试被接受,第二次。 但是当第三次尝试在5秒钟内完成时,就会被阻止 – 到目前为止这么好。 问题是,如果客户端继续尝试连接(因为我们的客户端代码目前将这样做),它仍然被阻止 – 我猜是因为第二个更新规则更新时间戳,而这个规则有效地说,必须有一个连接尝试之间有5秒的间隔 。 但是我所追求的是每5秒允许最多2个连接成功,而不pipe他们尝试连接的频率如何。 我推测它可能是–update标志,它保留了最近尝试的时间戳(而不是最近的成功,这实际上是我想testing的)。 我切换到 – […]