翌日中村君は午前中セミナーに出て、午後から出社した。すると、会社はどえらい騒ぎになっていた。会社に戻るなり、いつものように平山さんに捕まった。
平山さん 「あ、中村くーん。待ってたのよー。なんかもうウイルスみたいなのがたくさん出て大変みたいよー」
中村君 「え? ウイルスですか? パッチとかはちゃんと当たっているのになあ。何でだろう?」
平山さん 「どういうことなの? なんかメールサーバ遅いしー」
あちこちで上がっている火の手を横目に、中村君は世間の情勢を調べてみた。するとURLをクリックしたらメールを打ちまくるというワームが大流行しているようだ。メールサーバがパンクしているところもあるらしい。
中村君 「このままにしておくとウチのメールサーバもヤバいなあ」
とにかく火を消さないとならない。中村君は大急ぎでメールサーバにログインした。おかしなメールを発信しまくっているPCを特定して、まずはそいつらから「隔離」していかないとますます被害が拡大していってしまう……。いや。その前にまずアナウンスしなければならない。これ以上添付ファイルやURLをクリックしてウイルス(ワーム)を発動させてはならないのだ。しかし、アナウンスしていると感染PCの特定が遅くなってしまう。
中村君 「平山さん、平山さん! 皆さんにこういうメールが来てもURLをクリックしたり、添付ファイル開けようとしたりしたらダメですっていって回ってもらえませんか!」
平山さん 「えっ? 何なに?」
切羽詰った中村君は平山さんを巻き込むことにした。突然お願いされてしまった平山さんは目をぱちぱちさせながらも、いつもと違う中村君の気迫に押されて引き受けてくれた。
中村君はサーバルームへ駆け込み、メールサーバにログインする。とにかくメールを打ちまくっているPCを突き止めないと、そのPCから被害が拡大してしまうのだ。メール発信のログ(/var/log/maillog)*4を開いてみるとびっくりするほど大量の発信記録が見える。
確信は持てなかったが、中村君はとにかく怪しそうな発信者を片っ端からメモする。ひととおりメモったらまた飛び出していく。IPアドレス体系はまだぼろぼろだったが、もうだれがどのIPアドレスのPCを使っているのか、中村君はだいたい見当がつくようになっていた。到達するととにかく「すいません! ちょっとウイルスが出てますので!」といいつついきなりネットワークケーブルを引っこ抜く。
リストアップしたPCをすべて引っこ抜くとまたサーバルームに駆け戻る。ログの更新状態をしばらく監視してみる(tail -f /var/log/maillog)*5。短時間に驚くほど大量に出ていたのとは違って、発信はぽつりぽつり、という感じになっていた。おそらくもう大丈夫だろう。
*4、*5
中村くんの会社のメールサーバはsendmailだ(第三回「突然、メールが届かなくなってしまった」参照)。sendmailのログは、Linuxディストリビューションでは、特に設定を変更しなければ、RedHat系では/var/log/maillogに、Debian系では/var/log/mail.logに書きこまれる。
中村君 「間に合ったー」
中村君がモニタの前で脱力していると、平山さんが小走りに入ってきた。
平山さん 「中村君! とにかく社内にいる人全部に念押ししといたわよ!」
中村君 「あ、ありがとうございます。本当に助かりました」
平山さんが女神に見えた瞬間だった。感染したPCのウイルス駆除をすべて終えて、事後報告書を作り終えた中村君は、ふと高原さん対策で仕掛けていたtcpdumpのことを思い出した。
中村君 「これだけワームが出ちゃうと、もしかしたらものすごいログになってるかもしれないなあ」
仕掛けたPCにログインしてみると、意外にもログファイルのサイズはゼロだった。
中村君 「あれ? なんでログ出てないんだろう?」
ログは見事に1つも出ていなかった。いったんプロセスを「Ctrl」+「C」キーで強制終了させて、ファイルに書き出すオプションを外して観察してみても、1行も表示されない。
悩んだ中村君だったが、googleで調べてみると謎はすぐに解明された。スイッチングハブ環境でただ単にハブのポートにつないでtcpdumpさせたところで通信が見えるわけがないのだ。「ネットワーク盗聴」について説明されているコンテンツに、「スイッチング環境でのネットワーク盗聴」という項があり、そこに「ARPパケットを偽装する」「ミラーポートを使用する」などの手法が挙げられていたのだ。しかもミラーポートというのは“ちゃんとしたスイッチングハブ”*6ならば使える機能らしい。もちろん中村君はそういう手法についてそもそも全然知らなかった。ということは、スイッチングハブにつないでおきながら、盗聴できるような状態にしていなかったということだ。ファイアウォールに仕掛けたときは、ファイアウォールを通過する通信を何も設定せずに全部記録できていたので、気が付かなかったのだ。
*6
スイッチングハブによっては「ミラーポート」という特別な接続端子が付いている(もしくは設定可能な)ものがある。一般に家庭内LANでも使われるようなクラスのスイッチングハブにはその機能はなく、付いているのは中上位の機種や、VLAN機能を持つ機種であることが多い。
中村君 「あーあ。もう俺何やってるんだろうなあ……(ため息)」
それでも気を取り直してファイアウォールのログをチェックする。ログをエディタで開こうとした瞬間に中村君は激しく後悔した。テキストファイルならたいてい“スカッ”とオープンできるのに、いつまでたっても表示されてこない。ワーム騒ぎの余波で、すさまじい量の通信ログが記録されていたのだ。1日走り回って疲れきっていた中村君の気力はそこで尽きた。
中村君の孤独な戦いはまだまだ続くようだった……。
1. セキュリティポリシーは作り終えたときから本番
セキュリティポリシーとルール体系は、作っただけで放置しておいてもスタッフが自ら進んで順守してくれる、というものではない。締め付けがなかったところに新たに締め付けを加えるわけだから、放置すればむしろ守られないものだ。手を替え品を替え宣伝する必要があるし、きちんと守られているかチェックする必要がある。嫌がられないように煙たがられないように、じっくりしっかり運用していくことが望ましい。
2. ワーム・ウイルスを見つけたら、とにかく隔離が大事
いまのワームやウイルスは、感染力が強力だ。兆候でも何でも発見したら、感染していそうなPCはすべていったん隔離することが望ましい。隔離して、駆除ツールをUSBメモリやCD-Rなどで持ち込み、駆除してから復帰させる。しかしその前にウイルス検知をする仕掛けが重要だろう。1つの検知の仕掛けだけでなく、ファイアウォールやトラフィック測定など、できれば複数の視点を用意しておこう。
次回予告:たったひとりで戦い続ける中村君に強力な援軍が現れた。ポリシーの運用をやっとのことで立ち上げ始めた中村君は、ようやくむちゃくちゃなネットワークとセキュリティの改善に着手するが……。次回最終回!?
※ご注意
本記事はフィクションであり、実在の人物・組織などとは一切関係ありません。
Copyright © ITmedia, Inc. All Rights Reserved.