なんとまた侵入されていた。orz
あるユーザからFTPが繋がらないと連絡を受けて、いろいろ調べてみると侵入者によってパスワードが変更されていた。以前sshで侵入されたが、それとは別の侵入路だった。なんとuserminから侵入されていた。
調べてみるとuserminの古いバージョンには脆弱性が報告されている。
userminのログを確認すると、例のsshの対策(sshサービスを停止)を施したわずか2日後にuserminから侵入してきていた。ログによると、userminの脆弱性を利用して/etc/shadowを得ることができたようだ。
#アクセス元のIPはあえて隠しません。
62.204.144.14 - - [26/Jan/2007:11:07:09 +0900] "GET /unauthenticated//..%01/....省略.....%0/etc/shadow HTTP/1.1" 200 1966
このあと8時間後にuserminから複数のアカウントにログインしてきている。ログインしたアカウントはすべてパスワードを変更して回っている。(ほとんど使われていないアカウントが含まれているので、ユーザから報告を受けるまで気づかなかった。)
アカウントのうち1つは、そのユーザ権限で何やらデーモンが動かされていた。shという名前で動いていて、そのユーザのホームの下に作られた.bashというフォルダに実体があった。何やら1時間に一度ファイルが更新されている。このデーモンは今日まで何を行っていたんだろう、、、、、
今回usermin経由で侵入してきたのは、全アカウントにではない。おそらく暗号化されたパスワードを、パスクラック(辞書に載ってるような単語などを暗号化したものと比較してパスワードを見破る手法)して破ることができたものだけが侵入されたのだろう。何はともあれ、またパスワードの再設定を行わなければ。
対策として、この脆弱性の対策が施されたuserminとwebminに更新した。またuserminから行える項目も見直して、ファイルの転送やshellの実行などは行えないようにした。
webminはアクセスの形跡がなかった。まだ今のところroot権限は奪われていない。目的とすることは、ホストの乗っ取りではなくて、アタックのための踏み台だろうから、おそらくはroot権限など要らないんだろう。彼らにとっては、アタックに必要なデーモンが実行できて、なるべく長く見つからないことが重要なんだろう。それには逆に、パスワードなど変更しないほうが見つかりにくいと思うんだけど。今回の場合、鍵を掛けてしまうから侵入に気づかれているわけだし。
インターネットに晒されているサーバの維持管理は本当に難しい。とにかくシステムのログとJPCERT/CCのレポートにはしっかり目を通さないと。
しかしイタチごっこですね。