[前回] AWS公式資料で挑むSCS認定(46)-こんな時どうする(全分野その23)
はじめに
今回も引き続き、「こんな時どうする」集の作成です。
分野1: インシデント対応
- 不審なアクセスが報告された、大量EC2インスタンスに対しネットワークACLとセキュリティグループによるアクセス制御が機能しているか診断したい
- VPCフローログを使用し、アクセス制限に過不足ないか、セキュリティグループルールまたはネットワークACLルールを診断
- VPCフローログは、VPCのネットワークインターフェイス間で行き来するIPトラフィックに関する情報をキャプチャーしログ記録する機能
- フローログデータはAmazon CloudWatch LogsまたはAmazon S3に発行できる
- フローログの機能
- セキュリティグループルールの制限が過度に厳しくないか診断
- EC2インスタンスに到達するトラフィックをモニタリング
- ネットワークインターフェイスに出入りするトラフィックの方向を決定
- フローログデータはネットワークトラフィック経路の外で収集されるため、ネットワークスループットやレイテンシーに影響しない
- フローログを使用し、セキュリティグループルールとネットワークACLルールを診断する際の注意点
- セキュリティグループはステートフルで、許可されたトラフィックへの応答も自動的に許可され、応答へのルール設定は不要
- ネットワークACLはステートレスで、許可されたトラフィックへの応答に対し、別途ルール設定が必要
分野2: ログとモニタリング(監視)
- AWSサービスが暗号化されているか監視したい
- AWS Configのマネージド型ルールを使用し監視
- AWSリソース設定がコンプライアンス準拠しているか評価するための、事前定義されたルール
- 暗号化監視に使用するマネージド型ルール
-
SNS_ENCRYPTED_KMS
: Amazon SNSがAWS KMSで暗号化されているか -
S3_DEFAULT_ENCRYPTION_KMS
: アカウントのS3バケットがAWS KMSで暗号化されているか -
REDSHIFT_REQUIRE_TLS_SSL
: アカウントのAmazon RedshiftクラスターがSQLクライアントに接続時、TLS/SSL暗号化を必要とするか -
RDS_SNAPSHOT_ENCRYPTED
: Amazon RDSのDBスナップショットが暗号化されているか -
EC2_EBS_ENCRYPTION_BY_DEFAULT
: デフォルトでAmazon EBS暗号化が有効になっているか -
DYNAMODB_TABLE_ENCRYPTED_KMS
: Amazon DynamoDBテーブルがAWS KMSで暗号化されているか -
BACKUP_RECOVERY_POINT_ENCRYPTED
: リカバリポイントが暗号化されているか
-
- AWS Configのマネージド型ルールを使用し監視
分野3: インフラストラクチャのセキュリティ
- Amazon Inspector Classicから新しいAmazon Inspectorに移行したい
- アカウント内のすべての評価テンプレートを削除するだけで、Amazon Inspector Classicを無効にできる
- 既存の評価実行結果にアクセスするには、レポートとしてダウンロードするか、Amazon Inspector APIを使用しエクスポート
- 脆弱性管理サービスとしてAmazon InspectorがAmazon Inspector Classicより強化されたポイント
- スケールと動的クラウド環境を考慮し構築され、一度にスキャンできるインスタンスまたはイメージの数に制限がない
- Amazon ECRにあるコンテナイメージもスキャンし、ソフトウェアの脆弱性を検出できる、コンテナ関連の結果もECRコンソールにプッシュされる
- AWS Organizationsと統合され、マルチアカウント管理が可能で、組織のAmazon Inspector管理者アカウントに委任できる
- 委任された管理者(DA)アカウントとは、すべての診断結果を統合、すべてのメンバーアカウントを設定できる、一元化されたアカウント
- EC2インスタンスにスタンドアロンのAmazon Inspectorエージェントをインストールし維持する必要がなくなる
- 代わりに、AWS Systems Manager Agent(SSM Agent)を使用
- 自動かつ継続的にスキャン可能、新しく起動されたすべてのEC2 インスタンスと、ECRにプッシュされた適格なコンテナイメージを、自動的に検出し、ソフトウェアの脆弱性と意図しないネットワーク露出を即座にスキャン
- 新しい脆弱性をもたらす下記イベントが発生すると、関連リソースが自動的に再スキャンされる
- EC2インスタンスへの新しいパッケージのインストール
- パッチのインストール
- リソースに影響を与える新しいCVE(共通脆弱性識別子)の公開
- 最新CVEからの悪用される可能性のある脆弱性情報と、実環境の時間/環境要因などを相関させ、結果の優先順位付けに役立つコンテキストを追加することで、Inspectorのリスクスコアを計算
- 新しい脆弱性をもたらす下記イベントが発生すると、関連リソースが自動的に再スキャンされる
- 同じアカウントでAmazon InspectorとAmazon Inspector Classic を同時使用可能
- OSセキュリティ設定のCIS(Center for Internet Security)ベンチマークのスキャン
- Amazon Inspectorは現在サポートしていない、今後追加予定
- Amazon Inspector Classicで提供されている、CISスキャンルールパッケージを引き続き利用可能
- CISベンチマークは、セキュリティ体制を向上させることで、EC2インスタンスを保護するホストハードニングガイドライン
- CISベンチマークのルールパッケージで実行されたInspectorアセスメントの検出結果(findings)は、安全性の低い設定やパスワードポリシーの脆弱性を減少するため、必要なガイダンスとステップを提供
- Inspector用ワンステップセットアッププロセスで、簡単にCISおよびCVEルールパッケージによるセキュリティ評価を実行可能
- アカウント内のすべての評価テンプレートを削除するだけで、Amazon Inspector Classicを無効にできる
分野4: アイデンティティ(ID)及びアクセス管理
- Amazon CloudFrontで、HLS形式動画へのセキュアなアクセスを提供したい
- CloudFrontの署名付きCookieを使用しコンテンツにアクセスするように、ユーザーに要求
- CloudFrontが、コンテンツへのアクセスを保護/制限する方法
- HTTPS接続を設定
- 特定の地理的な場所のユーザーがコンテンツにアクセスできないようにする
- CloudFrontの署名付きURLまたは署名付きCookieを使用しコンテンツにアクセスするように、ユーザーに要求
- 署名付きURLと署名付きCookieは同じ基本機能を提供し、コンテンツにアクセスできるユーザーを制御できる
- 特定のコンテンツフィールドのフィールドレベルの暗号化を設定
- AWS WAFを使用し、コンテンツへのアクセスを管理
- CloudFrontを使用しプライベートコンテンツを供給する場合、署名付きURLと署名付きCookieの選択
- 署名付きURLを使用するケース
- 個別ファイル(アプリケーションのインストーラダウンロードなど)へのアクセスを制限する場合
- ユーザーがCookieをサポートしていないクライアント(カスタムHTTPクライアントなど)を使用している場合
- 署名付きCookieを使用するケース
- 複数の制限されたファイルへのアクセスを提供する場合
- HLS形式動画のすべてのファイル
- ウェブサイト購読者の領域にあるすべてのファイル
- 現在のURLを変更したくない場合
- 複数の制限されたファイルへのアクセスを提供する場合
- 署名付きURLと署名付きCookieのいずれも使用できないケース
- 使用中の署名なしURLに、次のクエリ文字列パラメータが含まれる場合
- Expires
- Policy
- Signature
- Key-Pair-Id
- ※ CloudFrontは、上述クエリ文字列パラメータが含まれたURLを署名付きURLと見なすため、署名付きCookieの確認は行わない
- 使用中の署名なしURLに、次のクエリ文字列パラメータが含まれる場合
- 署名付きURLと署名付きCookie両方使用できるケースにおいて
- 署名付きURLが署名付きCookieより優先される
- 署名付きURLを使用するケース
分野5: データ保護
- EC2インスタンスに安全にリモートアクセスしたい
- SSHによるリモートアクセス
- 直接的またはEC2 Instance Connect経由の安全な通信チャネルを使用できる
- AWS Systems ManagerのSession Managerと
Run Command
を使用したリモートアクセス- TLS 1.2を使用し暗号化される
- 接続を確立するリクエストはSigV4を使用し署名される
- IAMにより認証/認可される
- ※ AWS責任共有モデルに基づき、クライアントとEC2インスタンス間で送受信される機密データを、TLSなど暗号化プロトコルを使用し暗号化することは、ユーザーの責任範囲
- SSHによるリモートアクセス
おわりに
「こんな時どうする」の追記でした。
次回も続きます、お楽しみに。