(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)

図2●Webサーバー用スキャナNikto
実際にスキャンした結果のログ

Webサーバー用スキャナNikto

 NiktoはWebサーバーの検査を目的に開発されたセキュリティ・スキャナで,CGIや数多くのWebサーバー・ソフトウエアを検査する機能を持っている。スキャン用データベースはCSV形式のため,ユーザーがカスタマイズすることも可能となっている。

 主な機能は,設定ミスの発見,デフォルトで放置されたファイルやスクリプトの発見,セキュアではないファイルやスクリプトの発見,古いバージョンのソフトウエアへの警告である。検査用データベースは最新であることが重要なため,Niktoは自分自身をオンラインでアップデートする機能も搭載している。

 このソフトウエアも,悪意を持つ人物が使用すれば不正アクセスの準備作業に利用(悪用)されてしまうリスクを持っている。しかし,Niktoは大量の調査用パケットを検査対象に送信するので,注意深くログを調べれば,スキャナを使用したことは容易に知ることができる。IDSの検知を回避するような調査パケットを送信する機能も備えているが,本来は社内のIDSに無駄な検知ログが大量発生しないための機能であり,完全にステルス性を保った検査機能ではない。

 使用上の注意点として,大量の調査用パケットを送信するために,既に大きく負荷のかかったサーバーをスキャンすると,対象サーバーが負荷に耐え切れずにエラーを生じることがあるので,字際に使用する際には,パラメータの設定を慎重に行う必要がある。

 実際にスキャンした結果を図2[拡大表示]に紹介する。主なメッセージとしては,検査対象のソフトウエア名称/バージョンや,発見した問題点や注意点を羅列している。例えば以下のようなメッセージは,Webサーバーが本来不要なhttpコマンドを受け取ってしまうことを指摘している。

+ HTTP method 'TRACE' is typically only used for debugging. It should be disabled.

 また,対象のバージョンに既知のぜい弱性があれば,その概要とともにぜい弱性情報データベースCVEの障害番号をメッセージに付加するので,CVEのサイトを参照して詳細を知ることができる。

安全性向上のために

 今回,3種類の検査用ソフトウエアについて簡単に説明しながら,サーバーのセキュリティ対策の一部としてのぜい弱性検査にオープンソースのソフトウエアが有用なことを紹介してきた。これら以外にもIDSなどの監視系ソフトウエアや認証・アクセス管理などさまざまなソフトウエアが入手可能なので,時間が許せばWebサイトなどで情報を入手してほしい。

 注意していただきたいのは,今回紹介したスキャナによる検査は本格的なぜい弱性検査の一部分であり,これだけでサーバーの安全性が保証されるわけではないことだ。本格的なセキュリティ対策には専門家の力を借りることが望ましい。しかし,開発者やシステム管理者も,基礎的なセキュリティ管理の技術は身に着けてほしい。

 不正アクセスによる被害の多くは,ごく初歩的な設定ミスやぜい弱性の放置されたシステムで発生している。まだぜい弱性検査をまったく実施してないシステムについては,早期に検査することをお勧めしたい。

 また,言うまでもないことだが,これらのスキャナを事前にサーバー管理者の許可を得ずに実行することは,絶対に避けなければならない。

勝野秀樹(かつの・ひでき)氏

インターナショナル・ネットワーク・セキュリティ株式会社
技術本部 本部長代理
ソフトウエア開発会社,システム・インテグレータなどを経て,現職。オープン系システムに関わる管理・コンサルティング経験を生かし,情報システムの安全性向上に関わる各種コンサルティング,プロジェクト管理に従事。