サーバステータスを確認するために iftop を常時起動していますが、本日、iftop の画面に目が行った時、またまた理解できない状況が発生していました。
Web サーバーなので port 80 へのアクセスがあるのは当たり前なのですが、ファイヤーウォールログと iftop では到着パケットが確認できるものの、httpd ログには記録されないという症状が発生していることに気づきました。
以下はパケットの一部を抽出したもの
タイムスタンプ パケット送信元 パケット宛先:ポート ----------------------------------------------------------- Mar 1 18:49:05 TCP 45.76.87.206:58896 116.58.172.107:80 in Mar 1 18:49:06 TCP 45.76.87.206:49289 116.58.172.107:80 in Mar 1 18:49:06 TCP 45.76.87.206:49501 116.58.172.107:80 in Mar 1 18:49:07 TCP 45.76.87.206:19191 116.58.172.107:80 in Mar 1 18:49:07 TCP 45.76.87.206:60954 116.58.172.107:80 in Mar 1 18:49:08 TCP 45.76.87.206:9542 116.58.172.107:80 in Mar 1 18:49:09 TCP 45.76.87.206:21508 116.58.172.107:80 in Mar 1 18:49:09 TCP 45.76.87.206:7520 116.58.172.107:80 in Mar 1 18:49:10 TCP 45.76.87.206:47548 116.58.172.107:80 in Mar 1 18:49:10 TCP 45.76.87.206:466 116.58.172.107:80 in Mar 1 18:49:11 TCP 45.76.87.206:10671 116.58.172.107:80 in Mar 1 18:49:11 TCP 45.76.87.206:10229 116.58.172.107:80 in Mar 1 18:49:12 TCP 45.76.87.206:26982 116.58.172.107:80 in Mar 1 18:49:12 TCP 45.76.87.206:45166 116.58.172.107:80 in
これだけのパケットが到着しているのに、Apache には何のログも残っていません。
ファイヤーウォールログの現物はこちら。
まず、IPアドレスを調べてみると、
Vultr Holdings, LLC NET-45-76-86-0-23 (NET-45-76-86-0-1) 45.76.86.0 - 45.76.87.255 Choopa, LLC CHOOPA (NET-45-76-0-0-1) 45.76.0.0 - 45.77.255.255
45.76.87.206 206.87.76.45.in-addr.arpa name = 45.76.87.206.vultr.com.
北アメリカに割り当てられているIPでした。45.76.87.206.vultr.com というホスト名。ブロックしても問題無さそうなので、とりあえず、ネットワークごとファイヤーウォールでブロック。そして、検索エンジンでいろいろ検索してみました。
さて、このパケットは何だったのか?netstat で確認する前にブロックしてしまったので、パケットのコネクションステータスをチェックし忘れてしまいました。調査とブロックの順番を逆にすれば良かったかと思いましたけど、手遅れ。偽装パケットが送られていた可能性もあります。
恐らく SYN Flood でサーバーのHTTPプロセスを常時オーバーフロー状態にしようとしたんじゃないかと考えます。別の攻撃だったのかな〜?わかりません。ブロックする前によく観察すれば良かったかも・・・と、だんだんと後悔の念が。
私のサーバーOSは FreeBSD なので、SYN Flood パケット対策は10年以上前に対策済み。というか現役OSなら、全部対策済みじゃないのかな。SYN Flood に関しては、
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/CERT/synflood.html
に情報があります。
被害は無いものの、こういうハーフオープン状態を作り出すパケットなんて、事故では発生しないはず。意図的に行っているものと思いますので、もし、国内IPからのパケットだったら、またまたプロバイダーへ連絡しなければならないところでした。