◯パッチ状態
セキュリティを最新の状態に維持するには、新しいパッチが出たら即座に適用しておく必要がある。新たに作成した直後のインスタンスが最新の状態でない場合もあり、パッチ類が自動的に適用される状態になっていることが望ましい。ここでは、定期実行タスクを確認した。
# crontab -l
いずれのサービスも「no crontab for root」と表示され、定期実行タスクが1つも登録されていなかった。パッチ類の自動的な適用については、ユーザーが意識して設定しておく必要がある。
◯カーネルの入れ替え
カーネルにぜい弱性があった場合のセキュリティ対策は、カーネルを入れ替えることである。この入れ替えが可能かどうかを調査した。具体的には「/proc」ディレクトリー配下のファイルやディレクトリー構造、ブート時のメッセージログなどを参照して判断している。ちなみに/procディレクトリー配下は、
# ls /proc
# dmesg
カーネルの入れ替えが「不可能」あるいは「困難」なサービスは、ServersMan@VPSとOsukini Serverだった。これは、2つのサービスが仮想化ソフト「Xen」をベースにしていることを判断材料とした(ServersMan@VPSではさらにOpenVZを組み合わせている)。Xenではインスタンスを管理しているOS側(ホストマシンのOS)が、インスタンスで使うカーネルイメージを読み込んでインスタンスを初期化している。このため、インスタンス側からはカーネルイメージを参照できないケースがある。
通常であれば、カーネルイメージは/bootディレクトリー配下に存在する。Osukini Serverの場合、/bootディレクトリー配下に含まれていた。このファイルを参照するように設定されていれば、カーネルを入れ替えられる可能性があるが、実際にはどういった仕組みでインスタンスを起動しているのかユーザーには分からない。不用意に入れ替えるのは危険である。
ServersMan@VPSの場合、/bootディレクトリー配下にカーネルイメージが存在しない。存在しそうな他のディレクトリーを探してみたが見当たらなかった。仮にカーネルイメージがあったとしても、ServersMan@VPSが「Xen+OpenVZベース」であることを考えると、カーネルの入れ替えは難しそうだ。OpenVZはインスタンス同士が1つのカーネルを共用する仕組みになっているので、インスタンスごとにカーネルを変えられないからだ。
ServersMan@VPSとOsukini Server以外の3サービスでは、インスタンスごとに独立したカーネルを利用できる「完全仮想化」と呼ぶ仕組みを使っている。このため、ユーザー側でカーネルを入れ替えられると判断した。
◯コントロールパネル
基本的にはインスタンスを「起動」「停止」「再起動」できるという最低限のハードウエア制御相当の機能を使えるかどうかを調査した。万が一インスタンスが乗っ取られた場合、電源をシャットダウンできることが最終手段の1つになるからだ。これについては、いずれのサービスも可能だった。