AWS Inspector は、AWS リソースのセキュリティリスクを監視するための強力かつ複雑なツールですが、小さなステップでも大きな違いを生む可能性があります。 AWS Config と組み合わせることで、コンプライアンスと持続可能性が向上します。この記事では、AWS Inspector と AWS Config を使用して AWS 内のリソースのセキュリティとコンプライアンスを強化する方法についていくつかのヒントを紹介します。
顧客プロジェクトに取り組んでいるときに、顧客環境内の要塞ホストを保護するという話題が浮上しました。最も安全な要塞ホストは存在しませんが、セッション マネージャーを使用できず、要塞ホストなしでは対処できない場合は、何らかのセキュリティ対策を講じる必要があります。最も明白な方法は、強化されたイメージを使用してセキュリティを強化し、本当に必要なポートのみを許可することで、要塞ホストが接続されているセキュリティ グループを強化することです。
ただし、長期間実行されているインスタンスには変更が加えられていたり、新しいセキュリティ上の脆弱性が発見されたりしている可能性があります。多くの人が使用している場合は、セキュリティ グループやインスタンス自体で制限された IP/ポートが開かれている可能性が高く、このような変更を元に戻すのを忘れる人もいます。
AWS 構成
後者の場合、AWS Config を使用すると、AWS リソースの構成を評価、監査、および評価できます。ここで説明するケースでは、セキュリティ グループがサンプルの要塞ホストへのアクセスを制御します。 AWS Config チェックが完了すると、ルールに違反する変更はすべて SNS トピックに転送されます。これにより、行われた変更に迅速に対応する機会が得られます。 AWS Config の料金は、記録された項目の数 (0.003 USD) とルール評価の数 (0.001 USD) に基づいて決まります。
AWS インスペクター
もう 1 つの評価の視点は、EC2 インスタンス自体の AWS Inspector です。 AWS Inspector は、EC2 インスタンスに対して直接セキュリティチェックを実行し、デプロイされたアプリケーションのセキュリティとコンプライアンスを向上させます。
AWS Inspector エージェントを搭載したインスタンスは、システム上で評価できるさまざまなシステム固有のチェックを提供します。ただし、システム上で利用可能なエージェントがない場合でも、AWS Inspector はインスタンスの到達可能性を外部からチェックできるため、たとえば要塞ホストが関連するネットワークの一部にすぎない場合のチェックには十分です。評価のスケジュールと通知を自動化するというコンセプトと組み合わせると、シンプルでありながら強力なセキュリティ リスク アラートになります。
注目すべき AWS Inspector の機能:
- AWS Inspector の評価は、別の AWS 管理アカウントから実行されます。 terraform または CloudFormation を使用してリージョンごとに個別の Inspector 評価コードを記述する場合は、この点に留意してください。ここに記載されているルールに従って処理する必要があります。
- AWS Inspector は Cloudwatch イベントルールをトリガーできません。インスペクターがイベントに反応する唯一の方法は、SNS(インスペクターでサポート)を通知先として使用し、(例えば)「完了まで実行する「イベント」を使用して、調査結果をさらに処理し、レポートをメールの受信者に転送したり、ダウンロード用に S3 バケットに保存したりできます。AWS Inspector は、評価テンプレートで定義できる 4 つのイベントタイプをサポートしています。実行開始「」運用ステータスが変更されました「」発見報告"そして"実行が完了しました」。
- レポートをダウンロードするには、AWS マネジメントコンソールからすべてのスキャン結果を取得します - コンソールは、選択した詳細レベルに基づいて、ダウンロードリンクを含む PDF を生成します。このようなリンクは一時的なものであるため、アラートの送信先にのみリンクを電子メールで送信します (たとえば、レポートが利用可能な場合にのみ受信者がレポートをダウンロードできるようにするため)。より良い解決策は、ファイルをダウンロードして S3 に保存するか、電子メールの添付ファイルとして送信することです。たとえば、boto3 で Python ラムダ関数を使用して、これらすべてを実行できます。インスペクターから SNS 経由で送信されたイベントの詳細をすべて取得します。
- イベントのインスペクタ実行IDを使用する→評価実行を記述する
- 実行の詳細から assessment_template_arn を取得します。
- 物件の全リスト
- インフラストラクチャをコードとして使用する場合、AWS マネジメントコンソールの使用時に、宣言されていない多くの魔法に遭遇したことがあるでしょう。適切なリソースアクセス権限を付与するようにしてください。たとえば、Inspector イベントを受信する SNS トピックでは、「inspector.amazonaws.com」からのプリンシパル タイプ「サービス」を許可する必要があります。これらはおそらく、コンソール編集の評価をコードとして再現しようとするときに見逃してしまうものでしょう。
もちろん、コンソールから手動で取得できる新しいレポートの通知だけを受け取りたい場合は、フィルタリングやレポート生成に Lambda を使用する必要はありません。 SNS トピックに必要なサブスクリプションを提供するだけです。必要なイベント タイプは「実行完了」イベント タイプのみです。すべてのイベントを報告すると、通知の数が多くなります。説明した両方のケース(ラムダありとラムダなしのフィルタリングとレポート生成)の場合、これが唯一の興味深いケースです。
AWS Inspector の料金は、評価実行の回数と詳細によって異なります。この記事のシナリオに適合するネットワーク到達可能性チェックの費用は 0.15 ドルで、1 日に 1 回実行すると月額合計 4.50 ドルになります。
結論は:
セキュリティに影響を与える可能性のある変更を防ぐことはできませんが、変更が発生した場合には警告が発せられるので、対応することができます。
上記の両方のサービスは、ここに示したシナリオを満たすことができます。どのサービスを選択するかは、周囲の要因と達成したい最終目標によって大きく異なります。この 1 つの側面のみをカバーしたい場合は、スケジュールされた検査官の評価を使用すると、最大限の柔軟性と制御が得られます。ここで説明した AWS サービスのセットは、必要に応じて組み合わせて、より多くのシナリオに対応できます。 AWS Inspector はインスタンス固有であり、欠陥や違反を積極的にスキャンします。 AWS Config は、厳密に制御する必要があるリソースを記録し、変更やコンプライアンス違反に関する通知を提供します。多くの場合、これら 2 つを組み合わせるのが適切な選択となります。