Nessusでセキュリティ・ホールを探し出す
Nesssusはサーバー,クライアント方式で動作するソフトウエアである。そのため,あらかじめnessusdデーモンを実行しておく必要がある。デーモンの実行にはroot権限で以下のように作業する。
# /usr/local/sbin/nessusd -D
次にクライアントを起動する。
$ nessus
Nessusクライアントの実行は,デーモンが実行されている以外のコンピュータ上からも実行可能だ。その場合は,Nessus用のTCPポート1241番をあらかじめ開いておく必要がある。また,クライアントはWindows用も存在する(http://nessuswx.nessus.org/)。
Nessusクライアントを起動後,nessusdが稼働するホスト名(またはIPアドレス)やポート番号,ユーザー名,パスワードを入力し,「Log in」ボタンを押す(写真1[拡大表示])。nessusdとの接続が完了すると「Connected」と表示される。
次に「Plugins」タブをクリックして利用するプラグインを選択する(写真2[拡大表示])。「Plugin selection」の上部のリスト・ボックスでプラグインのカテゴリを選択すると,下方にそのカテゴリに含まれるプラグイン一覧が表示される。プラグイン名をクリックするとどのようなセキュリティ・ホールをチェックするかが書かれている。右のチェック・ボックスにマークを付けると,そのプラグインが実行対象となる。
プラグインの中には実際に攻撃や侵入を試みるものも存在する。その結果,サーバーがサービス不能(DoS)状態になる場合などがある。スキャン中に攻撃などを仕掛けるプラグインにはが付いている。マークが付いているかにかかわらず,その内容が理解できないものについては実行を控えた方が良いだろう。
「Scan options」タブではポート・スキャンの設定を行う。スキャンの対象となるポートの範囲や利用するポート・スキャナを設定する。
「Target selection」タブではスキャンを行うIPアドレスを設定する。写真3[拡大表示]の例では192.168.1.0から192.168.1.254のマシンに対してスキャンが行われる。また,指定したIPアドレスの範囲の中でスキャンから除外したいマシンがある場合は,「User」タブで設定できる。たとえば,192.168.1.1のマシンをスキャンの対象から除外したい場合は,
reject 192.168.1.1
と追加すれる。
設定が完了したら画面左下の「Start the scan」ボタンを押すと実際にスキャンが開始される(写真4[拡大表示])。
スキャンが完了すると,結果を表示するウインドウが開く(写真5[拡大表示])。「Subnet」,「Host」,「Port」,「Severity」の順に選択していくと,ターゲット・ホストのセキュリティ・ホールや対策方法を閲覧できる。また結果には,重大なセキュリティ・ホールが存在することを示す「セキュリティ・ホール」,重大ではないが注意が必要であることを示す「ワーニング」,問題はないが推奨設定等を知らせるための「ノート」の3段階のアイコンが付加される。
写真6[拡大表示]は結果の一例である。スキャンした結果,OpenSSHにぜい弱性が発見されたことを示している。スキャンしたマシンにはバージョン3.4以前のOpenSSHがインストールされており,リモート・マシンから攻撃が行えると警告文が表示されている。また,対策方法はメッセージ下部の「Solution」に表示される。ここでは,OpenSSHのアップグレードを薦めている。「Risk factor」はこのぜい弱性のレベルをしてしており,Highは危険度が高いことを示す。また,より詳しい情報を得る手がかりとなる,Common Vulnera-bilities and Exposures(CVE)のリファンレス番号とSecurityFocusのbugtraq id(BID)が表示される。これを基に,CVEのWebページ(http://cve.mitre.org/)またはSecurityFocusのWebページ(http://www.securityfocus.com/)で検索すれば詳しいセキュリティ情報を得られる(写真7[拡大表示])。
結果情報は「Save report...」ボタンを押すことで,テキスト・ファイル,HTMLファイル,LaTeXファイルなどの形式で保存できる。「HTML with Pies and Graphs」を選択すると,結果をグラフで表示し,どこのマシンに問題があるかなどを視覚的に確認できる(写真8[拡大表示])。
プラグインのインストール
セキュリティ・ホールは日々発見されている。主なセキュリティ・ホールは発見後にNessus用プラグインが作成され,Web上に公開される。ユーザーはそのプラグインをインストールすることで新たなセキュリティ・ホールのスキャンができるようになる。
プラグインのインストールは,root権限で,
# /usr/local/sbin/nessus-update-plugins
とする。Nessusは細かなセキュリティ・ホールまで調べられる便利なソフトウエアである。しかし,逆に攻撃ソフトウエアとしても利用できてしまう。そのため,利用時にはスキャン対象を十分確かめ,他人のコンピュータをスキャンしないように心がけてほしい。また,Nessusを使用後はデーモンを停止し,他者が容易に使えないようにしたい。デーモンの停止はroot権限で以下のように実行する。