WindowsやLinuxで実行できる脆弱性スキャナ「Nessus」を試す

図11 Nessus管理画面へのログイン画面

 管理しているサーバーなどに脆弱性がないかを調べるツールを「脆弱性スキャナ」と呼ぶ。脆弱性スキャナにはさまざまなものがあるが、古くからよく知られているものの1つに「Nessus」がある。今回はこのNessusを使った脆弱性の調査について紹介する。

マルチプラットフォーム対応の脆弱性スキャナ「Nessus」

 Nessusは指定したサーバーに対しポートスキャンや擬似的なアクセスなどを行うことで、サーバーに存在する脆弱性を調査するツールだ。対象とするサーバーが使用しているソフトウェアに既知の脆弱性がないかどうかを調査できるほか、設定ミスや脆弱なパスワードの存在なども確認できる。また、さまざまな形式で詳細なレポートを生成できるのも特徴だ。WindowsおよびMac OS X、Linux、FreeBSD、Solarisというマルチプラットフォームで動作する。

 Nessusはかつてはオープンソースで開発されていたが、バージョン3.0以降は非オープンソースのプロプライエタリソフトウェアとして開発されている。企業などでの一般的な利用には有償のライセンス契約が必要となっているが、非商用の個人利用であれば無料で利用でき、また15日間限定の無料体験ライセンスも提供されている。

 今回はNessusの最新版であるNessus 5(5.0.2)を使用し、Windows環境およびLinux環境から脆弱性スキャンを実行する方法について紹介する。

 なお、無償で利用できる個人向けライセンス(Nessus for Home)はホームネットワークでの利用のみが許可されており、最大で16IPアドレスまでのスキャンしか行えないといった制限があるものの、脆弱性スキャン機能については有償版と同じものが利用できる。また、企業内などで評価目的で利用する場合は15日間利用できる評価用ライセンスが用意されているので、こちらを利用してほしい。

Nessusを利用するためのライセンスを取得する

 Nessus本体は開発元であるTenable Network SecurityのWebサイトからダウンロードできる。ただし、インストール後の初期設定時に同社から取得したアクティベーションコードの入力が必要だ。そのため、事前にこちらを取得しておく必要がある。

 企業内での評価目的であれば、「Nessus Evaluation」ページから評価用ライセンスの申込みが行える(図1)。このとき氏名およびメールアドレス、企業名、電話番号などの登録が必要だ。

図1 Nessusの評価用ライセンス申込みページ
図1 Nessusの評価用ライセンス申込みページ

 いっぽう、家庭内での利用の場合は「Nessus HomeFeed」ページから無償ライセンスを取得できる(図2)。この場合は、氏名およびメールアドレスの入力のみが必須となっている。

図2 Nessusの個人向け無償ライセンス申込みページ
図2 Nessusの個人向け無償ライセンス申込みページ

 ライセンスの申込みを行うと、メールでアクティベーションコードが送られてくる。筆者が試した際は、どちらの場合も申込みを行ってすぐにメールが届いていた。

Nessusのダウンロード

 Nessusのダウンロードは、Tenable Network SecurityのWebサイトから行える。WindowsおよびMac OS X、各種Linux、FreeBSD、Solaris向けのバイナリパッケージが用意されているので、使用したい環境に応じたものをダウンロードする(図3)。

図3 Nessusのダウンロードページ
図3 Nessusのダウンロードページ

Windows環境でのNessusのインストール

 Nessusはマルチプラットフォームに対応しており、WindowsおよびMac OS X、各種Linux、FreeBSDなどさまざまなプラットフォーム向けのバイナリが公開されている。たとえばWindowsの場合、Windows XP/2003/Vista/2008/7の32ビットおよび64ビット版に対応したインストーラが提供されている。利用したい環境に応じたインストーラをダウンロードして実行するだけでインストールが可能だ。

 Windows版Nessusのインストーラは、Windowsアプリケーションで一般的なウィザード形式のものだ(図4)。

図4 Windows版Nessusのインストーラ
図4 Windows版Nessusのインストーラ

 インストール作業は指示に従ってウィザードを進めていくだけで完了する。なお、Nessusはサービスとしてインストールされ、Webブラウザでアクセスしてその操作や設定を行う仕組みとなっている(図5)。

図5 Nessusはサービスとしてインストールされる
図5 Nessusはサービスとしてインストールされる

Linux環境でのNessusのインストール

 Linux環境向けには、各種ディストリビューション向けにrpmおよびdeb形式でバイナリパッケージが提供されている。対応しているディストリビューションはDebian 6.0、Red Hat Enterprise Linux(RHEL) 4/5/6およびその互換OS、Fedora 16~18、SUSE Linux Enterprise 10/11、Ubuntu 9.10~12.04などだ。たとえばRHEL 6互換のCentOS(64ビット)環境では、Nessus-5.2.1-es6.x86_64.rpmというパッケージが用意されている。このパッケージをダウンロードし、以下のようにrpmコマンドでインストールする。

# rpm -ivh Nessus-5.2.1-es6.x86_64.rpm

 このパッケージの場合、Nessusの各種機能は「nessusd」というサービスを通じて提供される。このサービスは自動的には起動しないので、インストール後に以下のようにして起動しておく。

# /sbin/service nessusd start

 なお、nessusdはTCPの8834番ポートで待ち受けを行うので、このポートにアクセスできるようファイアウォール設定の変更も行っておこう。