自分の AWS アカウントとそのリソースをセキュアにするためのベストプラクティスについて教えてください。

最終更新日: 2022-08-22

自分の AWS アカウントとそのリソースをセキュアにするためのベストプラクティスについて教えてください。

- または -

AWS リソースまたはアカウントを不正なアクティビティから保護したいと考えています。

簡単な説明

AWS は、アカウントを保護するのに役立つ多くのツールを提供しています。ただし、これらの対策の多くは既定では有効になっていないため、実装するには直接的な措置を講じる必要があります。以下、アカウントとリソースの安全確保に役立つベストプラクティスの事例をご紹介します。

  • パスワードとアクセスキーを保護する
  • AWS アカウントのルート ユーザーで多要素認証 (MFA) を有効にする AWS Identity and Access Management (IAM) にインタラクティブにアクセスできるすべてのユーザー
  • リソースへの AWS アカウントのルート ユーザー アクセスを制限する
  • IAM ユーザーとそのポリシーを頻繁に監査する
  • Amazon Elastic Block Store (Amazon EBS) スナップショット、Amazon Relational Database Service (Amazon RDS) スナップショット、および Amazon Simple Storage Service (Amazon S3) オブジェクト バージョンを作成する
  • AWS Git プロジェクトを使用して、不正使用の証拠をスキャンする
  • アカウントとそのリソースをモニタリングする

ノート:AWS Identity Center または IAM フェデレーション ユーザーを使用している場合、IAM ユーザーのベスト プラクティスはフェデレーション ユーザーにも適用されます。

解決方法

パスワードとアクセスキーを保護する

パスワードとアクセスキーは、アカウントにアクセスする際に使用される主要な 2 種類の認証情報です。パスワードとアクセス キーは、AWS ルート ユーザー アカウントと個々の IAM ユーザーに適用できます。パスワードとアクセス キーは、他の機密の個人データと同じように安全に保護することをお勧めします。パブリックにアクセス可能なコード (パブリック Git リポジトリなど) に埋め込まないでください。さらなるセキュリティ強化のため、すべてのセキュリティ認証情報は頻繁にローテーションまたは更新してください。

パスワードまたはアクセス キーのペアが漏洩した疑いがある場合は、次の手順に従います。

  1. アクセスキーのペアをすべてローテーションします
  2. AWS アカウントルートユーザーのパスワードの変更
  3. の指示に従ってください AWS アカウントで不正なアクティビティに気付いた場合はどうすればよいですか?

MFA を有効にする

MFA をアクティブ化すると、アカウントを保護し、承認されていないユーザーがセキュリティ トークンなしでアカウントにログインするのを防ぐことができます。

セキュリティを強化するには、AWS リソースを保護するために MFA を設定するのがベストプラクティスです。あなたはできる IAM ユーザーの仮想 MFA をアクティブ化するsそしてその AWS アカウントのルート ユーザー.root ユーザーの MFA をアクティブ化すると、root ユーザーの資格情報のみが影響を受けます。アカウント内の IAM ユーザーは、独自の認証情報を持つ個別の ID であり、各 ID には独自の MFA 設定があります。

詳細については、を参照してください。AWS でのユーザーの MFA デバイスのアクティブ化

リソースへのルートユーザーアクセスを制限する

ルート ユーザー アカウントの資格情報 (ルート パスワードまたはルート アクセス キー) により、アカウントとそのリソースへの無制限のアクセスが許可されます。アカウントへのルート ユーザー アクセスを保護し、最小限に抑えることは、ベスト プラクティスです。

アカウントへのルートユーザーアクセスを制限するには、以下の戦略を考慮します。

詳細については、次を参照してください。root ユーザーの資格情報を保護し、日常のタスクには使用しないでください

IAM ユーザーとそのポリシーを頻繁に監査する

IAM ユーザーと作業を行うときは、以下のベストプラクティスを考慮します。

を使用できます。IAM コンソールのビジュアル エディター安全なポリシーを定義するのに役立ちます。一般的なビジネス ユース ケースの例と、それらに対処するために使用できるポリシーについては、次を参照してください。IAM のビジネス ユースケース

Amazon EBS スナップショット、Amazon RDS スナップショット、および Amazon S3 オブジェクト バージョンを作成する

EBS ボリュームの特定時点のスナップショットを作成するには、次を参照してください。Amazon EBS スナップショットを作成する

Amazon RDS 自動スナップショットを有効にしてバックアップ保持期間を設定するには、以下を参照してください。自動バックアップの有効化

バックアップとアーカイブ用の標準 S3 バケットを作成するには、次を参照してください。バックアップとアーカイブ用の標準 S3 バケットの作成。S3 バケットのバージョニングを作成するには、を参照してください。S3 バケットでのバージョニングの使用

コンソールを使用して AWS Backup プランを作成するには、以下を参照してください。スケジュールされたバックアップを作成する。AWS Command Line Interface (AWS CLI) を使用して AWS Backup プランを作成するには、以下を参照してください。AWS CLI を使用して AWS Backup プランを作成したり、オンデマンドジョブを実行したりするにはどうすればよいですか?

AWS Git プロジェクトを使用して不正使用から保護する

AWS は、アカウントを保護するためにインストールできる Git プロジェクトを提供しています。

  • Git シークレット 秘密情報 (アクセス キー) のマージ、コミット、およびコミット メッセージをスキャンできます。Git Secrets が禁止された正規表現を検出した場合、それらのコミットが公開リポジトリに投稿されるのを拒否することができます。
  • AWS Step Functions および AWS Lambda を使用して、AWS Health から、または AWS Trusted Advisorで、Amazon CloudWatch Events を生成します。アクセス キーが公開されているという証拠がある場合、プロジェクトは、イベントを自動的に検出、ログ記録、軽減するのに役立ちます。

アカウントとそのリソースをモニタリングする

異常なアクティビティやアカウントへのアクセスを検出するには、アカウントとそのリソースを能動的にモニタリングすることがベストプラクティスとなります。以下のソリューションのひとつ、または複数を検討してください。

ノート:定期的に使用するリージョンだけでなく、すべてのリージョンのログを有効にすることをお勧めします。