Orl*_*rlo 4 networking ubuntu iptables ddos
我需要一些帮助来处理 ddos。我在我的服务器上遇到 1gb ddos 攻击,我不知道如何阻止它。(1gbs 是服务器的最大速度。)
我有以下 iptables 规则:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
Run Code Online (Sandbox Code Playgroud)
但是使用 tcpdump 我可以看到来自端口 53 的数据包
12:14:40.341410 IP 195.137.162.149 > x.x.x.x: ip-proto-17
12:14:40.341411 IP 193.169.188.52.53 > x.x.x.x.23495: 23454- 0/4/6 (234)
12:14:40.341414 IP 195.248.88.120 > x.x.x.x: ip-proto-17
12:14:40.341416 IP 193.19.184.42.53 > x.x.x.x.50529: 26701| 6/0/1 TXT[|domain]
12:14:40.341418 IP 192.41.13.71.53 > x.x.x.x.10634: 23454| 6/0/1 TXT[|domain]
12:14:40.341418 IP 50.97.53.214.53 > x.x.x.x.65437: 23454| 6/0/1 TXT[|domain]
12:14:40.341419 IP 192.3.130.149.53 > x.x.x.x.57519: 24820| 6/0/1 TXT[|domain]
12:14:40.341438 IP 195.182.58.136 > x.x.x.x: ip-proto-17
12:14:40.341441 IP 193.234.216.12 > x.x.x.x: ip-proto-17
12:14:40.341442 IP 195.228.85.145.53 > x.x.x.x.7903: 37969| 6/0/1 TXT[|domain]
12:14:40.341512 IP 192.195.177.60.53 > x.x.x.x.42871: 57501- 0/13/23 (718)
12:14:40.341552 IP 192.210.150.10.53 > x.x.x.x.41447: 25994| 6/0/1 TXT[|domain]
12:14:40.341556 IP 193.28.177.41 > x.x.x.x: ip-proto-17
Run Code Online (Sandbox Code Playgroud)
iptables -xnvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
415575 293176304 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
24101 1323153 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
19725 1182436 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
2 104 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
13101233 35329988490 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 488686 packets, 518540789 bytes)
pkts bytes target prot opt in out source destination
Run Code Online (Sandbox Code Playgroud)
在 nginx 我已经
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
Run Code Online (Sandbox Code Playgroud)
在此屏幕截图中,您可以看到实际数字。我的正常使用不超过 5mb/sec。
netstat -ntu | awk '{print $5}' | 剪切 -d: -f1 | 排序 | uniq -c | 排序 -n | 尾巴 | grep -v "127.0.0"
13 87.149.x.x
14 95.68.x.x
15 109.186.x.x
15 84.108.x.x
15 91.231.x.x
17 162.17.x.x
18 82.212.x.x
82 151.248.x.x
94 79.180.x.x
Run Code Online (Sandbox Code Playgroud)
就我所见,iptables
问题是一个红鲱鱼:您的规则丢弃这些数据包很好,因此非常大的数据包计数在您的第五个也是最后一个规则(DROP
规则)上。
我从您的问题中推测您不仅希望删除它们,而且根本不想在您的端口上看到它们,而这只能通过与您的提供商交谈来实现。简单地让它们通过源端口 53 阻止所有入站 UDP 流量可能会使服务器停止工作,因为它会破坏 DNS,但是如果您可以重新配置您的服务器以仅使用两个或三个特定的上游 DNS 服务器,则有可能让您的提供商阻止所有其他入站端口 53 流量。
编辑:我对你可怜的提供者的同情。我认为硬件防火墙的问题无关紧要:其中之一不会阻止传输到您的端口的流量,它只会位于您的端口和您的服务器之间并停止消耗您服务器上资源的流量。由于我在上面没有看到任何证据表明它会导致服务器上的任何资源问题,因此我不知道这对您有什么帮助。
对于负责任的提供商来说,同意暂时阻止某些类型的流量到某个端口确实是很正常的,但是如果您的提供商不这样做,那么我认为您无能为力,只能耸耸肩,度过难关,然后在您的合同到期时再看看其他供应商。
假设您的端口大小小于 1Gbps:
简单的回答。获取硬件防火墙。在实际服务器上不会发生 dDoS,尤其是 Gbps 范围内的 dDoS。
如果所有流量都来自端口 53,请让您的提供商阻止上游端口 53。
归档时间: |
|
查看次数: |
2213 次 |
最近记录: |