AWS認定Specialty – Security(SCS-C02)試験対策/各サービスのポイント

AWS

はじめに

AWS認定Specialty – Security(SCS-C02)試験で抑えておくべきポイントを記載しています。試験前の最終チェックや空き時間のちょっとした学習などに利用することを想定しているので細かい説明はしていませんが、よく出題されそうなものを簡潔にまとめてみました。皆様の試験学習に役立てば幸いです。

※ここで記載しているサービス内容は2025/4/10時点の情報を元に記載しています。

AWS Key Management Service(AWS KMS) 関連

AWS KMSの構成要素

AWS KMSの主な構成要素イメージです。KMSキーはコンテナのようなものでキーマテリアルやメタデータを含みます。キーマテリアルはインポートすることも可能です。

キーのローテーション/有効期限設定

  • AWSマネージドキーは約1年でローテーションされる。無効化やローテーション期間の変更は出来ない
  • カスタマーマネージドキーは自動ローテーションの有効、無効を設定することが出来る。ローテーション期間の指定も可能(デフォルトは365日)。ただしキーマテリアルをインポートしている場合は自動ローテーション不可
  • 自動ローテーションがサポートされるのはAWS KMS が生成するキーマテリアルを持つ対称暗号化 KMS キー (オリジン = AWS_KMS) のみ。
  • オンデマンドによるローテーションも可能。対象暗号化キーのみ。回数制限あり。
  • 手動ローテーションでは新しいキーを生成する形になる。影響がでないようにアプリケーションからはエイリアスで利用する形にしておく。

 脅威検知・脆弱性検知関連サービス

サービス概要

AWSサービス名サービス概要主な提供機能
Amazon Inspector・脆弱性検知
・対象サービスはEC2, ECR, Lambda
侵入を防ぐためのサービス(予防的統制)
・AWSのベストプラクティスに基づきリソースのセキュリティ設定を評価
・意図しないネットワーク露出の検知
Amazon GuardDuty・ログやデータソースを分析し、AWSアカウントやAWSリソースに対する潜在的な脅威や不正なアクティビティを検出
侵入後の挙動を検知・分析するサービス(発見的統制)
・リアルタイムのセキュリティ監視
・不正アクセスやマルウェアの検出、データ漏えいの監視
Amazon Macie・機械学習とパターンマッチングを使用して個人情報やクレジットカード番号などの機密データを検出
・S3バケットのセキュリティとアクセス制御の評価と可視化
・暗号化されていないS3バケット、公開されているS3バケットのなどの検知
・S3 バケット内のオブジェクトをサンプリング分析し個人情報などの機密情報を検知
・PII、GDPR、PCI DSSなどの機密情報リストを保持
AWS Systems Manager Patch ManagerEC2のOSパッチ適応の自動化やパッチ適用状況の確認・パッチ適用の準拠/非準拠状況確認
・パッチ適用の自動化
Amazon Detectiveセキュリティ問題の影響範囲調査や分析支援。VPC Flow Logs・CloudTrail・GuardDuty Findingsなどの情報を収集し一元的なビューを提供。・ログデータを収集し、機械学習や統計分析を用いて、異常なアクティビティやパターンを検出
・自然言語によるサマリ
・関連するセキュリティイベントのグループ化
AWS Security Hub各種AWSセキュリティサービスの検出結果を集約し、可視化する。・AWSの各種セキュリティ関連サービスの検出結果を一元化して可視化
・マルチアカウントにも対応

Amazon GuardDuty

  • データソース
    • VPCフローログ、DNSログ、CloudTrailログ、S3データイベント
  • マルチアカウント構成では「GuardDuty 管理者アカウント」のみが抑制ルール、信頼されている IP リスト、脅威リストの管理が出来る。
  • 抑制ルールを作成すると指定したルールに一致する通知をフィルタリングし、自動アーカイブすることが出来る。検出結果はEventBrigdeへ通知されなくなるため不要な通知を抑制出来る。

AWS Security Hub

・以下のサービスと統合されている
 - Amazon GuardDuty (脅威検知の検出結果)
 - Amazon Inspector (セキュリティ評価の検出結果)
 - Amazon Inspector (ポリシー違反の検出結果)
 - AWS Firewall Manager (AWS WAFポリシーのコンプライアンス非準拠検出結果)
 - AWS Systems Manager Patch Manager (コンプライアンス非準拠検出結果)

侵害されたEC2のフォレンジック調査手順

侵害されたEC2に対する基本的なフォレンジック調査手順は以下のとおり。

  1. 揮発性メモリの取得
  2. インスタンスの停止及び終了保護を有効にし、誤って停止しないようにする
  3. インスタンスの隔離。ネットワークACLやセキュリティグループを変更し、インスタンスを隔離する。
  4. AutoScallingグループやELBから切り離す
  5. インスタンスにアタッチされたEBSのスナップショットを取得
  • EC2を停止してしまうと揮発性メモリの情報が失われてしまう
  • インスタンスの隔離を行う際、セキュリティグループの変更や削除では「追跡されている接続」は切断されないので、まずは追跡されていない状態に変更する。
    Amazon EC2 セキュリティグループの接続の追跡

Amazon S3

  • プライベートコンテンツの配信
    • 単一ファイルの場合は署名付きURL、複数ファイルの場合は署名付きCookie
    • URLを変更したくない場合は署名付きCookie
  • S3バケットを誤って公開した場合にもデータを機密のままにしたい
    • SSE-KMSによるサーバーサイド暗号化でデフォルト暗号化を有効にする。SSE-S3ではバケットにアクセス出来るユーザーであれば復号化出来てしまうのでSSE-KMSを利用。
  • S3バケットデータ転送時の暗号化を必須にしたい
    • S3バケットポリシーで「aws:SecureTransport」 条件を使用し、HTTPS (TLS) 経由での暗号化された接続のみを許可。AWS Config ルール「s3-bucket-ssl-requests-only」を使用してルールが守られているか検知可能。
  • S3 バケットキーなしで SSE−KMS を使用してデータを保護する場合、Amazon S3 はすべてのオブジェクトに対して個々の AWS KMS データキーを使用する。
  • SSM-KEMを利用する場合、Amazon S3はすべてのオブジェクトに対し、個別のAWS KMSデータキーを利用して暗号化する。
  • S3のバケットポリシーではオブジェクトレベルのアクセス制御が可能
  • S3はデフォルトで暗号化が設定されており、S3 バケットにアップロードされたすべての新しいオブジェクトは保存時に自動的にAmazon S3 マネージドキーによる「SSE-S3」によって暗号化される。
  • オブジェクトロック機能を利用しオブジェクトを保護することが可能
    • コンプライアンスモードではどのユーザーもオブジェクトの変更や削除が出来ない
    • ガバナンスモードでは特定ユーザーはオブジェクトの変更や削除が可能
  • ボールトロックを利用し、ボールト(アーカイブを格納しているコンテナ)を保護することが可能

AWS Secrets Manager

  • シークレット(機密情報)の自動ローテーションに対応。「マネージドローテーション」と「Lamba関数によるローテーション」がある。

AWS Systems Manager

  • AWS Systems Manager Parameter Storeはシークレット(機密情報)をパラメータとして保存することが可能。AWS Secrets Managerより安価だが、自動ローテーションには非対応
  • シークレット毎にIAMポリシーによるアクセス制限が可能。

AWS Config

  • マネージドルール「restricted-ssh」でCIDR 0.0.0.0/0 のSSHを許可しているセキュリティグループを検知可能。Amazon EventBrigeで検知イベントを受け取ることが出来る。

AWS Certificate Manager (ACM)

  • 証明書のインポート
    • 証明書は、SSL/TLS X.509 バージョン 3 の証明書のみサポート。
    • 証明書が CA によって署名されており、証明書チェーンを提供することを選択する場合、チェーンは PEM エンコードされている必要がある。
    • 証明書、プライベートキー、証明書チェーン は PEM エンコードする必要がある。
  • 発行可能な証明書の種類は「ドメイン認証 (DV)証明書」のみ。「組織認証 (OV)証明書」と「拡張認証 (EV)証明書」は発行不可。

Amazon Cognito

  • ユーザープールは主に認証を扱う。単体で認証機能を持ち、Googleなど外部Idpとの連携も可能。主にアプリケーションの認証に利用される。
  • IDプールは認可機能を提供。一時的なAWS認証情報を生成する。AWS認証情報はルールベースで選択でき、未認証ユーザー用のAWS認証情報も生成出来る。Idpとしてユーザープールも指定が可能。

IAM

  • 多要素認証を有効にしている場合にのみ操作を許可するポリシー
    • “Effect”: “Deny”, “Condition”: { “BoolIfExists”: { “aws:MultiFactorAuthPresent”: “false” } }
    • aws:MultifactorAuthPresent キーは長期間の認証情報リクエストには存在しないため「BoolIfExists」演算子を利用し、キーが存在しない場合にtrueになるようにする。
  • IAM Access AnalyzerはAWSリソースに紐付いているポリシーを検査し、意図せぬ公開がおこなわれていないかを検出、可視化する。
  • AWS STS (AWS Security Token Service)
    • 一時的な認証情報払い出しのリクエスト先エンドポイントには「グローバルエンドポイント」と「リージョナルエンドポイント」の2つが存在する。冗長性やレイテンシー向上のために基本的には「リージョナルエンドポイント」の利用が推奨される。
    • ただし、2025年4月現在、「AWS STS グローバルエンドポイントの変更」が進んでおりグローバルエンドポイントへのリクエストは、リクエスト元のリージョンエンドポイントへ自動的に処理されるようになる。
    • グローバルエンドポイントのトークンは既定ではデフォルトリージョンでのみ有効。リージョンエンドポイントのトークンはすべてのリージョンで有効。
  • アクセスキー漏洩時の対応例
    • 漏洩したアクセスキーを無効化する
    • CloudTrailのイベント履歴で侵害されたアクセスキーで検索し、アクセスキーに関連するIAMロール名を特定する
    • IAMコンソールで特定したIAMロールのすべてのアクティブなセッションを無効化する
    • CloudWatch Logs InsightsでIAMユーザー・IAMロールのAPIログを検索する
    • 漏洩したアクセスキーをローテーションして削除する

AWS CloudHSM

  • FIPS 140-2 レベル 3 で検証された HSM(ハードウェアセキュリティモジュール)を提供。※AWS KMSはFIPS 140-2 レベル2までの対応

Amazon EC2

  • EC2インスタンスメタデータサービス(IMDS)でIMDSv2を要求したい
    • modify-instance-metadata-optionsコマンドで–http-tokensをオプションを利用し設定変更が可能。IMDSv2ではメタデータへのアクセスの前にセッショントークンを取得する必要があるためセキュリティリスクが軽減される。
  • EC2インスタンス間の通信暗号化
    • Nitro System ハードウェアのオフロード機能を使用し、インスタンス間の通信トラフィックを自動的に暗号化することが可能。
  • プライベートキーを紛失した場合の対応例(EBS-Backed インスタンスの場合)
    • インスタンスを停止する
    • ルートボリュームをデタッチし、別のインスタンスにアタッチする
    • 新しい公開鍵を利用しauthorized_keys ファイルを変更する
    • ボリュームを下のインスタンスにアタッチし、インスタンスを再起動する

Amazon ECR

  • 手動またはプッシュ時にCVE (Common Vulnerabilities and Exposures)データベースを利用したスキャンが可能。
  • デフォルトではAmazon S3 が管理するキー (SSE-S3) によるサーバー側の暗号化が行われる。AWS KMS によるサーバー側の暗号化 (SSE-KMS)も可能。 

AWS CloudTrail

  • CloudTrailのイベント履歴では、過去 90 日間に記録された管理イベントのみ表示可能。
  • CloudTrailログの改ざんや不正アクセスの防止
    • ログファイルの整合性の検証機能を有効にする
    • ログファイルをサーバーサイド暗号化(SSE-KMS)で暗号化する。

Amazon CloudWatch Logs

  • インターネットを経由せずにログを書き込むにはインターフェイス VPC エンドポイントを利用する。
  • CloudWatch Logs Insights を利用するとクエリを利用してログ分析が可能。料金はスキャン容量に対して課金されるが圧縮前の容量で計算される点に注意。
  • ログの保存期間はデフォルトでは無期限。1日~10年間の期間

Amazon VPC

  • セキュリティグループでは明示的な拒否ルールは設定出来ない
  • VPC内の暗号化されたトラフィック検査を行いたい場合、NLBで復号化を行い、AWS Network firewallエンドポイントに送信する
  • 作成したVPC Flow logsは編集が出来ない。ログ形式を変更したい場合などは再作成が必要
  • Ipv6でインターネット接続が必要な場合、Egress-Only インターネットゲートウェイを利用する
  • 「Network Access Analyzer」を利用すると意図しないネットワーク設定や通信を特定することが出来る。
  • 仮想プライベートゲートウェイ(VGW)はオンプレミス環境とVPCをDirect ConnectまたはVPNで接続する際のVPC側の出入り口となる。

ELB (Elastic Load Balancing)

  • ALBではTCPパススルーは利用出来ない。NLBはTCPパススルーが利用できる。

Amazon CloudFront

  • CloudFront の地理的制限機能(地理的ブロック機能)を使用することで、拒否リストにある禁止国からのコンテンツへのアクセスをブロックすることが可能。

AWS Organizations

  • SCPでrootユーザーの権限を制限する。
  {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Deny",
        "Action": "*",
        "Resource": "*",
        "Condition": {
          "StringLike": {
            "aws:PrincipalARN": "arn:aws:iam::*:root"
          }
        }
      }
    ]
  }  

Amazon RDS

  • RDSの暗号化
    • RDSの暗号化はインスタンス作成時にしか指定出来ない
    • 作成後に変更したい場合は、スナップショットを作成し、スナップショットのコピー時に暗号化を行い、暗号化したスナップショットから復元する。
    • 暗号化にはAWS KMSが利用される。デフォルトではAWS マネージドキーが利用されるが、カスタマーマネージドキー(CMK)を指定することも可能。

AWS CloudFormation

  • CloudFormation レジストリでは、リソース、モジュール、フックの拡張機能が利用出来る。
    • モジュール:CloudFormationテンプレートの共通部分をパッケージ化して再利用が可能。
    • フック:スタックまたは特定のリソースが作成、更新、または削除される前に、それらを検査することが可能。
    • サポートされていないサードパーティーリソースを利用可能にする。

その他一般知識

  • 「authonaized_keys」ファイルは、SSH(Secure Shell)で使用されるファイルでリモートサーバーにパスワードなしでログインできるようにするために使用される。このファイルには、クライアント側の公開鍵(public key)が保存されている。
  • TLS パススルー(TLS Passthrough)とは、ロードバランサーやリバースプロキシが TLS の終端(復号)をせず、通信をそのままバックエンドサーバーに転送すること。

以上

タイトルとURLをコピーしました