AWS アカウントのアクティビティを監視
次のガイドラインを使用して、AWS アカウントのアクティビティを監視します。
-
各アカウントで AWS CloudTrail をオンにして、サポートされている各リージョンで使用します。
-
アクセスが非常に制限された一元化されたログアカウントにAWS CloudTrail ログを保存します。
-
CloudTrail ログファイルを定期的に調べます。また、AWS CloudTrail イベント、VPC フローログ、DNS ログを継続的に分析することで脅威を検出するサービスである GuardDuty を使用することもできます。
-
Amazon S3 バケットのロギングを有効にして、各バケットに対して行われたリクエストを監視します。
-
アカウントが不正に使用されたと考えられる場合は、発行された一時的な認証情報に注意してください。認識できない一時的な認証情報が発行された場合は、それらのアクセス許可を無効にします。
FSISEC3: IAM ロール設計の一環として、役割分担にどのように対応しますか? |
---|
セキュリティに関連する役割分担には、2 つの主要な目的があります。最初の目的は、利益相反、乱用、エラーの防止です。2 番目の目的は、セキュリティ違反、情報の盗難、セキュリティコントロールの回避などのコントロール失敗を検出することです。
インフラストラクチャとアプリケーションのデプロイを強力に自動化することで、人間によるアクセスの必要性を減らすことはできますが、それでも個人が主要な機能を完了する必要がある状況も依然としてあります。役割を分担することは、リスクを軽減するのに役立ちます。増し加えられた特権を持つユーザーの場合、システム管理アクティビティを分散して、1 人の管理者が自分のアクティビティを秘匿したり、システム全体をコントロールしたりできないようにすることが重要です。重要なタスクに対して承認レベルの追加、アクティビティの独立したレビューが必要です。
職務ポリシーを使用してロールを作成
AWS 管理の職務ポリシーは、最小権限の原則が有効であることを保証するために、組織全体のロールを作成するための出発点として使用できます。AWS は、組織内の共通の職務セットに対して、デフォルトで 10 の職務ベースのポリシーを提供しています。
AWS Config を使用して、履歴 IAM 構成と経時変化を表示
AWS Config を使用して、AWS Config の記録中の任意の時点で IAM ユーザー、グループ、ロールに割り当てられた IAM ポリシーを表示します。この情報は、特定の時点でユーザーが有していたアクセス許可を判別するのに役立ちます。たとえば、ユーザー John Doe が 2015 年 1 月 1 日に Amazon VPC 設定を変更するアクセス許可を持っていたかどうかを確認できます。
IAM の構成変更のアラートを設定し、監査を実行
IAM の構成変更を通知するアラートを設定することにより、間接参照のレベルを追加できます。これは、特権が昇格したユーザーによるアクティビティを監視するのに役立ちます。AWS CloudTrail、Amazon CloudWatch、Amazon SNS の組み合わせを使用して追加された間接参照を設定できます。詳細については、IAM の構成が変更されたときにアラートを受信する方法
FSISEC4: すべての人のアクセスが必ずフェデレーションを使用することをどのように保証しますか? |
---|
金融機関では、内部および外部のリスクチームと監査チームが、ユーザーアクセス管理とユーザーアクションの監査可能性を精査しています。フェデレーションにより、組織は、ユーザーライフサイクル、パスワード、Multi-Factor Authentication (MFA) 管理などの既存の機能を活用して、アプリケーションと AWS Management Console のシングルサインオンを拡張できます。
デベロッパーの CLI および API 環境にフェデレーションアクセスを使用
フェデレーションアクセスを設定する際は、AWS Management Console および CLI または AWS API へのアクセスを含めることが重要です。CLI および API へのアクセス用に SAML フェデレーションを設定する方法の詳細とサンプルスクリプトについては、SAML 2.0 および AD FS を使用してフェデレーション API および CLI アクセスを実装する方法についてのブログ投稿を参照してください。同様のスクリプトは、サードパーティの IdP ベンダーからも入手できます。
IAM ユーザーの作成に関する予防的および発見的コントロールの実装
人によるアクセス用にフェデレーションを設定し、EC2 インスタンスプロファイルをアプリケーションアクセスに使用すると、さらに AWS で作成する必要がある ID または IAM ユーザーはごくわずかです。Break Glass プロセスの管理者 ID がごく少数である場合があります (たとえば、フェデレーション構成または ID プロバイダーに問題がある場合)。また、IAM ロールとの統合をサポートしていないサードパーティアプリケーションのユーザーがごく少数である場合もあります。新しい IAM ユーザーまたはグループを作成する際は、AWS Config による発見的コントロールを実装する必要があります。
IAM ユーザーの認証情報を使用する際は、発見的コントロールを実装
フェデレーションされていない IAM プリンシパルによって実行される API アクションには、発見的コントロールを実装する必要があります。IAM ロールを活用する完全にフェデレーションされた環境では、IAM ユーザーを使用するのは Break Glass 手順など、稀な場合のみにする必要があります。IAM ユーザーによるすべてのアクションを監視し、警告する必要があります。
FSISEC5: すべてのサードパーティアプリケーションがベストプラクティスを使用して AWS API にアクセスしていることをどのように確認しますか? |
---|
セキュリティのベストプラクティスとして、組織の AWS API リソースへのアクセスを委任する場合は、サードパーティアプリケーションに IAM ロールとフェデレーションを使用します。
ロールを通じてアクセス許可を付与する
ロールは、ロールセッションの一時的なセキュリティ認証情報を提供します。サードパーティアプリケーションは、AWS アカウントで作成したロールを引き受けることで、AWS リソースにアクセスできます。ロールの権限ポリシーを定義する場合は、IAM 権限を指定する必要があります。このポリシーは、実行できるアクションとアクセスできるリソースを定義します。
IAM ロールは、IAM ユーザー、サードパーティアプリケーション、または EC2 などの AWS のサービスなどの承認されたエンティティによって引き継がれることを意図しています。IAM ロールを EC2 インスタンスに関連付けて、AWS アクセスキーの管理とデプロイを簡素化することができます。EC2 インスタンスは、そのインスタンスで実行されているサードパーティアプリケーションに一時的なセキュリティ認証情報を提供できます。そして、サードパーティアプリケーションは、それらの認証情報を使用して AWS リソースに API リクエストを行うことができます。
サードパーティに割り当てられた IAM 権限をローテーションして確認する
サードパーティアプリケーションはフェデレーションを使用する必要があります。フェデレーションがサポートされていない場合、IAM 認証情報を定期的にローテーションし、定義された目的が不要になった後や、ユーザーが危険にさらされている疑いがある場合は削除する必要があります。
特定の IAM ユーザーをローテーションまたは削除する必要がある期間を定義する際に考慮するべき事項としては、データの機密性、会社のセキュリティ体制、コーポレートガバナンスとコンプライアンスの要件、および侵害された IAM ユーザーが金融システムに引き起こす可能性がある損害のリスクが含まれますが、これらに限定されるわけではありません。