ホーム テクノロジー クラウドコンピューティング AWS EC2 セキュリティの 6 つのベスト プラクティス

AWS EC2 セキュリティの 6 つのベスト プラクティス


AWS はセキュリティ サービスとインフラストラクチャを提供しますが、顧客はこれらのサービスの構成と保守を長期的に行う責任があります。

企業がデータと業務をクラウドに移行する際、セキュリティは考慮すべき重要な要素です。 Amazon Web Services (AWS) は一般的に使用されるクラウド サービス プロバイダーであり、Elastic Compute Cloud (EC2) はその最も人気のあるサービスです。データ、アプリケーション、インフラストラクチャの安全性を確保するには、AWS EC2 インスタンスを保護することが不可欠です。

データの保護を支援するために、AWS はセキュリティに対する責任共有モデルを提供しています。このモデルは、顧客がセキュリティ上の責任を AWS の責任と顧客の責任という 2 つのカテゴリに分類することで理解するのに役立ちます。

AWS 責任共有モデルは、クラウドのセキュリティとクラウド内のセキュリティの区別を明確にするのに役立ちます。このモデルでは、AWS がすべてのクラウド サービスを駆動する基盤となるインフラストラクチャのセキュリティを確保する責任があると述べています。

同時に、お客様は AWS 環境で実行されているコンテンツとアプリケーションを保護する責任があります。これには、データの監視と保護、ファイアウォール ルールの構成、アクセス制御の保護などが含まれます。

これらのベストプラクティスに従うことで、AWS EC2 リソースを保護し、安全性を維持し、業界標準に準拠していることを保証できます。

IAM を使用して EC2 インスタンスへのユーザー アクセスを制御する

IAM (アイデンティティおよびアクセス管理) ロールは、AWS EC2 セキュリティの重要なコンポーネントです。 IAM ロールは、AWS サービスへのアクセスを許可する安全な方法を提供します。これにより、AWS 環境内のリソースへのアクセスを制御しながら、ユーザーまたはアプリケーションに安全に権限を与えることができます。

AWS では、IAM ロールにより、アプリケーションは認証情報を管理せずにインスタンスから API リクエストを行うことができます。 AWS 認証情報を管理する代わりに、以下に示すように、IAM ロールを使用して API リクエストを行う権限を割り当てることができます。

  • IAM ロールを作成する
  • どのアカウントまたは AWS サービスがその役割を担うことができるかを指定する
  • ロールを引き受けるときにアプリケーションがアクセスできる API アクションとリソースを設定する
  • インスタンスの起動時にロールを含めるか、既存のインスタンスにロールをアタッチします
  • アプリケーションが一時的な認証情報のセットを取得し、それらを使用して AWS にリクエストを行えるようにします。

IAM ユーザーが IAM ロールと一緒にインスタンスを作成したり、既存のインスタンスの IAM ロールをアタッチまたは変更したりできるようにするには、次の API オペレーションの権限が必要です。

 {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/DevTeam*"
    }
  ]
}

IAM ロールを作成して EC2 インスタンスに割り当てることで、適切な権限を持つユーザーのみが機密データやリソースにアクセスできるようにすることができます。

ネットワーク アクセス制御を使用して AWS EC2 インスタンスへのアクセスを制限する

AWS EC2 インスタンスのセキュリティを確保する最良の方法の 1 つは、ネットワーク アクセスを制限することです。たとえば、ネットワーク アクセスを構成する場合は、特定の信頼できる IP アドレスとポートからのアクセスのみを許可する必要があります。

Virtual Private Cloud (VPC) でネットワーク アクセス コントロール リストまたはセキュリティ グループ ルールを設定し、EC2 インスタンスの特定の IP アドレスを受け入れるか拒否します。セキュリティ グループとネットワーク アクセス制御は、AWS EC2 インスタンスへのアクセスを制限する効果的な方法です。

セキュリティ グループを使用すると、EC2 インスタンスへのアクセスを許可する IP アドレスとポートを指定できます。ネットワーク アクセス制御により、インスタンス内の特定のサービスとポートへのアクセスを制限できます。

画像出典: AWS
ネットワークACL
ネットワークACL

ネットワーク ACL を設定するには、次の手順を実行します。

  • Amazon VPC コンソールを起動する
  • ナビゲーションペインでネットワーク ACL を選択します
  • ネットワーク ACL の作成を選択します
  • [ネットワーク ACL の作成] ダイアログ ボックスでネットワーク ACL に名前を付け、VPC リストから VPC の ID を選択します。
  • はい、作成を選択します

セキュリティ グループごとに、受信トラフィックまたは送信トラフィックを制限するルールを構成できます。 IP アドレス、ポート、プロトコル、および方向 (受信または送信) を指定できます。セキュリティグループを作成するには、次の手順を実行します。

  • Amazon VPC コンソールを起動する
  • ナビゲーションペインでセキュリティグループを選択します
  • セキュリティグループの作成を選択します
  • セキュリティ グループの名前と説明を入力します (このプロセスは元に戻すことができません)
  • VPC から VPC を選択します
  • セキュリティ グループ ルールは今すぐ追加することも、後から追加することもできます
  • タグは今すぐ追加することも、後から追加することもできます。タグを追加するには、「新しいタグの追加」を選択し、タグのキーと値を入力します。
  • セキュリティグループの作成を選択します

セキュリティ グループを設定するときは、常に可能な限り制限を厳しくしてください。アクセスを必要なポートと IP アドレスのみに制限し、他のすべてのポートがブロックされていることを確認します。さらに、セキュリティ グループ ルールを定期的に確認して、有効性が維持されていることを確認してください。

Amazon マシンイメージの暗号化

Amazon Machine Images (AMI) は、インスタンスの起動に必要な情報を提供する仮想マシンです。インスタンスに保存されているデータを保護するには、使用する AMI を暗号化することが不可欠です。

画像出典: AWS
ami-to-ami-convert
ami-to-ami-convert

AWS AMI 暗号化により、お客様は PCI-DSS、HIPAA、GDPR、APRA、MAS、NIST4 などの業界標準の暗号化に準拠し続けることができます。 AMI 暗号化キーは、保存時の暗号化に安全な暗号ハッシュ関数を提供することで知られる AES-256 アルゴリズムを使用します。

これにより、AMI に保存されたデータが潜在的な攻撃者や不正アクセスから確実に保護されます。インスタンスに保存されているデータを保護するために、AWS Key Management Service (KMS) は暗号化キーを制御し、それを使用して EC2 インスタンスなどの AWS リソースに保存されているデータを暗号化するのに役立ちます。

また、KMS を使用すると、アクセス制御、監査ログ、キーのローテーションを管理してデータを保護し、コンプライアンス要件を満たすことができます。

AWS CloudTrail を使用してユーザーアクティビティを追跡する

CloudTrail は、ユーザーが AWS アクティビティを監視および監査できるサービスです。 CloudTrail を使用すると、AWS リソースとインフラストラクチャに変更を加えたユーザーを追跡できます。 CloudTrail を使用すると、アカウントに対して行われたすべての API 呼び出しをログに記録できます。以下を監視します。

  • EC2 インスタンス、S3 バケット、VPC などのリソースに対する操作の作成、削除、変更
  • Lambda 関数の呼び出し
  • 他のアクションは AWS マネジメントコンソールで実行されます
画像出典: AWS
AWS-CloudTrail_
AWS-CloudTrail_

CloudTrail は、実行された各アクションの記録をイベントの形式でキャプチャします。このイベントは CloudTrail ログ ファイルに書き込まれ、その後のさらなる分析と監査に使用できます。 CloudTrail を有効にすることは、環境に関連するすべてのアクティビティの監査証跡を提供するため、AWS EC2 環境にとって重要なセキュリティのベストプラクティスです。

AWS アカウントで継続的なイベントの記録に対して CloudTrail を有効にするには、CloudTrail コンソールに移動し、[証跡の作成] を選択して設定を構成します。 CloudTrail ログを有効にしたら、定期的にログを確認し、不正なアクセスや不審なアクティビティがないか確認することが重要です。

CloudTrail を使用して、予期しない変更や不審なアクティビティなど、環境内の異常な動作を検出することもできます。時間をかけて AWS EC2 環境の CloudTrail ロギングを正しく構成することで、環境が安全であり、すべてのアクティビティが監視されていることを確認できます。

EC2 インスタンス OS のセキュリティを確認する

AWS EC2 インスタンス上で実行されているオペレーティング システムのセキュリティを確保することが重要です。これは、ファイアウォールの構成、ウイルス対策ソフトウェアのインストールと更新、および脆弱性へのパッチ適用によって実行できます。

  • 必要なポートとプロトコルのみを許可するようにファイアウォールを構成する必要があります
  • 悪意のあるプログラムがシステムに侵入するのを防ぐために、ウイルス対策ソフトウェアを定期的にインストールおよび更新する必要があります。
  • システム内の既知の脆弱性が確実に解決されるように、パッチ管理を採用する必要があります。
  • 疑わしいアクティビティを検出するには、監視を実装する必要があります。これには、LogRhythm などのツールを使用して、ユーザーのアクティビティ、アクセス、ファイルやディレクトリへの変更を監視することが含まれます。

これらの対策を実装することで、AWS EC2 インスタンスの安全性を確保できます。

Amazon CloudWatch ログを有効にする

Amazon CloudWatch Logs は、AWS で実行されているアプリケーション、オペレーティング システム、その他のリソースからのログ データを追跡、保存、監視するための貴重なツールです。 CloudWatch Logs を使用すると、システムのアクティビティを監視するためのアラームを簡単に検索、分析、設定できます。

画像出典: AWS
クラウドウォッチ
クラウドウォッチ

CloudWatch Logs の利点には、システム パフォーマンスの可視性の向上と、潜在的なセキュリティ問題を監視できる機能が含まれます。

CloudWatch エージェントは、コマンドラインまたは Systems Manager Agent (SSM) を通じてダウンロードおよびインストールできます。これを使用して、Amazon EC2 インスタンスとオンプレミス サーバーからメトリクスとログを収集できます。

CloudWatch エージェントを設定するときは、どのタイプのログを収集して CloudWatch Logs に保存するかを決定する必要があります。また、CloudWatch エージェントに IAM ロールを設定して、CloudWatch Logs 内の関連データにアクセスして保存するための十分な権限を持たせる必要があります。

結論

データ侵害はいつでも発生する可能性があり、企業にとって財務上および評判上に深刻な影響を及ぼします。そのため、AWS EC2 環境のセキュリティを確保するための措置を講じることが不可欠です。

これらのベスト プラクティスに積極的に従い、効果的なセキュリティ対策を導入することで、企業はデータ侵害を受けるリスクを軽減できます。さらに、適切なセキュリティと優れたサイバー衛生習慣の重要性についてユーザーを教育することは、組織内の全員がシステムの安全性を保つ上での自分たちの役割を理解するのに役立ちます。

いくつかの最高の AWS 監視ツールを探索することもできます。

「 AWS EC2 セキュリティの 6 つのベスト プラクティス」についてわかりやすく解説!絶対に観るべきベスト2動画

【AWS Black Belt Online Seminar】Amazon EC2
AWSを使いこなすために – セキュリティとベストプラクティスと新しいサービス | AWS Summit Osaka 2019