脆弱性のスキャンをしたいときに役立つツールNessusがあります。2019年6月6日にTenableがNessus Essentials(旧Nessus Home)を発表しました。
以前からNessus Homeは時々使っていましたが、マシンを新調したのでNessus Essentialsをインストールしたので、その時の手順を共有します。
注意
Nessus Essentialsは個人用、非商用のみ無制限で利用可能です。
また、スキャンを行う対象は自身の管理してるマシンのみにしてください。管理外のマシンに対してスキャンを行う場合は犯罪になる可能性があります。
他人が管理しているマシンにスキャンを行う場合は自己責任でお願いします。
Contents
Nessusとは
https://jp.tenable.com/products/nessus
脆弱性評価ソルーションのゴールドスタンダード、とのことです。導入件数No.1なんだ、知らなかった。(2019年8月閲覧)
脆弱性評価とはなんのことかというと、簡単に言うと管理しているマシンがどのような脆弱性を持っているのかを調べることです。
(いや、簡単に言うととか書いたけど、その程度の認識しかしてないんだけど。)
Nessus Essentialsとは
https://jp.tenable.com/products/nessus/nessus-essentials
その脆弱性評価ソリューションの一部機能を無料で使わせてもらえるバージョンです。太っ腹。
公式サイトも日本語なので抵抗なく読めますね。
インストール環境
OS: Ubuntu18.04
インストール方法
アクティベーションコード入手
もしかしたらあとの手順の中でもそれっぽいのが出てくるので、このタイミングじゃなくても大丈夫かもしれません。(念の為)
https://www.tenable.com/downloads/nessus
このページの「Get Activation Code」から必要な情報を入力してください。すぐにメールでアクティベーションコードが送られてきます。
ダウンロード & インストール
上記のURLからNessusのインストーラーをここからダウンロードします。私はUbuntu18.04なので、結構下の方にありました。
これをダブルクリックして画面に従ってインストールします。簡単です。
起動方法
https://docs.tenable.com/nessus/Content/InstallNessusLinux.htm
このURLの「Start the Nessus Deamon」に起動方法が書いていました。これに従って起動します。
# 起動
/etc/init.d/nessusd start
# 上記のページには書いていませんが、停止はこちら
/etc/init.d/nessusd start
# systemctlコマンドでもいけます
systemctl start nessusd # 起動
systemctl stop nessusd # 停止
systemctl enable nessusd # 自動起動設定
systemctl disable nessusd # 自動起動設定解除
何も言われずに起動しました。何か言ってくれてもいいのに…。
かすかな記憶を頼りにssコマンドで起動しているポートを確認すると、Nessusはポート番号8834で起動していました。
ss -ltn
LISTEN 0 128 [::]:8834 [::]:*
起動したポートにHTTPSでアクセスします。HTTPだと怒られます。
https://localhost:8834
以下はFirefoxの画面ですが、ブラウザに注意されても気にせずに進んでください。
以下の画面が出てきたらオッケーです!
初期設定
基本的にはわかりやすいので画面に従って設定を行います。主に行うのは以下です。
- アクティベーションコードの入力
- Nessus管理画面に入るためのユーザ名とパスワードの設定
- CVE情報等のダウンロード(自動で始まります。)
アクティベーションコードの入力
今回はすでにアクティベーションコードを取得しているので、Skipボタンをクリックします。アクティベーションコードをまだ取得していない方はここで取得できるんだと思います。
アクティベーションコードを入力してContinueボタンをクリック。
Nessus管理画面に入るためのユーザ名とパスワードの設定
Administratorアカウントを作ってねて言われるので、ユーザ名とパスワードを入力してアカウントを作成します。
CVE情報等のダウンロード
(自動で始まります。)
CVEの情報等をダウンロードしているはずです。プログレスバーが進んでいきます。
プログレスバーがいっぱいになり、すべての情報のダウンロード等が終わるとそのまま管理画面に入ることができました。
スキャンしてみる
早速ですが簡単な使い方として、一度スキャンしてみましょう。なんてってスキャンしたくてインストールしたわけですから!
まずは、画面右上のNew Scanをクリック。
次の画面で(私の画面では)二段目左端のBasic Network Scanをクリック。
Name欄にわかりやすい名前を入れてください。サーバ名とかがいいのかな。
私は同じマシン上にDockerでCentOS6.6のコンテナを立てたのでそれがわかる名前にしました。
Targets欄にはスキャン対象のIPアドレスを入れてください。Domainでも行けはずです。
入力が終わったらSaveボタンをクリックします。
Saveするとこんな感じの画面になります。
先ほど作ったスキャンが表示されます。(画面はスキャン中なので少し違う箇所がありますが。)
作成したスキャンの名前をクリックすると詳細画面に移ります。
上記の画面はすでに実行した後の画面です…すみません。
スキャンを実行するときは画面上部のLaunchボタンをクリックで行けます。
少々スキャンに時間がかかりますが、徐々にスキャン結果が表示されていきます。スキャンが終了するとどのレベルの脆弱性が何件検出されたのかが表示されます。この結果としてはHighレベルの指摘がないので面白くありませんでした←
表示された項目の名前をクリックするとその指摘の詳細を表示することができます。表示された画面にはRisk InfomationやReference Informationがあるので、より詳細な情報を検索することもできます。対応方法読んでしっかり対応しましょう。有名なものならexploitも探せるかもしれません。
まとめ
今回は脆弱性スキャナーの代表格であるNessusのインストール方法を紹介しました。自分で作るシステムは安全な状態に保たないといけないと思いますので、是非ともこのようなツールを活用していただければと思います!
近いうちにOpenVASとかVulsとかも紹介したい…!