スキャンのベストプラクティス

はじめに

脆弱性管理プログラムのニーズは企業ごとに異なります。使用するスキャナー (クラウドまたはオンプレミス)、センサーの配置場所、環境内のテクノロジー、脆弱性管理プログラムのその他の条件によって、要件は異なる場合があります。本書の情報は、すべての企業に適用できるデプロイメントのベストプラクティスであり、継続的な資産数の超過が発生した場合にも役立つ内容です。

一般的なベストプラクティス

ロールベースのアクセス制御 (RBAC)

アクセス制御 と RBAC を使用して、資産のスキャンと表示に関するアクセス許可を管理することができます。アクセス制御やユーザーグループの設定を誤ると、スキャンに失敗したり、ダッシュボードやレポートで資産や脆弱性の欠陥が生じたりする恐れがあります。

認証スキャン

Tenable は、可能な限り認証スキャンを実行することを推奨しています。認証スキャンにより、企業は現在の環境のより正確なスナップショットを手に入れ、ネットワークやシステムに関する情報を迅速かつ安全に収集することができます。この情報を利用して、セキュリティアーキテクチャのギャップを埋め、より良い判断を下して情報セキュリティプログラムを改善することができます。

また、認証スキャンは非認証スキャンよりも広範なチェックを実行でき、より正確なスキャン結果を提供します。これにより、ネットワークの広範なスキャンを確実に行うことができ、ローカルレベルでのエクスポージャーやコンプライアンス違反を特定できます。認証スキャンのメリットの詳細については、Tenable Nessus Agent ユーザーガイドにある認証スキャンをご覧ください。

資産の適切なインベントリ

ネットワーク内の既存の資産を正確に把握することは、効果的な脆弱性管理の第一歩です。詳細については、資産インベントリのベストプラクティス資産インベントリの分析とレビューを参照してください。

資産の削除

ユーザーインターフェースを介して資産を削除できますが、その資産のライセンスはその後 90 日間または資産期限切れまで有効です。90 日以内または期限切れ前に資産が再度検出された場合には、新たなライセンス資産としてカウントされます。そのため、再検出されることが想定される資産は、ライセンスの問題を避けるためにグローバル除外リストに追加するか、削除された資産を削除後 7 日以内にパージするために資産エイジアウトを有効にすることをお勧めします。詳細は、資産の削除 を参照してください。

削除するすべての資産にタグを付け、API を利用してそれらの資産を一括削除することもできます。たとえば、資産に「削除」タグを付け、自動化されたスクリプトを使ってカスタム設定の時間間隔で削除することができます。再検出されることが想定される資産 (ハニースポットネットワークなど) は、ライセンスの問題を避けるためにグローバル除外リストに追加するか、スキャン対象範囲を縮小して除外することをお勧めします。

エージェントスキャン

エージェント は、可動性のある資産や機密性の高い資産の脆弱性データを取得する上で最適です。エージェントスキャンでは、TLS の脆弱性など、外部エクスポージャーの可能性を調べることはできないことを理解しておく必要があります。このようなタイプの資産にある外部エクスポージャーに関連する脆弱性が企業のプログラムにとって重要である場合は、ネットワークベースのスキャンと組み合わせる必要があります。脆弱性の認証スキャンを実行できない場合は、非認証スキャンを使用することができます。ただし、エージェントに対する非認証スキャンによって新たなライセンス付与資産が生じる可能性があることに注意してください。詳細については、次のセクションを参照してください。

スキャンの健全性

スキャンする前に、TenableTenable Vulnerability Management スキャンの調整ガイドを確認することをお勧めします。Tenable Vulnerability Management では、スキャンスケジュールの総数を 10,000 件に制限しています。スキャンスケジュールには、スキャンテンプレート (検出および評価の設定を含む)、スキャンターゲットのリスト、および (オプションで) 認証情報およびコンプライアンス監査が含まれます。スキャンスケジュールは再利用することができ、スキャンスケジュールの [履歴] タブにスキャン結果がグループ化されます。

「オンデマンド」のスキャンスケジュールを再利用してスキャンスケジュールを探す手間を減らし、スキャンの健全性を良好に保つことがベストプラクティスです。新しい資産のセットをスキャンするたびに新しい「オンデマンド」のスキャンスケジュールを作成することには、ほとんどメリットはありません。その代わり、既存のスキャンスケジュールを使って、単に対象を変えたり、履歴を使って古いデータを確認したりすることが推奨されます。なお、ワークベンチにデータを送信することを避けた場合を除いて、スキャン中に見つかった変更点はすべてワークベンチに反映されるので、古いスキャン結果を再確認する必要性はあまりありません。

大抵、「前回のスキャンと今回では何が変わったのか」と考えるかもしれませんが、そうすると前回のスキャンに注意が向いてしまうことがあります。ただし、スキャンするたびに資産が最新の情報で更新されることに留意してください。[資産アクティビティ] タブでは、Tenable のセンサーが資産を検出したタイミングを確認することができます。さらに、各脆弱性には、その脆弱性やプラグインがいつ「最初に検出」され、いつ「最後に検出」されたかが表示されます。通常、この 2 つの日付の間で見られる違いは、前回のスキャン以降に変更された内容を特定するのに役立ちます。

最後に、事前に定義されたスキャンサイクル以外で資産を再スキャンするために、修正スキャンを使用することをベストプラクティスとして推奨します。脆弱性の [詳細] ページにある [アクション] ボタンから、修正スキャンを開始することができます。これは、修正スキャンを管理する最も便利な方法であり、スキャンの健全性を保つ上で役立ちます。

API スキャン作成のベストプラクティス

API を利用してスキャン作成を自動化したとしても、スキャンの健全性を維持することは依然として重要です。ワークロードに同じスキャンスケジュールを再利用できない場合は、Tenable は、スキャン削除を自動スキャン手順の一部にすることをお勧めします。新しいスキャンのたびに新しいスキャンポリシーを作成するのではなく、API ドキュメントで説明されているように、新しいスキャンを開始する際に alt_targets パラメーターを使用することを検討してください。

スキャンの健全性を維持することで、/scans エンドポイントへのリクエストごとに送り返されるスキャンの数を減らし、エンドポイントの速度の向上に役立ちます。

重複の課題と救済策

非認証スキャンは、資産を一意に特定するための十分なデータをスキャン中に取得できない可能性があります。よくある例として、複数のインターフェースを持つ資産の場合があります。続くセクションでは、この点のいくつかの例と考えられる解決策が示されています。

複数の NIC を持つサーバー

非認証スキャンでは、スキャン中に見つかった 2 つのネットワークインターフェースをマージするのに十分なデータを収集できない可能性があります。

解決策

  • 認証情報を使って資産をスキャンして一意に特定し、複数の NIC の重複を排除します。

  • 資産の追加の IP アドレスがレポート値を提供しない場合は、除外します。ネットワークスキャンを使用して資産を「ペネトレーションテスト」を行い、異なるネットワークインターフェース上のさまざまな脆弱性やオープンポートの可視化によって、インサイトや値が得られることもあります。レポートの精度の問題を修正するには、ユーザーインターフェースまたは API を使用して資産を削除してください。

  • 削除された重複を削除するには、資産エイジアウトを有効にして、スキャンスケジュールをミラーリングします。

ファイヤーウォールとレイヤー 3 スイッチ

非認証スキャンでは、複数のインターフェースがスキャンされた場合、ファイヤーウォールやレイヤー 3 スイッチを一意に特定するのに必要なデータを十分収集できません。十分なデータを収集するには、Tenable Vulnerability Management はデバイスのシステム設定をクロールして、インターフェースの IP を確認しなければなりません。しかし、たとえ認証スキャンであっても、Tenable Vulnerability Management は設定ファイルをクロールしてこのようなデータを収集することはしません。

解決策

  • スキャンで複数のインターフェースが見つかった場合、どのインターフェースの値が重複しているかを特定し、除外リストに追加します。

    • 例: 3 つのインターフェースを持つファイヤーウォールの場合、3 つの IP アドレスが存在し、そのうち 2 つの IP アドレスを除外し、ユーザーインターフェースまたは API を使って削除します。

  • 削除された重複を削除するには、資産エイジアウトを有効にして、スキャンスケジュールをミラーリングします。

エージェントスキャンと非認証スキャン

非認証スキャンでは、2 つの検出結果 (エージェントスキャンと非認証スキャン) をマージするのに十分なデータを収集できない可能性があります。十分に堅牢化されたサーバーは、資産を一意に特定するのに十分なデータを提供しません。しかし、Tenable のアルゴリズムは、データがもっと多くある場合はライセンス数を減らして資産の重複を排除します。

解決策

  • 充分に堅牢化されている資産や、Tenable のアルゴリズムが確信を持って資産をマージするのに必要なデータを提供しない資産については、認証情報を追加してください。そうすることによって、Tenable はマージに必要なデータを十分収集できるようになります。

一過性の資産

一時的な資産や、90 日の期限が切れる前に終了して再構築された資産は、再構築またはデプロイされるたびに新しい資産として作成されます。多くの場合、資産が終了した後に資産の属性が変更され、資産を以前のバージョンとマージすることが困難になることがあります。

解決策

  • クラウドコネクタを使用します。クラウドコネクタは、クラウド上の一過性の資産を特定するだけでなく、その終了を検出して対応するライセンスを削除します。

  • クラウドコネクタを利用できない場合は、資産エイジアウト機能を利用する必要があります。資産エイジアウト機能は、設定された期間内に資産が見つからない場合、自動的に資産をパージします。