web-dev-qa-db-ja.com

DDOSを止められない

Ddosを扱うのに少し助けが必要です。サーバーで1GBのddos攻撃が発生していますが、それを阻止する方法がわかりません。 (1GBはサーバーの最大速度です。)

私は次の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

ただし、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

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      

nginxで私は

limit_req_zone  $binary_remote_addr  zone=one:10m   rate=5r/s;

このスクリーンショットでは、実際の数値を確認できます。私の通常の使用法は5mb /秒以下です。 enter image description here

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
4
Orlo

私が見る限り、iptablesの質問は赤いニシンです。ルールはこれらのパケットを問題なくドロップしているため、非常に大きなパケットは5番目の最後のルール(DROPルール)にカウントされます。 )。

あなたの質問から、あなたはそれらを単に落とすだけでなく、あなたのポートでそれらをまったく見たくないと思います、そしてそれはあなたのプロバイダーと話すことによってのみ達成することができます。送信元ポート53ですべてのインバウンドUDPトラフィックをブロックするだけで、DNSが破損するため、サーバーの動作が停止する可能性がありますが、2つまたは3つの特定のアップストリームDNSサーバーのみを使用するようにサーバーを再構成できる場合は、プロバイダーを取得する可能性があります。他のすべてのインバウンドポート53トラフィックをブロックします。

編集:あなたの貧しいプロバイダーに関する私のコミッション。ハードウェアファイアウォールの問題は無関係だと思います。そのうちの1つは、ポートへのトラフィックの配信を停止せず、ポートとサーバーの間にのみ存在し、サーバー上のリソースを消費するトラフィックを停止します。サーバー上でリソースの問題を引き起こしているという上記の証拠は見当たらないので、それがどのように役立つかわかりません。

責任あるプロバイダーがポートへの特定の種類のトラフィックを一時的にブロックすることに同意することは実際にはごく普通のことですが、プロバイダーがこれを行わない場合は、肩をすくめて嵐を乗り切る以外にできることはないと思います。次に、契約が更新されたら、他のプロバイダーを調べます。

7
MadHatter

ポートサイズが1Gbpsよりも小さいと仮定します。

簡単な答え。ハードウェアファイアウォールを入手してください。 dDoSとの戦い、特にGbps範囲のdDoSは、実際のサーバーでは発生しません。

すべてのトラフィックがポート53から発信されている場合は、プロバイダーにポート53をアップストリームでブロックさせます。

5
Jason