脆弱性診断ができるTenable.ioをAWSで利用するときの構成イメージについてまとめてみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ご機嫌いかがでしょうか、豊崎です。

SaaSで利用できる脆弱性診断のサービスのTenable.ioの検証を行なっています。 すでに弊社坂巻がブログを何本か投稿していますが、Tenable.ioに登場する用語とコンポーネントについて整理してみました。

用語およびコンポーネントについて

Nessus

Nessus(ネサス)は、Tenable Network Security社がコンピュータセキュリティに関して開発した包括的な脆弱性検知スキャナである。非商用(個人使用)として無料で使用できる。このプログラムの目的は、システム上の潜在的な脆弱性を検知することである。

https://ja.wikipedia.org/wiki/Nessus

Nessus Scanner

ネットワークスキャナです。ターゲットシステム(EC2など)に対してエージェントレスでネットワークスキャンを実行し、スキャン結果をTnable.ioにアップロードする。

Nessus Agent

診断対象(EC2など)にインストールするエージェントタイプのスキャナです。 Tenable.ioに問い合わせを行い実施すべきスキャンがあるか確認し、必要に応じてシステムのスキャンを実行し、スキャン結果をTnable.ioにアップロードする。

Nessus Network Monitor

ネットーワークトラフィックをモニタすることでサイバーリスク情報を収集するスキャナです。ネットワーク機器のミラーポート/SPANポートに接続してトラフィックをモニタします。AWSにおいてはEC2をNATサーバとして設定したのちにNessus Network Monitorをインストールすることで、利用が可能です。まだ検証が完了していないので、本投稿では説明を行いません。

ちなみに、インストール手順は以下です。

https://docs.tenable.com/nnm/deployment/Content/AWSCloudInstructionsNatGateway.htm

AWSで利用するときの構成イメージ

Tenable.io側のNessus Scannerを使用するパターン

インターネットを経由して対象の診断を行います。後述のNessus ScannerやNessus Agentを自分で管理する必要がありません。 非常にシンプルに利用することが可能です。当然診断対象がTenable.ioからの通信を許可している必要があります

VPC内に配置されたNessus Scannerを使用するパターン

診断対象と同一ネットワーク内にNessus Scannerを構築します。

診断対象にエージェントをインストールする必要がないので、診断対象が大量になった場合もAgentの配布などを考慮する必要がありません。

ファイアウォール/ルータ/帯域の細いネットワークを超えないよう、ネットワークごとにNessus Scannerを設置することが推奨されています。 AWSに当てはめるとVPCごとに配置するイメージになるかと思います。

また、AWS Marketplaceに公開されているNessusScannerを利用すれば、AWS事前承認済みのため脆弱性診断の事前申請を行う必要がありません。

Tenable.ioを使って脆弱性診断を15分で試してみた

 

VPC内の診断対象EC2にNessus Agentをインストールするパターン

セキュリティポリシー的に外部ポートの設定を変更できない場合や、不定期なサーバの停止などが発生する場合にはNessus Agentが選択肢になります。 オンプレミス環境などではクライアント端末などについてもNessus Agentを利用することになります。Agent自身が情報を取得するので、Nessus Scannerに比べてVPC内のネットワークへの影響は小さいです。

さいごに

本投稿ではTenable.ioの基本的な用語、コンポーネントについてまとめてみました。Tenable.ioのイメージがついたところで各Scanテンプレートの検証を行なっていきたいと思います。