AWS専門資格の1つ、
AWS Certified Security - Specialty(SCS-C01)勉強中のririです。
試験に当たり、覚えておくべきことをメモしていきます。
※この度、無事SCS-C01に合格しました!
よろしければ勉強記録もご覧ください^^↓
認証・認可関連
AWS Directory Service
- オンプレとの連携方法には、Managed Microsoft ADを使って既存ADと連携する方法と、
ADConnectorと使って既存ADと連携する方法がある(既存AD側の拡張性の確認が必要)
Amazon Cognito
- ユーザプール(認証)とIDプール(認可)という2つの機能を有する
AWS Control Tower
- マルチアカウント管理を実現するサービス
- 既存のIDプロバイダーとAWS SingleSignOnを統合できる
AWS Secrets Manager
- データベースの認証情報を安全に保存し、認証情報の自動ローテーションも可能
AWS KMS
- カスタマーマネージド、AWSマネージドに分類できる
- リージョンを跨いでコピーすることはできない
- データキーを使用して、データの暗号化をすることはできない
- キーグラントではキーポリシー、IAMポリシーを変更することなく一時的なアクセス許可を与えることができる
IAM認証情報レポート
- アクセスキーが最後にいつ利用されたかを特定できる
セキュリティサービス関連
AWS WAF
- 特定のIPアドレスを拒否するには、IPセット一致ルールステートメントを使う
- 送信元IPを追跡し一定値を超えるとブロックするように設定するには、レートベースステートメントを使う
- ALBとCloudFrontと統合されている
Amazon GuardDuty
- IPホワイトリスト形式を利用している
- フォールスポジティブ対応には、信頼できるIPアドレスを含むプレーンテキストの構成ファイルを作成し、そのファイルをS3にアップロードして、信頼済みIPリストにする
- GuardDutyを無効にするには全てのオプションをデータソースを無効にする、全てのメンバーアカウントの関連付けを解除・削除する必要がある
- 侵害されたIAM情報の特定にも活用できる
AWS Inspector
- AWS環境の脆弱性を検出するサービス
- 安全でないサーバープロトコルの検出に役立つ
- パッチの自動適用はAWS System Manager Patch Managerが必要
- Network Reachabilityを使うと、インターネットからリソースに対してアクセスができるかを確認できる
AWS Shield
Amazon Detective
- AWS上の不審なアクティビティの分析、調査、原因の特定を行うサービス
- CloudTrailが無効になっている間の状況調査にも役立つ
Amazon Macie
- データの分類を行う機能もあるため、保存されたデータから機密情報を検出して保護することもできる
AWS Signer
- コードに署名をすることで、コードが変更されていないかを検証できる
AWS Encryption SDK
- CloudHSMより費用対効果が高い
AWS Encryption SDK は、業界標準とベストプラクティスに従って、誰もが簡単にデータの暗号化と復号を行うことができるように設計されたクライアント側の暗号化ライブラリです。これにより、データの暗号化と復号の最善の方法ではなく、アプリケーションのコア機能に集中できるようになります。
管理サービス関連
AWS System Manager
パラメータストア
- 設定情報や機密情報を管理できるサービス
- データベースの認証情報はSecure Stringパラメータとして保存できる
- スタンダードパラメータとアドバンスドパラメータがあり、スタンダードは無料で利用できる
Session Manager
オートメーションランブック
- リソースのメンテナンス、デプロイ、修正アクションを定義することができる
Cloud Trail
- Write-Onlyイベントフィルターを使うと書き込み変更のみプッシュできる
- ファイルの整合性の検証を有効にするとログのダイジェストファイルがS3に保存され改ざんが行われていないかの検証に利用できる
- CloudTrailログはリアルタイムではなく、通常15分遅れている
Cloud Watch
- カスタムメトリクスを公開する最小権限はputMetricData
- CloudWatchLogsにLambdaでログを記録するためにLambdaに必要な最小権限は、CreateLogGroup、CreateLogStream、PutLogEvents
- サブスクリプションフィルターを利用すると、Cloud Watch Logsから特定の文字列を含むデータをリアルタイムに検出し、KinesisやLambdaにログを送ることができる
AWS Certificate Manager
- EC2インスタンスはサポートしていない
AWS Security Hub
AWS Config
- AWS マネージドルールでAWSのリソースの設定変更を監視することができる
※ただしリアルタイムアラートには対応していない。リアルタイム性を求める場合はCloudTrail+CloudWatchLogsメトリクスを用いた方法が適切 - ユースケースとして例えば、インシデント発生前後のIAM権限の変更を確認することもできる
- Lambdaと連携し、変更を元に戻す設定をすることができる
- access-keys-rotatedは指定された日数でアクセスキーがローテーションされているかを確認するためのルール
ネットワーク関連
Route53
VPCフローログ
- 送信元IPアドレスをフローログに含めたいときはpkt-srcaddr、宛先IPを含めたい場合はpkt-dstaddrをフィールドに追加する
VPCトラフィックミラーリング
- 対象のENI(Elastic Network Interface)を通過するトラフィックをミラーすることができるサービス
- NLBと統合されている
CloudFront
- CloudFrontとALBを利用して、ユーザがALBに直接アクセスしないように制御することができる(CloudFrontでALBに送る通信にカスタムHTTPヘッダーを追加するよう設定し、カスタムHTTPヘッダーのみを転送するようにALBを設定する)
- OAIはSSE-S3のみをサポートしており、SSE-KMSと一緒に使うことができない
基本サービス関連
EC2
- EC2Rescueを使ってEC2のメモリダンプが可能
- EC2RunCommandを利用すればダウンタイムなしでパッチを適用できる
- SSHキーが漏洩した可能性がある場合には、EC2Runcommandを使いauthorized_keyファイルを更新する
- メタデータにアクセスしたい時は、アウトバウンドで送信先169.254.159.254を許可する
IPアドレス「169.254.169.254」にHTTPリクエストを送ることで、インスタンスメタデータを取得することができます。
Lambda
- Lambda@Edgeでは、ヘッダーを追加、置き換えることができる
- Lambdaオーソライザーでは、Lambdaを利用してAPIへのアクセスを制御することができる
S3
- S3への通信でHTTPSを強制するには、aws:SecureTransport": "falseをバゲットポリシーに追加する
- initiate-vault-lockでボールトロックを開始、abort-vault-lockでロックポリシーを中止できる
- バゲットポリシーではIAMグループをサポートしていない
EBS
- EBS暗号化ボリュームは保存時にデータを暗号化することができる
Dynamo DB
- 暗号化クライアントでは、保存中、転送中のデータの暗号化を実現する
クライアント側とサーバー側の暗号化 - Amazon DynamoDB Encryption Client
RDS
- インスタンスの暗号化は作成時にしかできない
ECR
その他サービス関連
Kinesis
- Streamsを利用すると保管中・転送中の暗号化ができる
- FirehoseはS3に保存する際にデータ暗号化が行われる
IoT Core
- モノの名前を認証情報として利用する