[前回] AWS公式資料で挑むSCS認定(24)-こんな時どうする(全分野その1)
はじめに
AWS資格11冠制覇の名人(同僚)のブログ記事から、
「公式ドキュメント(理論)とハンズオン(実践)のクイックな往復こそ最も有効な試験対策」
自分のやり方あっていたようです。よっしゃ、試験準備続けよう。
引き続き、AWS公式資料を参考に「こんな時どうする」の追記です。
分野1: インシデント対応
- 外部からIAMアクセスキーを悪用した不正アクセス発生、どのような操作が行われたか特定したい
- AWS CloudTrailを使用し、IAMアクセスキーと関連付けされたユーザの操作履歴を確認
- AWS CloudTrailは、インフラストラクチャ全体のアカウントアクティビティをモニタリング/記録し、保存、分析、修復アクションをコントロールできる
分野2: ログとモニタリング(監視)
-
CloudTrailログへの不正アクセスと改ざんを防止したい
- CloudTrail設定で、ログファイルの整合性を有効に
- 一元化された専用S3バケットにログ保存
- S3ライフサイクルを設定し、古いログファイルをS3 Glacierにアーカイブしてから削除
- KMS管理キーを使用したサーバー側の暗号化(SSE-KMS)
-
組織複数アカウントのCloudTrailログをS3バケットで一元管理しているが、一部アカウントの証跡がS3バケットに保存されない
- バケットポリシーで、問題アカウントのCloudTrailからのアクセスが許可されているか確認
- マスターアカウントのCloudTrail設定で、ストレージがS3バケットに指定されているか確認
- CloudTrailコンソールで、ログファイルをS3バケットへ配信するための証跡が有効か確認
-
S3バケット設定に対する変更を記録/監視し、SNS通知したい
- バケットポリシーで、AWS Configがバケット設定変更を記録できるように許可
- AWS管理ポリシーの
AWSConfigRole
をAWS ConfigのIAMロールにアタッチ
分野3: インフラストラクチャのセキュリティ
-
EC2インスタンスの侵入テスト(ペネトレーション)を行いたい
- AWSの事前承認について
- 許可されたサービス(8つ)は事前承認不要(https://aws.amazon.com/jp/security/penetration-testing/)
- その他シミュレートされたイベントは、事前承認要
- AWSユーザーの責任
- セキュリティ評価に使用するツールとサービスが、禁止されたDoS攻撃などを使用せず正常動作できるように適切に設定し事前検証を行う
- サードパーティに依頼する場合も、侵入テストポリシーに違反しない方法でセキュリティ評価を実施することを保証
- 禁止された行為
- Amazon Route 53ホストゾーン経由のDNSゾーンウォーキング
- サービス妨害(DoS)、分散サービス妨害 (DDoS)、シミュレートされたDoS、シミュレートされたDDoS
- ポートフラッディング
- プロトコルフラッディング
- リクエストフラッディング(ログインリクエストフラッディング、APIリクエストフラッディング)
- AWSの事前承認について
-
コンプライアンス要件に従って、EC2インスタンスの脆弱性リストを取得したい
- Amazon Inspectorを使用
- Amazon Inspectorは、ソフトウェアの脆弱性や意図しないネットワーク露出がないか継続的にAWSワークロードをスキャンする自動脆弱性管理サービス
分野4: アイデンティティ(ID)及びアクセス管理
- EC2操作に対し、MFAによる認証を強制したい
- MFA以外の認証を拒否するIAMポリシーを作成
"Effect": "Deny"
"Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": false}}
- MFA以外の認証を拒否するIAMポリシーを作成
- AWS CLI使用時、MFAによる認証を強制したい
- IAMロールを作成、ロール信頼ポリシーでMFA以外の認証を拒否する
- ポリシーの"NotAction"に"sts:AssumeRole"を追加
- Role権限を引き受けるため、CLIコマンド
aws sts assume-role
を実行、下記パラメータを指定、-
--role-arn
: 上記ロール -
--serial-number
: MFAデバイスのARN -
--token-code
: MFAで発行されるトークン
-
- IAMロールを作成、ロール信頼ポリシーでMFA以外の認証を拒否する
分野5: データ保護
-
AWS Secrets ManagerでAmazon RDSのシークレット(パスワードなど)を自動的にローテーションさせたい
- VPCのプライベートサブネットにRDSインスタンスとAWS Lamda関数を配置
- Secrets Managerからプライベートサブネットへ接続
- 方法1: VPCエンドポイントを使用
- 方法2: NATゲートウェイを使用
- Lamda関数でシークレットのローテーションをスケジュール
-
ELB配下のEC2に構築したアプリケーションのトラフィックに対し、暗号化を強制したい
- ELBのHTTPSリスナー(ポート番号443)を有効に設定
- ELBのHTTPSリスナーからEC2インスタンスへのリクエストはHTTPS送信(送信先ポート番号443)
おわりに
試験対象の各分野における「こんな時どうする」追記でした。
次回も続きます、お楽しみに。