2006-05-18 (木)
*見えない敵との攻防(後編)
解決編です.
まず,落ち着いて最近変更されたファイルを検索する.身に覚えの無いファイルは無いみたいだ.setuidされているファイルも特に怪しいものはない.まぁ,これまた信用なら無い表示なのだけど.
原因が分からないまま放置は危険だよなぁ…….本当にRootkitみたいなのが入っていて踏み台にされるのは嫌だし.そもそも,12:40きっかりと言うのが妙に気にかかる.人間が手動でコマンドを叩いた可能性が無いわけではないけど,一秒もずれてません.何らかのスクリプトを使った可能性が高い.
とりあえず,cronから調べるかと,/etc/crontabの中身を確認.……一番下に怪しいコマンドが書いてあります.実行される時刻は12時40分.ファイルの更新日時が最近ではなかったので,期待してなかったのですが…….
何かのシェルスクリプトを呼び出しています.そのシェルスクリプトも確認する.ファイルの更新日時は2005年.1年以上前?まさか,1年以上前に侵入されて今まで気づかなかったというのか?シェルスクリプトは,設定ファイルのコピーと,shutdownコマンドが書かれていました.このコマンドによってサーバが落とされたわけです.
侵入された危険性を感じたらネットワークから切り離すのが常識かもしれませんが,SSH経由でしかアクセスできないので…….そもそもまだ,侵入されたと決め付けるのは早い.というか,まだ調査開始から10分も経っていません.
しかし,1年前からこれは仕掛けられていたのでしょうか?いったい何のために?もしかして,もう踏み台に使って用済み?いやいや,思い当たる節があります.5月16日12時40分がキーワードですね.一年前の今頃の記憶を呼び覚ましましょう.
犯人が判明.自分でした……一年前の.
たしか,去年の5月16日の1時くらいから停電があったのでした.で,停電前に電源をシャットダウンしておこうと思って,ついでにいくつかの処理を書いたスクリプトを実行するようにcronに放り込んだのです.で,cronってyearの指定が無いじゃないですか.なので,「5月16日12時40分」に実行するようにしたわけです.数秒で書いたようなシェルスクリプトなので,もちろん年のチェックをするはずもありません.そもそも,その日のうちに削除する予定のスクリプトでしたし.
曜日の指定もしていれば2011年になってから気づいたかもしれません.