2011年08月05日の日記です



不正侵入  2011-08-05 14:52:28  その他

仕事先のサーバーが、不正侵入されていた。


「されていた」というのは、すでに4ヶ月も前のことが、今週になって発覚したから。


震災の翌日、3月12日に、仕事先のサーバーが妙に「重い」状態になった。

これはリセットしたら直った。その後は順調…に思えていたのだが、2週間ほど前に、サーバーが一台死んでいるのが発覚。


サーバーが死ぬことに問題はない。クラスタ構成をとっていて、1台が死んでも別のサーバーが肩代わりすることで、サービスの停止を防げるからだ。

しかし、死んだことが管理者に通知されなかった。そのことに問題がある。



管理者が原因を探っていたら、定期的にサーバーを監視するプログラムが一台のマシンで起動されていないことがわかった。

本来、cron で定期的に起動されるのだが、その記述がなくなっているのだ。


その代わり、cron には見たことのない記述が残っていた。

…厳密に言うと、本来記述されている記述と「わずかに違う」記述になっていた。


この時点で、管理者の人から僕に相談が来た。「なんか心当たりあります?」と。




この記述のわずかの違い、が問題だった。


sh . ../update


なんて書いてある。


update ってプログラムは以前から使っているが、その起動記述は、こんなに . (ドット)だらけではない。


調べてみたら、 . .. と言う名前のディレクトリが作ってあった。

ドットで始まっているので、普通は表示されない。

一見すると . (現在のディレクトリ)、 .. (1個上のディレクトリ)のように見えるので、コマンドラインからはこのディレクトリの存在には気づきにくい。


こんな「気づきにくい」ことをしている時点で、なんらかのものを「隠そう」としていることがわかる。

そう、何者かにクラックされているのだ。



入れられたファイル群の中で、特徴的なファイル名を手がかりにネット検索開始。


…日本語の情報はほとんどないが、海外にはわずかに情報があった。

なぜか、多くの情報は中国語。ほかにロシア語もあるが、英語もあった。


で、英語のページを読んでみる。


多くのページが「こんなの入ってたけど、なに?」と言う内容で、役に立たず。

でも、役立つものもあった。


どうやら、入れられたプログラムは直接の悪事は働かないものの、定期的に IRC (チャット)に「自分の存在」を通知し続けるようだ。


セキュリティホールがあるからプログラムが入れられ、入れられたことにも気づかないから動作し続けるわけだ。

つまり、IRC に通知がある限り、「セキュリティの甘いコンピューターがここにある」ことを知らせることになる。

直接の悪事は働かなくても、悪いものをおびき寄せる十分な餌となってしまうだろう。



あるページでは、さまざまな証拠を元に「script kiddies」の仕業だと結論していた。

script kiddies 、つまり「スクリプトを仕掛けることしかできない、おこちゃま」。ハッカーではない。


この攻撃が主に中国から仕掛けられている、とも明記するページもあった。

あぁ、それで中国語の情報が多かったのか。納得。


仕事先に仕掛けられたものも、ディレクトリ名に多少の工夫はあったものの、慎重さに欠けていた。

多くのファイルのタイムスタンプは3月12日、午前0時半。おそらく、ファイルを展開した時刻なのだろう。

なによりも、crontab を「置き換え」たのは軽率だ。追記だったらすぐには気づかなかっただろう。


動作で書き換えられるファイルの最終タイムスタンプは、12日の午後11時ごろ。

このころ、どうもサーバーが重い、と再起動を行った。



あれ? じゃぁ、その後プログラムは動いていないの? とプログラムの中を読んでみると、プログラムは cron で一定時間ごとに起動されて、すでに別のプログラムが起動しているときはなにもせずに終了する、というしくみになっていた。


起動しているかどうかは、前のプログラムが残したファイルで確認する。正常終了時にはこのファイルは消去されるので、ファイルが残っていれば起動中だ。


…いや、そうではない。

異常終了時にも、ファイルは残ったままになる。そして、ファイルがあるとプログラムは起動しないので、2度と起動しない。


サーバーが重い、と再起動されたとき、まさにプログラムは途中で「異常終了」させられてしまい、ファイルが残ってしまったのだろう。

その後、cron にプログラムは登録されたままだったが、事実上起動していなかった。




さて、「今は害がない」とわかったところで、当然興味は「どうやって入れられたか」に移る。

サーバーの管理者は、定期的にアップデートもかけているし、セキュリティホールはないはずだからどうやったかわからない、と言う。


でも、ssh で PasswordLogin できるのはまずいと思う。root でも入れるし。

秘密鍵を使用して、パスワードログインを禁止したほうがよい、と言ったのだけど、当面やるつもりはないようだ。どうも、管理者が使用しているソフトの一部が秘密鍵暗号に対応していない模様。



このサーバー管理者の保守しているサーバーは、過去にもクラックされている

そのころだって、「セキュリティは十分」と言っていたのだけどね。


まぁ、いいや。これ以上はサーバー管理者の領分なので、僕は強くいえない。






同じテーマの日記(最近の一覧)

その他

別年同日の日記

04年 土地購入

09年 最近気になること

10年 お泊り保育

15年 土用の丑に鰻を食べる理由

17年 2度目のキッザニア


名前 内容

あきよし】 後日談。その後、迅速に対策がとられ、sshdの設定でパスワードログイン不可、rootログイン不可となりました。 (2011-08-10 10:16:08)


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -