エムオーテックス株式会社が運営するテックブログです。

AWSのセキュリティ関連サービスについて簡潔にまとめてみた

AWSのセキュリティ関連サービスについて簡潔にまとめてみた

はじめに

こんにちは。クラウドセキュリティ診断に携わっている權です。

各セキュリティ関連サービスの仕様について調べる中、機能の違いや連携関係が把握しづらいと感じました。

例えば、次のような経験はないでしょうか

  1. S3のセキュリティを向上させたくて関連キーワードを検索
  2. Macieというサービスがヒットする
  3. でもMacieという名前だけ見てもどのような機能なのか見当もつかない
  4. 公式ドキュメントを読んでみよう
    Amazon Macie は、機械学習とパターンマッチングを使用して機密データを検出し、データセキュリティリスクを可視化し、それらのリスクに対する自動保護を可能にするデータセキュリティサービスです。 ...

    組織の Amazon Simple Storage Service (Amazon S3) データ資産のセキュリティ体制管理に役立つように、Macie は S3 汎用バケットのインベントリを提供して、セキュリティとアクセスコントロールのためにバケットを自動的に評価および監視します。Macie は、バケットがパブリックアクセス可能になっているなど、データのセキュリティまたはプライバシーに関する潜在的な問題を検出した場合、必要に応じて確認および修正するための検出結果を生成します。

    Macieはまた機密データの検出とレポートを自動化するので、組織が Amazon S3 に保存しているデータをより詳細に把握できるようになります。機密データを検出するには、Macie が提供する組み込み型の基準と手法、ユーザーが定義するカスタム基準、またはこの 2 つの組み合わせを使用できます。S3 オブジェクト内で機密データを検出すると、Macie は検出結果を生成して、検出した機密データを通知します。

    検出結果に加え、Macie は Amazon S3 データのセキュリティ体制と、データ資産内に機密データが存在する可能性がある場所に関するインサイト導き出す統計やその他データを提供します。この統計と情報は、特定の S3 バケットとオブジェクトについてより詳細の調査を行う際の意思決定の際の指針となります。Amazon Macie コンソールまたは Amazon Macie API を使用して、検出結果、統計およびその他の情報を確認および分析できます。また、Macie と Amazon EventBridge との統合を活用して、他のサービス、アプリケーション、システムを使用して検出結果をAWS Security Hub CSPMモニタリング、処理、修正することもできます。
  5. 概要の部分だけでも文章が長くて内容をつかみにくい
  6. 結局、関連記事を読み、実機で検証を行って理解するしかない

皆さんには私と同じ試行錯誤を繰り返さないように、以下のような課題を解決できるように記事にまとめてみました。

  • サービス名だけではどのような機能なのか分からない
  • セキュリティサービスが多くて一目で分かるように整理したい
  • セキュリティサービス間の関連性について把握したい
  • サービスを導入する際に留意点や気を付けるべきポイントを押さえたい

セキュリティサービスを導入する際に、本記事を参考にして全体像を把握していただければと思います。

セキュリティサービスまとめ

ログ

  • AWS CloudTrail

CloudTrailの関連図

機能 イベントログを記録・保存
利用目的 設定変更などのAWS内部の操作ログを収集したい
サービス間連携 Security Lake、CloudWatch、GuardDutyにログデータを展開
推奨利用方法 イベント履歴はデフォルトでは90日間のみ参照できるため、「証跡」(Trail)を作成してS3に長期保存しましょう。
  • Amazon CloudWatch

CloudWatchの関連図

機能 リソースのログを収集・モニタリングし可視化
利用目的 ・リソースのログを記録したい
・リソースの状況を可視化したい
サービス間連携 各リソースのログ・CloudTrailのログを使用
推奨利用方法 ・各種AWSリソースのログ収集に利用される主要サービスの一つ
リソースにロググループを割り当ててログを収集します。
メトリクスなどを活用して可視化し、リソースの状況をモニタリングします。

脅威検出とモニタリング

  • Amazon Inspector

Inspectorの関連図

機能 EC2・ECR・Lambdaなどを監視し脆弱性検出
利用目的 継続的にスキャンし脆弱性を管理したい
サービス間連携 Security Hub CSPMに検出結果を展開
推奨利用方法 以下の3つのタイプを検出できます。
パッケージ脆弱性、 コード脆弱性、ネットワーク到達可能性

サービスごとに対応するタイプが異なることに注意してください。
EC2:パッケージ脆弱性、ネットワーク到達可能性
ECR:パッケージ脆弱性
Lambda:パッケージ脆弱性、コード脆弱性
  • Amazon Detective

Detectiveの関連図

機能 疑わしいアクティビティ*1を調査し、リソースを分析してセキュリティ問題の根本原因を特定
利用目的 検出した脅威について分析したい
サービス間連携 ・Security Lakeのデータを分析
・Security Hub CSPMの検出結果を分析
・GuardDutyの検出結果を分析
推奨利用方法 検出脅威に対してIPアドレスや経緯などの具体的な情報を整理して可視化できます。
問題の詳細を調査し、原因を特定する際に活用できます。
  • Amazon GuardDuty

    GuardDutyの関連図

機能 ・CloudTrail、S3、ECS、EKS、Lambdaなどのログをモニタリング、分析、処理し脅威検出
・EC2、AWS Backup、S3のマルウェアスキャン
利用目的 ・AWSのリソースの脅威を管理したい
・EC2、AWS Backup、S3をマルウェアスキャンしたい
サービス間連携 CloudTrailのログから脅威検出
推奨利用方法 GuardDutyは複数の検出機能を提供します。一方で、機能ごとに課金対象が異なるため、導入前に料金体系を確認してください。
インテリジェントな脅威検出 - Amazon GuardDuty の料金 - AWS
  • AWS Config

Configの関連図

機能 ・リソースの設定変更の履歴管理
・ルールを設定しコンプライアンス非準拠リソースを検知
利用目的 ・リソースにどのような設定変更があったか過去の履歴を追いたい
・リソースに対するルール定義し、設定逸脱を検知したい
サービス間連携 ・Control Towerにマネージドルールを提供
・Audit Manager、Security Hubにコンプライアンス(ルール)の準拠状況を展開
推奨利用方法 AWS ConfigとSecurity Hub CSPMを併用し、リソースの設定がベストプラクティスに沿っているかを継続的に確認しましょう。
全てのリージョンのリソースを記録するように設定しましょう。
  • Amazon Macie

Macieの関連図

機能 ・機械学習・パターンマッチングを使用して、S3の機密データを検査
・S3のデータのパブリックアクセス・暗号化・共有状況を確認
利用目的 ・特化したサービスでS3バケットを集中管理したい
・S3の機密データを保護したい
サービス間連携 Security Hub CSPMに検出結果を展開
推奨利用方法 S3の機密データ検出やデータ分類に特化したサービスです。
S3に重要なデータを保存して運用している場合は、Macieの導入を優先的に検討することを推奨します。

セキュリティ一元化

  • AWS Security Hub

Security Hubの関連図

機能 ・Inspector, Config, Macie, GuardDutyなどのセキュリティサービスを一元管理
・CSPM機能(Security Hub CSPM)
利用目的 有効化したセキュリティサービスのデータをまとめて確認したい
サービス間連携 ・Control Tower、Security Lake、DetectiveにSecurity Hub CSPMの検出結果を展開
・Inspector, Config, Macie, GuardDutyのデータを収集
推奨利用方法 Inspector, Config, Macie, GuardDutyの検出結果などをまとめて確認できます。
Security HubとAWS Configを併用し、リソースの設定がベストプラクティスに沿っているかを継続的に確認しましょう。
  • Amazon Security Lake

Security Lakeの関連図

機能 ・ログとイベントデータを一元管理できるセキュリティデータレイク
・OCSFに対応しデータを標準化
利用目的 ・複数のログやイベントデータを集約して確認したい。
・様々なデータのフォーマットを標準化したい。
サービス間連携 ・Detectiveに未処理のログ*2 を送信
・Security Hubの検出結果、CloudTrailのイベントログを取得
推奨利用方法 OCSFにデータを標準化しOpenSearch、Athenaなどと連携して分析・可視化します。
未処理(raw)ログをDetectiveで分析します。
  • AWS Control Tower

Control Towerの関連図

機能 ・AWS Organizationsの複数アカウントおよびOUに対して、共通のコンプライアンス(コントロール)を設定して統制
・ランディングゾーンで複数アカウントのConfig、ログ記録を統合
利用目的 複数のアカウントを統合管理したい
サービス間連携 ・CloudTrailにコントロールのイベントを送信
・Configにリソースを展開→対象リソースに「aws-control-tower」というタグが付与される
・Configのマネージドルールをコントロールとして使用 ・Security Hub CSPMのコントロールを使用
推奨利用方法 全てのアカウントにコンプライアンスを強制できます。
ランディングゾーンを設定してアカウントを統合管理できます。

ウェブアプリケーション

  • Amazon Cognito

機能 ・アプリケーションの認証機能を実装
・SAML、OIDC(OAuth 2.0)などの外部連携も実装可能
利用目的 ・ログイン機能を実装したい
・OIDCを利用してGoogleなどの外部アカウントでのログインを簡単に実装したい
推奨利用方法 認証機能を実装するため、認証設定や権限設定を慎重に設計しましょう。
ユーザープールを設定する際はMFAやパスワードポリシーなどに注意しましょう。
IDプールを設定する際はロールの設定に注意しましょう。

以下はユーザープールとIDプールのベストプラクティスです。

  • AWS Shield

機能 ・DDoS攻撃を防御
・レイヤー3・4・7をモニタリングし防御
利用目的 アプリケーションのDDoS防御
推奨利用方法 追加機能を利用するには有償版のAWS Shield Advancedの利用が必要になります。
AWS Shield Advanced では、レイヤー7の防御やダッシュボードを利用でき、環境に応じた設定も可能になります。

契約、監査

  • AWS Artifact

機能 ・AWSの契約を確認し受諾
・ISO規格やPCI DSSなどのコンプライアンス関連のレポートを確認
利用目的 ・ビジネス上BAA、NDAなどの法的契約を結ぶ必要がある
・セキュリティ体制について監査を行うときに関連レポートを確認したい
推奨利用方法 契約はアカウント単位で設定することも、組織全体に対して設定することもできます。
契約とレポートの更新通知を受け取るように設定し随時確認しましょう。

おわりに

本記事では、AWS の主要なセキュリティサービスについて、機能、活用場面、連携関係を整理しました。
AWSのようなクラウドサービスは仕様変更が頻繁に行われています。執筆中にも新機能が追加され、サービス間の連携は継続的に変化していました。
今後のAWSのセキュリティサービスの発展に期待ですね。

*1: ・API 呼び出し量が最も多いロールとユーザー
・トラフィック量が最も多い EC2 インスタンス
・最も多くのポッドが作成されたコンテナクラスター

*2:・AWS CloudTrail 管理イベントバージョン 1.0 以降
・Amazon Virtual Private Cloud (Amazon VPC) フローログバージョン 1.0 以降
・Amazon Elastic Kubernetes Service (Amazon EKS) 監査ログバージョン 2.0