うちのサーバのpop3(メールボックスを見るところ)は友人も使ってるので外部に公開してるんですが、そこにブルートフォース攻撃(ID/パスワード総当たり攻撃)がありました。
ブルートフォース攻撃には大きく二つの目的があります。
- 総当たりでとにかく侵入(ログイン)を果たす。
- サーバのユーザIDを調べる。
popアカウント=サーバのユーザなんてことは往々にして良くあることなので、そういうサーバは特に注意です。
あと、パスワードは当然知られてはダメですが、ユーザIDを知られるだけでも危険です。ログインがされて無くてもユーザIDが知られた形跡があるのであれば、甘いパスワードが設定されてないかなどの注意も必要になりますね。
で、今回の攻撃はこんな感じです。
Nov 14 16:38:00 xxx teapop 15180 : Failed login for aaron 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:04 xxx teapop 15181 : Failed login for aaron 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:08 xxx teapop 15182 : Failed login for aaron 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:10 xxx teapop 15183 : Failed login for abby 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:11 xxx teapop 15184 : Failed login for aaron 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:14 xxx teapop 15185 : Failed login for abby 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:15 xxx teapop 15186 : Failed login for aaron 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 16:38:18 xxx teapop 15187 : Failed login for abby 192.168.xxx.xxx from unknown 208.57.139.48
~略~
Nov 14 19:24:27 xxx teapop 17171 : Failed login for zack 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 19:24:31 xxx teapop 17173 : Failed login for zackary 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 19:24:31 xxx teapop 17174 : Failed login for zack 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 19:24:34 xxx teapop 17175 : Failed login for zackary 192.168.xxx.xxx from unknown 208.57.139.48
Nov 14 19:24:38 xxx teapop 17176 : Failed login for zackary 192.168.xxx.xxx from unknown 208.57.139.48
丁寧にa~zに順番に実行してるのでインテリジェントな感じがしませんが…とりあえずこういうのが来た時の対処方法はこんな感じです。
まずは、当然ログインが成功したのか?ですが、ログをみればわかります。
ログイン成功/失敗時のログがどういう風に出るかわからない場合は、popでのログイン検証をしてみてください。別のコンテンツでも紹介していますが、こんな感じです。
$ telnet localhost 110
Trying 127.0.0.1…
Connected to localhost.
Escape character is '^]'.
+OK Teapop 0.3.8 – Teaspoon stirs around again <xxx.xxx@Llywellyn>
USER hoge
+OK Welcome, do you have any type of ID?
PASS fuga
+OK I'm ready to serve you, Master.
QUIT
+OK It has been a pleasure serving you.
Connection closed by foreign host.
これはログイン成功の時。失敗の時は以下のようにでます。
PASS hoge
-ERR Incorrect password…or maybe you don't even have an account here?
で、このときのログの出力は以下の通り(使ってるpopサーバによって出力は違いますよ)。
成功時
Nov 15 08:03:30 xxx teapop 16185 : Successful login for hoge 192.168.xxx.xxx from unknown 192.168.xxx.xxx
失敗時
Nov 15 08:09:16 xxx teapop 16801 : Failed login for delta 127.0.0.1 from unknown 127.0.0.1
あとは、攻撃元のIPアドレスが1つなので、そのIPで、かつ上記の成功時のログがあるかを調べます。
# grep 208.57.139.48 messages | grep 'Successful login'
結果が何も出てこなければログインは成功していません。
対処については今回はIPアドレスが固定なので、ラッパーでアクセス拒否できます。本当はIDSとかで検知させてインテリジェントにアクセスロックとかできるといいんですけどね。
ちなみに今回の攻撃の試行回数。
# grep 208.57.139.48 /var/log/messages | grep 'Failed login' | wc -l
20979
ブルートフォースはちょっとしたスクリプトでもできる攻撃手法です。
うちのサーバはログイン失敗時は一秒ほどディレイがかかるんですが、ログをみると一秒間に5回くらい試行してますので、パラレルで試行する専用のツールか何かを使ってるんでしょうね。
攻撃されると、結構サーバに負荷がかかる場合もあるので、パラレル禁止とかの設定もいいかもしれませんね。

Leave a Reply