研究室のウェブサーバに SYN Flood と思われる攻撃が

2007-03-08 00:17:59 | | このエントリーを含むはてなブックマーク | Tag: linux syn_flood サーバ サイバー攻撃 ハレ晴レユカイ 研究室 大学

初めて SYN Flood を経験しました。で、それの対応が思ったより大変でした。

なんとなく研究室のウェブを見ようと思ったら、サーバへのコネクションがタイムアウト。おかしいなぁ、と思って cmd より telnet してみると、繋がるときと繋がらないときがある。確実に変なので ssh でログインしてみると、とても反応が遅い。ログインするのに 2 分かかったんじゃないかというくらい遅い。

load average を調べるために uptime をしてみると 100 を超えている。初めて見たよ、こんな数字。ps aux でプロセスを調べてみると apache が沢山走っている。コネクションが沢山張られている為と推測できたので netstat -an してみると SYN_RECEIVED が沢山並んでいた。IP アドレスが異なったので、恐らく SYN Flood の DDoS かと。試しに cat /proc/sys/net/ipv4/tcp_syncookies をすると 0 だったので、SYN Flood に対して弱い子でした。

というわけで SYN Flood に強い子にしよう計画。先ずは 80 ポートを iptables で塞いで新規リクエストを拒否。続いて /etc/init.d/apache2 stop でプロセスを止めようと思ったけど全く利かず、やむを得ず killall apache2 で対応。apache2 プロセスを全て止めると、プロセス数が 200 から 85 くらい、同時に load average も 2 くらいに激減。続いて sysctl -w net.ipv4.tcp_syncookies=1 で SYN Cookies を使う設定に。んで /etc/init.d/apache2 start の後、iptables の制限を解除してサービス再開。ここまで 30 分くらいかな。

時間かかった言い訳をすると、load average が 100 でコマンドが実行されるのに 20 秒くらいかかったし、tcsh のディレクトリ補完をやると 20 秒くらい待たされたし、サーバが Debian だったし、Kernel 2.4.x だから tcp_syncookies に対応しているか不安だったし、/sbin:/usr/sbin にパスが通ってなかったし、servece コマンドが居ないし、無闇にウェブサーバ止められないし、ハレ晴レユカイを聞いてたら何も考えられなかったし、相変わらず攻撃受け続けてて指が震えるし(何)。

というわけで SYN Flood を喰らわないようなサーバ設計をしましょう(違)。

Related Entries

Trackbacks

Trackback URI: http://blog.c--v.net/trackback/2007/03/08/1

There is no trackback.

Comments

There is no comment.

Name
URI (Homepage or Email)
Body