サーバー高負荷、タイトル= "サーバー高負荷新"、幅= 624、高さ= 265

この記事では、サーバ上の負荷の高い問題を解決するために、DoS(Denial of Service)IPとhttp://en.wikipedia.org/wiki/Null__route[null route]をどのように見つけ出すかについて説明します。

1.高負荷

最近、サーバが異常に高い負荷を受け、CPU使用率が平均15〜20%低下しました。

#top

load average: 15.08, 18.30, 20.63

2.誰が接続されていますか?

これがDOS攻撃か、あるいは単一のIPが接続を乱用するかどうかはわかりませんか?

リンク先のコマンド://linux/list-all-ip-addresses-your-server/[私のサーバに接続されているすべてのIPアドレスを一覧表示する]コマンドを発行します。

#netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

     215 122.163.226.243
     189 114.198.236.100
     156 120.63.179.245
     38 141.0.9.20
     37 49.248.0.2
     37 153.100.131.12
     31 223.62.169.73
     30 65.248.100.253
     29 203.112.82.128
     29 182.19.66.187

3つのIPの下には150以上の接続がありますが、これは実際に異常です。何をしようとしていますか?

 215 122.163.226.243
 189 114.198.236.100
 156 120.63.179.245

__P.S Googleより上のGoogle、2人はインド出身、1人はパキスタン出身。

3.ヌルルート

私は上記の3つのIPが高負荷の問題の根本原因だと信じていました。それらのIPをヌルにすると、それらの3つのIPからのすべての着信接続が破棄されます。

null routeコマンド

route add 122.163.226.243 gw 127.0.0.1 lo
route add 114.198.236.100 gw 127.0.0.1 lo
route add 120.63.179.245 gw 127.0.0.1 lo

代替コマンド+次のコマンドを使用してIPをヌルにルーティングすることもできますが、どちらも同じことをしています。

route add -host 122.163.226.243 reject
route add -host 114.198.236.100 reject
route add -host 120.63.179.245 reject

`netstat -nr`を使ってすべてのルートを表示し、ルートテーブルに追加されていることを確認します。

# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
114.198.236.100 127.0.0.1       255.255.255.255 UGH       0 0          0 lo
120.63.179.245  127.0.0.1       255.255.255.255 UGH       0 0          0 lo
122.163.226.243 127.0.0.1       255.255.255.255 UGH       0 0          0 lo

完了したら、数秒待ってからサーバーの負荷をもう一度確認してください。今は正常に戻りました。

#top

load average: 1.08, 5.30, 30.63

接続されたすべてのIPをもう一度チェックすると、その攻撃者のIPはなくなります。

#netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

     40 141.0.9.20
     37 49.248.0.2
     36 153.100.131.12
     31 223.62.169.73
     25 65.248.100.253
     29 203.112.82.128
     29 182.19.66.187
     38 142.0.9.20
     28 141.121.9.20
     38 141.0.9.201

完了しました。

4.ヌルルートを削除する

既存のヌルルートIPを削除するには、 `route delete`を使います。

route delete 122.163.226.243
route delete 114.198.236.100
route delete 120.63.179.245

参考文献


  1. http://en.wikipedia.org/wiki/Null__route—​ウィキペディアでのヌルルート

    ]

  2. link://linux/list-all-ip-addresses-your-serverに接続されています/[全リスト

サーバーに接続されたIPアドレス]。

https://www.liquidweb.com/kb/basic-dosddosmitmit-with-the-csf-firewall/

[Basic

CSFファイアウォールによるDoS/DDoS軽減]


DoS


ip address

リンク://タグ/ヌルルート/[ヌルルート]