AWS認定ソリューションアーキテクト – プロフェッショナルに合格するまで【セキュリテイ&コンプライアンス篇】

AWS認定ソリューションアーキテクトプロフェッショナル試験合格に向けての資料集。以下の資料を何度も読み込んで、手を動かしながら実践を繰り返すことが合格の近道となる。セキュリテイ と コンプライアンス に関するサービスはこちら。

カテゴリ サービス名
コンピューティング EC2, ECS, Lambda, Batch, Elastic Beanstalk
ストレージ S3, EFS, Storage Gateway
データベース RDS, DynamoDB, ElastiCache, Redshift
移行と転送 Database Migration Service, Application Discovery Service, Migration Hub, Server Migration Service, Snowball
ネットワーク VPC, CloudFront, Route53, API Gateway, Direct Connect
開発者用ツール CodeCommit, CodeBuild, CodeDeploy, CodePipeline
管理とガバナンス Organizations, Config, CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Config, OpsWorks, Systems Manager
分析 Athena, EMR, CloudSearch, Elasticsearch, Kinesis, QuickSight
セキュリティとコンプライアンス IAM, RAM, Cognito, GuardDuty, Inspector, CloudHSM, AD&SSO, WAF&Shield
モバイル Amplify, Mobile Hub
アプリケーション統合 SNS, SQS

セキュリティ & コンプライアンス

AWS Identity and Access Management

AWS Resource Access Manager

Amazon GuardDuty(1)GuardDutyの概要

GuardDutyとは

Amazon GuardDuty は、VPC フローログ、AWS CloudTrail イベントログ、DNS ログ を分析して、悪意のある操作や不正な動作を継続的にモニタリングする脅威検出サービス。AWS 環境内の予期しない潜在的に未許可なアクティビティや悪意のあるアクティビティを識別して、AWS アカウントとワークロードを保護を行う。

検出結果

潜在的に悪意のある予期しないアクティビティを検出すると、GuardDuty によって結果が生成される。またこれらの結果は、GuardDuty のマネージメントコンソールから閲覧できるだけでなく、 CloudWatch Events を利用して表示することもできる。

検出した脅威は以下のタイプに分類される。

タイプ 重要度 内容
Backdoor:EC2/Spambot 中 EC2 インスタンスが ポート 25 でリモートホストと通信 して通常と異なる動作を示す。
Backdoor:EC2/C&CActivity.B!DNS 高 EC2 インスタンスは、既知のコマンド&コントロールサーバーに関連付けられるドメイン名をクエリ している。
Backdoor:EC2/DenialOfService.Tcp 高 EC2 インスタンスが、TCP プロトコルを使用したサービス拒否 (DoS) 攻撃の実行に利用されている可能性がある。
Backdoor:EC2/DenialOfService.Udp 中 EC2 インスタンスが、UDP プロトコルを使用したサービス拒否 (DoS) 攻撃の実行に利用されている可能性がある。
Backdoor:EC2/DenialOfService.Dns 高 EC2 インスタンスが、DNS プロトコルを使用したサービス拒否 (DoS) 攻撃の実行に利用されている可能性がある。
Backdoor:EC2/DenialOfService.UdpOnTcpPorts 高 EC2 インスタンスが、TCP ポートで UDP プロトコルを使用したサービス拒否 (DoS) 攻撃の実行に利用されている可能性がある。
Backdoor:EC2/DenialOfService.UnusualProtocol 高 EC2 インスタンスが、異常なプロトコルを使用したサービス拒否 (DoS) 攻撃の実行に利用されている可能性がある。
Behavior:EC2/NetworkPortUnusual 中 EC2 インスタンスが 通常と異なるポート でリモートホストと通信している。
Behavior:EC2/TrafficVolumeUnusual 中 EC2 インスタンスがリモートホストに対して通常と異なる 大量のネットワークトラフィック を生成している。
CryptoCurrency:EC2/BitcoinTool.B!DNS 高 EC2 インスタンスは、 暗号通貨 関連のアクティビティに関連付けられているドメイン名をクエリしている。
CryptoCurrency:EC2/BitcoinTool.B 高 EC2 インスタンスは、 暗号通貨 関連のアクティビティに関連付けられている IP アドレスをクエリしている。
PenTest:IAMUser/KaliLinux 中 API が Kali Linux EC2 インスタンスから呼び出されました。
PenTest:IAMUser/ParrotLinux 中 API が Parrot Security Linux EC2 インスタンスから呼び出されました。
PenTest:IAMUser/PentooLinux 中 API が Pentoo Linux EC2 インスタンスから呼び出されました。
Persistence:IAMUser/NetworkPermissions 中 プリンシパルが、通常 AWS アカウントの セキュリティグループ、ルート、ACL のネットワークアクセス許可を変更 するために使用される API を呼び出した。
Persistence:IAMUser/ResourcePermissions 中 プリンシパルが、通常 AWS アカウントのさまざまなリソースの セキュリティアクセスポリシーを変更 するために使用される API を呼び出した。
Persistence:IAMUser/UserPermissions 中 プリンシパルが、通常 AWS アカウントの IAM ユーザー、グループ、ポリシーを追加、変更、削除 するために使用される API を呼び出した。
Policy:IAMUser/S3BlockPublicAccessDisabled 低 バケットの Amazon S3 ブロック パブリックアクセスが無効 になった。
Policy:IAMUser/RootCredentialUsage 低 API が ルート認証情報を使用 して呼び出された。
PrivilegeEscalation:IAMUser/AdministrativePermissions 低 プリンシパルが 許容度の高いポリシーを割り当て ようとしている。
Recon:EC2/PortProbeUnprotectedPort 低 EC2 インスタンスの 保護されていないポートを既知の悪意のあるホストが探している 。
Recon:EC2/PortProbeEMRUnprotectedPort 高 EMR クラスタの 保護されていないポートを既知の悪意のあるホストが探している 。
Recon:IAMUser/TorIPCaller 中 API が Tor 出口ノード の IP アドレスから呼び出された。
Recon:IAMUser/MaliciousIPCaller.Custom 中 API が カスタム脅威リストにある IP アドレス から呼び出された。
Recon:IAMUser/MaliciousIPCaller 中 API が既知の 悪意のある IP アドレス から呼び出された。
Recon:EC2/Portscan 中 EC2 インスタンスがリモートホストに アウトバウンドポートスキャン を実行している。
Recon:IAMUser/NetworkPermissions 中 プリンシパルが、通常 AWS アカウントの既存のセキュリティグループ、ACL、ルートの ネットワークアクセス許可を検出 するために使用される API を呼び出した。
Recon:IAMUser/ResourcePermissions 中 プリンシパルが、通常 AWS アカウントのさまざまなリソースに関連付けられた アクセス権限を検出 するために使用される API を呼び出した。
ResourceConsumption:IAMUser/ComputeResources 中 プリンシパルが、通常 EC2 インスタンスなどの コンピューティングリソースを起動 するために使用される API を呼び出した。
Stealth:IAMUser/S3ServerAccessLoggingDisabled 低 バケットの Amazon S3 サーバーアクセスログ記録が無効 になった.
Stealth:IAMUser/PasswordPolicyChange 低 アカウントの パスワードポリシーが弱化 された.
Stealth:IAMUser/CloudTrailLoggingDisabled 低 AWS CloudTrail の証跡が無効化 されている。
Stealth:IAMUser/LoggingConfigurationModified 中 プリンシパルが、通常 AWS アカウントの CloudTrail ログ記録の停止、既存ログの削除 、その他アクティビティの痕跡を消去するために使用される API を呼び出した。
Trojan:EC2/BlackholeTraffic 中 EC2 インスタンスは、ブラックホール と呼ばれるリモートホストの IP アドレスに通信しようとしている。
Trojan:EC2/DropPoint 中 EC2 インスタンスは、マルウェア によって収集された認証情報やその他の盗難されたデータによって認識されているリモートホストの IP アドレスに通信しようとしている。
Trojan:EC2/BlackholeTraffic!DNS 中 EC2 インスタンスは、ブラックホール IP アドレスにリダイレクトされるドメイン名へのクエリを実行している。
Trojan:EC2/DriveBySourceTraffic!DNS 高 EC2 インスタンスは、Drive By Download 攻撃 の既知のソースであるリモートホストのドメイン名をクエリしている。
Trojan:EC2/DropPoint!DNS 高 EC2 インスタンスは、マルウェア によって収集された認証情報やその他の盗難されたデータによって認識されているリモートホストのドメイン名をクエリしている。
Trojan:EC2/DGADomainRequest.B 高 EC2 インスタンスで、アルゴリズムを使用して生成されたドメイン がクエリされている。
Trojan:EC2/DGADomainRequest.C!DNS 高 EC2 インスタンスで、アルゴリズムを使用して生成されたドメイン がクエリされています。このようなドメインは、一般的にマルウェアによって悪用されることが多く、EC2 インスタンスが侵害されている場合がある。
Trojan:EC2/DNSDataExfiltration 高 EC2 インスタンスが DNS クエリを通じて データを密かに抽出 しようとしている。
Trojan:EC2/PhishingDomainRequest!DNS 高 EC2 インスタンスは フィッシング攻撃 に関与するクエリ実行のドメインである。
UnauthorizedAccess:EC2/MetadataDNSRebind 高 Amazon EC2 インスタンスが、インスタンスメタデータサービスに解決される DNS ルックアップ を実行している。
UnauthorizedAccess:IAMUser/TorIPCaller 中 API が Tor 出口ノードの IP アドレスから呼び出された。
UnauthorizedAccess:IAMUser/MaliciousIPCaller.Custom 中 API が カスタム脅威リスト にある IP アドレスから呼び出された。
UnauthorizedAccess:IAMUser/ConsoleLoginSuccess.B 中 世界中でコンソールに対する複数の正常なログインが確認 された。
UnauthorizedAccess:IAMUser/MaliciousIPCaller 中 API が既知の悪意のある IP アドレス から呼び出された。
UnauthorizedAccess:EC2/TorIPCaller 中 EC2 インスタンスが Tor 出口ノードからのインバウンド接続を受信している。
UnauthorizedAccess:EC2/MaliciousIPCaller.Custom 中 EC2 インスタンスが カスタム脅威リスト内の IP アドレス とアウトバウンド通信している。
UnauthorizedAccess:EC2/SSHBruteForce 低 EC2 インスタンスが SSH ブルートフォース攻撃 に関与している。
UnauthorizedAccess:EC2/RDPBruteForce 低 EC2 インスタンスが RDP ブルートフォース攻撃 に関与している。
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration 高 インスタンス起動ロールを通じて EC2 インスタンス専用に作成された 認証情報が外部 IP アドレスから使用されている 。
UnauthorizedAccess:IAMUser/ConsoleLogin 中 AWS アカウントのプリンシパルによる 通常とは違うコンソールへのログイン が確認された。
UnauthorizedAccess:EC2/TorClient 高 EC2 インスタンスは Tor Guard または Authority ノードに接続している。
UnauthorizedAccess:EC2/TorRelay 高 EC2 インスタンスは、Tor リレーとして Tor ネットワークに接続中である。

Amazon GuardDuty のセットアップ

Amazon GuardDutyはCloudFormationに対応しているため、CloudFormation経由でGuardDutyをセットアップすることができる。

サービスロールの有効化

以下のサービスロールを有効化することで、EC2リストの読み込み権限 を GuardDuty に付与する。これは、悪意のあるアクティビティに関係する AWS 環境の EC2 インスタンスのメタデータを取得するためである。

Resources:
  ServiceLinkedRoleForGuardDuty:
    Type: AWS::IAM::ServiceLinkedRole
    DeletionPolicy: Retain
    Properties: 
      AWSServiceName: guardduty.amazonaws.com
      Description: A service-linked role required for Amazon GuardDuty to access your resources.

GuardDutyの有効化

GuardDuty を有効化する。有効化すると直ちにデータの取得と分析を開始する。 これらの処理は、通常のAWS CloudTrail、VPC フローログ、および DNS ログの保存とは独立している。

Resources:
  GuardDutyDetector:
    DependsOn:
      - ServiceLinkedRoleForGuardDuty
    Type: AWS::GuardDuty::Detector
    Properties:
      Enable: true

CloudFormation Launch Stack URL

以下のボタンから上のCloudFormationテンプレートを実行することが可能である。ソースコードは、aws-cloudformation-templates/security – GitHub にて公開。

作成されるAWSサービス CloudFormationテンプレート
セキュリティサービス全般 cloudformation-launch-stack
GuardDutyのみ cloudformation-launch-stack