Nessusでサーバの脆弱性診断の内製化を試みた結果

01

今日もインドカレーを食べるインフラ担当の「やっさん」です。

 

前職で、ある年から、社内向けと社外向けそれぞれのサーバに脆弱性診断を定期的に行うことになりました。

 

コストをかけたくない経営陣の意向で、脆弱性診断は内製化することになり、ツールの選定から脆弱性診断の実施までを行ってくれる有志の社員の募集がかけられたのですが・・・・・・。

 

有志の社員が現れることはなく、セキュリティ関連の情報を社内に発信していた私に白羽の矢が立ち、初めての脆弱性診断(プラットフォーム診断)を行うことになりました。

 

コストをケチった安易な内製化、ダメ。ゼッタイ。

 

検証のためにNessusを使ってみる

ツールの選定から行う必要がありましたので、まずは様々なツールの検証からはじめました。

 

経営陣からは、脆弱性レポートの提出も求められていたので、脆弱性レポートを自動生成できて、かつ、構築や操作方法についての情報が見つかりやすい「Nessus」を試してみます。

 

Nessusとは

Nessus(ネサス)は、サーバやネットワーク機器の脆弱性を検知するツールで、脆弱性や設定ミスなどの自動診断、レポートの自動生成が行える便利なツールです。

 

複雑な設定を行う必要がないので、脆弱性診断の経験がない方でも、脆弱性診断を比較的簡単に行うことができる初心者向けツールだと感じます。

 

日本国内では株式会社東陽テクニカが総販売代理店になっており、原則有償ですが、評価用ライセンスや、個人利用に限り無償のライセンス(Nessus Home)もありますので、検証の際はこれらを使うのがオススメです。

 

今回は、Nessus Homeの検証を行ったときのインストールおよび診断手順をご紹介します。

 

Nessus Homeの構築

今回は、個人で私的に構築したサーバにNessus Homeをインストールし、自分自身(ローカルホスト)に対して、脆弱性診断を行うための環境を構築します。

 

なお、Nessusのダウンロードページは変更になる場合がございます(本記事の画像は2016年10月時点のもの)。

 

Nessus Homeのアクティベーションコードを入手する

1.Webブラウザから、https://www.tenable.com/plugins/ へアクセスする。

 

2.「Obtain an Activation Code」のリンクをクリックする。

Nessus_構築_1

 

3.「Register Now」をクリックする。

Nessus_構築_2

 

4.「First Name」に名前、「Last Name」に苗字、「Email」にアクティベーションコードを受け取りたいメールアドレスをそれぞれ入力する。「Country」はJapanを選択する。

 

「terms of service」のリンクをクリックし、Subscription Agreementを確認して「Agree」をクリックすると、「I agree to the terms of service」のチェックボックスにチェックが入る。

 

全てが完了したら「Register」をクリックする。

Nessus_構築_3

 

5.以下の送信元と件名でアクティベーションコードがメールで届く。

 

アクティベーションコードは、メール本文中で「Your activation code for the Nessus Home is…」の後に記載される。

 

Nessus Homeをダウンロードする

1.「Download」をクリックする。

Nessus_構築_4

 

2.「Please Select Your Operating System」として記載されている各OSの中から、Nessus Homeをインストールする端末orサーバのOSをクリックする。

Nessus_構築_5

 

3.ファイルのリンク(File:Nessus-x.x.x-xxxxxx.rpm)をクリックすると、ダウンロードが開始される。

Nessus_構築_6

 

4.「Subscription Agreement」のダイアログボックスが表示されるので、内容を確認後、「Agree」をクリックする。

Nessus_構築_7

 

Nessus Homeのインストールと起動

※この検証では、CentOS6系にNessus Homeをインストールしている。

 

1. rpmコマンドを実行し、インストールを行う。実行結果は、以下の通り。

 

2.serviceコマンドでnessusdを起動させる。

 

3.nessusdデーモンの実行状況を確認する。

 

Webブラウザ上での初期設定

1.Webブラウザでhttps://(Nessus Homeをインストールした端末orサーバのIPアドレス):8834/にアクセスする。

 

Google Chromeの場合、以下の表示が出るので、「(Nessus Homeをインストールした端末orサーバのIPアドレス)にアクセスする(安全ではありません)」のリンクをクリックする。

Nessus_構築_8

 

2.「Continue」をクリックする。

Nessus_構築_9

 

3.「Username」に任意のユーザ名(ここではadminとする)を入力する。次に「Password」と「Confirm Password」に任意のパスワードを入力する。

 

完了後、「Continue」をクリックする。

Nessus_構築_10

 

4.「Registration」はデフォルトの「Nessus(Home, Professional or manager)」のままにする。

 

「Activation Code」に、メールで受信したアクティベーションコードを入力し、「Continue」をクリックする。

Nessus_構築_11

 

5.Initializeが開始される。完了までしばらく待つ。

Nessus_構築_12

 

6.ログイン画面が表示されるので、ユーザ名とパスワードを入力し、「Sign In」をクリックする。

Nessus_構築_13

 

Nessus Homeで脆弱性診断を試してみる

脆弱性診断(スキャン)の内容と対象の設定

Nessusで脆弱性診断(スキャン)を行う際は、Policies(診断内容をまとめたテンプレート)やTargets(診断対象)を設定し、「My Scans」として登録する必要がある。

 

1.「New Scan」をクリックする。

Nessus_診断_1

 

2.Policiesを選択する。今回は、Scanner Templatesの中から「Basic Network Scan」をクリックする。

Nessus_診断_2

 

3.「Name」に脆弱性診断(スキャン)の名称、「Description」に脆弱性診断(スキャン)の説明、「Targets」に脆弱性診断(スキャン)対象のIPアドレス(範囲指定も可能)かホスト名を記入する。

 

その他の項目は、今回はデフォルトのままとする。記入完了後、「Save」をクリックする。

 

診断対象は、今回は、ローカルホスト(127.0.0.1)とする。

Nessus_診断_3

 

 

4.トップページで、登録された「My Scans」が確認できる。

 

実行したい「My Scans」の列の右端にある「▶」をクリックすると、脆弱性診断(スキャン)が開始される。

Nessus_診断_4

 

5.脆弱性診断(スキャン)実行中。「▶」が緑色の円形矢印となり、実行開始時間が表示される。

Nessus_診断_5

 

6.脆弱性診断(スキャン)が完了すると、緑色の円形矢印がチェックマークに変化する。

Nessus_診断_6

 

7.完了した「My Scans」をクリックすると、スキャン結果が表示される。

 

スキャン結果(棒グラフ)をクリックすると、詳細が表示される。

Nessus Home

Nessus Home

 

8.スキャン結果の詳細では、発見された脆弱性の名称と、そのリスクが記載されている。

 

各脆弱性をクリックすると、その脆弱性の解説やCVE番号が確認できる。

 

また、右上の「Export」タブから、ファイル形式を選択して、レポートを出力することができる。

Nessus_診断_8

 

脆弱性診断は専門の企業に依頼したほうが安心

実際に検証してみて感じたのですが、本当にこの診断方法であっているのか確信が持てませんし、検知した脆弱性に対してどのような対応を行えばよいのかを探すのがものすごく手間です。

 

もしも、見落とした脆弱性があって、そこを突かれたとしたらと思うと、ぞっとします。

 

個人的には、脆弱性診断は、専門の企業に依頼したほうが安心だと思います。

 

脆弱性診断を依頼する企業の選び方は、こちらのサイトが参考になるかと思います。

この記事を書いた人:


この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166