Nessusを利用した総合セキュリティチェック

実に6年ぶりの更新です

Nessusとは

 Nessusとは、Nessus Projectが開発を進めているセキュリティスキャナです。Nessus Projectが考える所のセキュリティスキャナの定義は"特定のネットワークを遠隔地から監視し、クラッカーが侵入可能、あるいは悪用可能かどうかを判断することが出来るソフトウェア"ということになっています。

 また、特定のサービスが特定のポートで運用されているということを前提におかないという特徴もあります。例えばWeb Serverがポート1234で動かされていたとしても、Nessusはそれを発見し、そのセキュリティを試験します。

 さらに、個別のチェックがプラグイン形式で実装されているのも大きな特徴で、膨大な数のプラグインが用意されています。単純にあるリモートホストでそのサービスが動いているのかどうかを確認する単純な物から、特定のアプリケーションのバグの有無をチェックするような物まで、実に多種多様なプラグインがあります。

 このページを6年ぶりに更新するつもりになったのは、すべてのNessusユーザ待望のWindows版Nessusが公開された!ためです。2006年6月時点でベータ版扱いですが、これから大きな普及が見込まれるこのWindows版Nessusについて、ここでは解説したいと思います。

 なお、Windows版Nessusサーバの公開を受けて、これまでWindows環境でNessusサーバとして利用できたNeWTのサポートが打ち切られる模様です。ダウンロードと利用は可能ですが(スキャン先はローカルネットワーク限定)、2006年9月30日をもってサポートが終了するとのアナウンスが出ています。

 

Nessusの入手と関連ドキュメント

 Nessusはもともとオープンソースのプロジェクトとして始まりましたが、現時点ではNessusの商標はTenable Networkという会社が持っています。両者の関係について詳しく知りたい方は、こちらを参照してください。なにはともあれ、こちらがNessus ProjectのWebページになります。こちらから各種ドキュメントの入手やダウンロードを行うことができます。

 ここで採り上げるWindows版Nessusサーバについては、2006年5月22日のNessus Ver.3.0.3の公開時に追加された模様です。ダウンロードは、Nessus ProjectのWebページから容易に辿れますので、ここでは省略します。途中、個人情報を入力する仮定がありますが、メールアドレスだけは間違いなく入力するようにしてください。適当な嘘アドレスを入れると、後で困ることになります。

 ちなみに、管理人がダウンロードした時点ではbeta6が最新版で、こちらを利用して本稿は書き進めます。

 

Windows版Nessusの導入

 UNIX版とは異なり、Windows版の導入は非常に容易です。ダウンロードしたインストーラを起動すると、一般的なWindowsアプリケーションと同じインストーラが起動します。

WinNessusInst1.png

 インストールパスを指定するだけで、ファイルのコピーが始まります。コピーが終了すると、以下の画面が現れます。

WinNessusInst2.png

 プロダクトレジストレーションコードを入力するか?という問いかけですが、インストール時に入力したメールアドレスに、そのコードが記載されたメールが届いているはずです。このメールの到着を確認したら、"はい"を選択して、コードを入力してください。続いて、以下の画面が現れます。

WinNessusInst3.png

 インターネットに接続されているのであれば、プラグインの更新をするよ、という問いかけですが、接続されているのであれば必ず更新は行うようにしてください。Nessusのプラグインはアンチウイルスソフトウェアの定義ファイルやIDSのシグネチャに相当するもので、最新化していないとチェックの意味が薄れてしまいます。"はい"を選択すると自動的にダウンロードが始まるので、終了するまで見守ります。

WinNessusInst4.png

 これが終了すれば、Windows版Nessusの導入は完了です。

 

Windows版Nessusの利用
WinNessus.png

 Windows版Nessusの起動画面です。

 NeWTを利用したことがある方であれば(管理人もそうですが)、"NeWTと同じじゃないか"と思われることでしょう。

 UNIX版のNessusとは異なり、Windows版のNessusはクライアント - サーバの構成をとっていません。このため、事実上何も設定することなく利用することができますが、逆に言えば細かいカスタマイズはできません。

 UNIX版のNessusを知っている方で、カスタマイズして利用したいという向きがあるのであれば、UNIX版を利用したほうがいいでしょう。

 スキャンを行うには、右下のペインで"Start Scan Task"をクリックします。

WinNessusUse1.png

スキャン対象ホストを選択します。

 ここで直接入力することもできますし、よくスキャンを行うホストをアドレス帳(Address Book)に登録して、そこから選択することもできます。

 とりあえずNessusを試してみたいのであれば、ドロップダウンリストに最初から登録されている"localhost"を選択するといいでしょう。

WinNessusUse2.png

続いて、どのようなプラグインを利用するかを選択します。

4つの選択肢がありますが、それぞれの意味は次の通りです。

 ・危険なプラグインを除いたすべてを有効にする(推奨)
 ・すべてのプラグインをデフォルト設定で有効にする
 ・事前に定めたポリシーを利用する
 ・自分のポリシーを定義する(上級者向け)

デフォルトで一番上の推奨選択肢が選ばれていますが、特に理由がなければこの設定で全く問題なく動作しますので、こちらを選択しておくといいでしょう。

WinNessusUse3.png

 次の画面では、どこからスキャンを行うかを選択します。

 Windows版のNessusはクライアント兼サーバという体裁になっているため、自力でスキャンを行うことができます。この場合は、"Scan from the localhost"を選択します。
  特別な理由がない限り、ほとんどの場合はこのような形で利用することになるでしょう。

 しかし、既存のNessusサーバがリモートにあったり、ネットワーク的にローカルホストから直接スキャンを行うことができない場所にいるホスト(=ファイアウォールの向こう側にいるサーバなど)のスキャンを行う場合には、事前に配備しておいたNessusサーバに対して指令を送る必要があります。
 この場合、このソフトはクライアントとしてのみ動作することになり、実際のスキャンはリモートのNessusサーバが行うことになります。

 もっとも、そのような構成を採用するのは、複数拠点を持つネットワークしかありえないので、個人レベルであれば"Scan from the localhost"をそのまま選択すればOKです。

WinNessusUse4.png  

 "Scan now"をクリックすると、実際のスキャンが開始されます。

管理人は前のバージョンのNessusも知っていますが、それに比べれば劇的に高速になりました。以前のバージョンであれば、一台のホストのスキャンを行う間に、落ち着いて珈琲を入れることができるくらいの時間はありましたが、Nessus 3では見ているうちに現実的な時間でスキャンが終わってしまいました。

 

スキャン結果の閲覧

 スキャンが終了すると、スキャン結果をブラウザで閲覧できるようになります。以下がそのイメージです。

WinNessusResult.png

 過去のそれと比較すると非常に洗練されており、ちょっとだけ手を加えればそのまま報告書として利用できそうです。管理人の記憶では、NeWTではPDF形式で出力することが可能だったような記憶がありますが、Windows版Nessusの出力形式はHTMLのみとなっております。

 とはいっても、実際のスキャン結果自体はXMLで記録されています。上図はホスト別のレポートですが、XMLの特性を生かしてその他の基準でレポートを生成することもできます。以下のリンクをクリックすると、実際に生成されるレポートの実物を見ることができます。

ホスト別レポート  ポート別レポート  脆弱性別レポート

 なお、Windows版Nessusの大きな特徴の一つとして、任意のレポート内容の比較ができる機能が追加された!という点があります。Welcomeページの中の"View Reports"から利用することができます(画面イメージなどはそのうち用意する予定)。

 色々活用方法は考えられますが、例えば
  ・ ポートの状況やパッチ適用状況が同じ"はず"の複数台のマシンが、ちゃんとその通りになっているかをチェックする。
  ・ 任意のホストのポートオープン状況に変化があるかどうかをチェックする(未知のRootkitやBackdoor、botなどの検知に役立つかもしれない)。
  ・ あるアプリケーションが導入されたことにより、どのようなポートがオープンされるかを簡単にチェックする。
 といったような場面で大いに活用できることでしょう。

 

Nessusの利用上の注意

 Nessusを利用するような方ならば百も承知かもしれませんが....

 Nessusは確かに非常に有用なセキュリティスキャナです。うまく活用すれば、多数のホストの脆弱性を一元的に把握することができるでしょう。しかし、Nessusがやっていることは攻撃そのものに限りなく近く、見ず知らずのホストに対して実行すると、本格的な攻撃の予備動作として取られる可能性が非常に高くなります。

 Nessusを利用するのであれば、その対象は自分の管理下にあるホストに限定し、また利用するネットワークの管理者が別にいるのであれば、その許可を必ず取るようにしてください(IDSなどが間にいると、山のようにアラートが上がります)!

Validator

Home