2013年3月のアーカイブ

Search




TOPページへ

このブログのフィードを取得
[フィードとは]

Powered by
Movable Type 4.23-ja

template by tokyobuddha

 ■■■■■免 責■■■■■
このサイトを参考にしたために発生した一切の損害に「てきとー管理者」は一切関知しませんし、補償もしません。 また、本サイトの記述が正しいことも保証しません。
自己責任にてお願いします。
 -------------------------

Galler Chocolate
ベルギー王室御用達として認定されたチョコレートブランド、ガレー。

岩塩ならクリスタルキンガ
野菜、肉、魚など素材本来の味を引き出します。上質でクセがなく西洋料理はもちろん中華、日本料理にも幅広くお使い頂けます。

トラフィック増加の原因と対策

先日から急激にトラフィックが増えていた件だが、原因が判明した。
やはりDNSの問い合わせが異常発生した為で有った。

先ず、tcpdumpでUDPパケットだけを拾ってみた。
# tcpdump -n -vvv -X udp -s1500 -i eth0
     ※ tcpdump -nX udp -i eth0 でも良さそうだけど・・・

00:21:14.646304 IP (tos 0x0, ttl 234, id 20378, offset 0, flags [none], proto: UDP (17), length: 56) 195.137.101.202.hp-managed-node > XXX.XXX.XXX.XXX.domain: [no cksum] 18592+ [1au] ANY? . ar: . OPT UDPsize=9000 (28)
0x0000: 4500 0038 4f9a 0000 ea11 87ed c389 65ca E..8O.........e.
0x0010: b630 19a9 017e 0035 0024 0000 48a0 0100 .0...~.5.$..H...
0x0020: 0001 0000 0000 0001 0000 ff00 0100 0029 ...............)
0x0030: 2328 0000 0000 0000 #(......

00:22:30.392590 IP (tos 0x0, ttl 238, id 27531, offset 0, flags [none], proto: UDP (17), length: 56) 85.92.53.200.62365 > XXX.XXX.XXX.XXX.domain: [no cksum] 46128+ [1au] ANY? . ar: . OPT UDPsize=9000 (28)
0x0000: 4500 0038 6b8b 0000 ee11 062a 555c 35c8 E..8k......*U\5.
0x0010: b630 19ab f39d 0035 0024 0000 b430 0100 .0.....5.$...0..
0x0020: 0001 0000 0000 0001 0000 ff00 0100 0029 ...............)
0x0030: 2328 0000 0000 0000 #(......

こんな感じで多数のアクセスが来ている
ザッと見た感じ、1秒間に50回から100回のアクセスが・・・

こんなんで80M近くのトラフィックが出るんだ・・・・
怖い怖い。

ってことで、対策が有るか調査してみた。
不正と思われる通信パケットには共通して
[1au] ANY? . ar: . OPT UDPsize=9000 (28)
が有る。

これでググってみると、同じようなことで悩んでいる人がいましたョ。

http://www.lancard.com/blog/2012/08/31/dns%E3%82%B5%E3%83%BC%E3%83%90%E3%81%B8%E3%81%AEany-%E3%81%AA%E9%80%A3%E7%B6%9A%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E5%AF%BE%E5%BF%9C/
※勝手にリンクはって申し訳ないです。

この方が行った対策は、iptablesで特定の文字列が有った場合にドロップする仕組みである。
最初は全てのソースIPを登録しようと考えていたがきりがないですね。

対策としては、上記のtcpdumpデータで30byte目以降のパターンを吸い上げて一致したらドロップする仕組みらしい。
これは、効き目がありそうだw

私の環境ではこのように設定してみた。
iptables -t raw -I PREROUTING -p udp --destination-port 53 -m string --algo kmp --from 30 --hex-string "|010000010000000000010000ff00010000292328000000000000|" -j DROP

設定直後、一気にトラフィックが減った。

それにしても、なんで ANY?  なんて言う問い合わせが来るんだ?
それも、1秒に50回以上も・・・
これは、攻撃の一種ですかね?

投稿時間: 00:17

dstat を試してみた

管理しているサーバのトラフィックが急激に増えてきた。
常時50M程度のトラフィックが発生。
でも何にこんなにトラフィックが発生しているのかが分からない。
そこで、簡単に通信量が目視出来るTOOLを探していた所、dstatと言うものがあるらしい。
通信以外にも、CPUやメモリ。 そしてDISK IOも見られるらしい・・・

CentOS5の場合、サクッとyumでインストール出来る

# yum install dstat

インストールが完了したら下記のコマンドで通信部分だけチェック

# dstat -n 5

ここで5と入れたのは、5秒ごとの表示ですね。

# dstat -n 5
-net/total-
recv send
0 0
462k 9415k
427k 9445k
517k 9579k
491k 8954k
434k 10M
493k 9878k
424k 8970k
474k 8813k
506k 9.8M
486k 8726k
484k 9677k
488k 9414k

瞬間的に80Mを超えている時も有る。
netstatでチェックしてもTCPでの通信が発生しているわけでは無い。
UDPで外部に対して公開しているのはDNSサービスのみ。

そこで、namedを一旦停止してdstatでチェック

# dstat -n 5
-net/total-
recv send
0 0
459k 18k
418k 35k
445k 33k
428k 21k
404k 19k

予想通りであるが、DNSの問い合わせで80Mも超えることって有るの?
至急原因を調査せねば・・・・

ちなみに・・・・
# dstat -Tclmdn 5

で出力すると、色々出てくるw

Terminal width too small, trimming output.
--epoch--- ----total-cpu-usage---- ---load-avg--- ------memory-usage----- -dsk/total->
epoch |usr sys idl wai hiq siq| 1m 5m 15m | used buff cach free| read writ>
1362201773| 20 4 70 5 0 1| 1.1 1.3 1.3|1129M 388M 5654M 803M|2853k 8963k>
1362201778| 1 0 98 0 0 0| 1 1.3 1.3|1129M 388M 5654M 804M| 0 139k>
1362201783| 1 0 98 0 0 0| 0.9 1.2 1.3|1126M 388M 5654M 806M| 0 218k>
1362201788| 21 5 73 0 0 1| 1.2 1.3 1.3|1124M 388M 5654M 808M| 0 6894k>
1362201790| 28 6 63 2 0 1| 1.2 1.3 1.3|1125M 388M 5654M 808M| 0 18M>

CSVとかで吐き出すことも可能なので、色々使い道がありそうだな。

投稿時間: 14:11