Amazon ECS Anywhereにおけるコンテナセキュリティ確保

By 清水 孝郎 - MAY 30, 2021

SHARE:

本文の内容は、2021年5月27日にEric Carterが投稿したブログ(https://sysdig.com/blog/securing-containers-on-amazon-ecs-anywhere)を元に日本語に翻訳・再構成した内容となっております。

Amazon Elastic Container Service (ECS) Anywhereは、オンプレミスを含め、ビジネスにとって最も合理的な場所でコンテナを実行することを可能にします。クラウドに移行する企業にとって、セキュリティは重要な関心事です。Sysdigは、ECS Anywhereに対応したSecure DevOpsプラットフォームを検証し、AWSのお客様が新しいデプロイメントモデルで自信を持ってコンテナを実行するために必要なセキュリティと可視性を提供します。

この記事では、Amazon ECSユーザーがコンテナとクラウドを安全に監視するためのSysdigの機能をご紹介します。

ECS Anywhereによるハイブリッドクラウドモデルでのコンテナの実行

ECSの素晴らしい点の1つは、シンプルに管理されたコントロールプレーンです。このサービスは、ユーザーが他のソリューションで必要な複雑な設定や管理機能を使用することなく、コンテナ化されたアプリケーションを実行するのに役立ちます。これは、AWSユーザーにとってもプラスで、すぐに使い始めることができ、結果的にアプリの構築やデプロイにかかる時間を短縮することができます。

今回のECS Anywhereの提供開始により、AWSはECSを利用するためのあらゆる種類のデプロイメントオプションを利用できるようになりました。ここでは、ECSを実行できる様々な方法をご紹介します。

ECS deployment models

ECS Anywhereでは、実際のワークロードがどこで実行されているかに関わらず、マネージドECSコントロールプレーンを使用することができます。これにより、既存のオンプレミスのアプリをコンテナ化し、オンプレミスで保守することができます。さらに、ECS Anywhereを使えば、オンプレミスでコンテナオーケストレーターを実行、更新、保守する必要がなくなります。

お客様からの質問の一つに、”ECSオーケストレーションがあるクラウドから切断された場合はどうなるのか?”というものがあります。問題ありません、AWSがカバーしています。AWSは、切断時のオペレーションを考慮しています。切断中もタスクは継続して実行され、再接続時にはコントロールプレーンがインスタンスの状態を再評価し、保留されていたタスクが配置されて開始されます。

SysdigによるECS Anywhereのセキュリティと監視

Sysdigは、多様なハイブリッドクラウドのデプロイメントにおいて、コンテナの運用状況を一元的に把握することができるため、ECS Anywhereに最適です。クラウドにデプロイしていますか?AWS Outpostsを使用していますか?自社のベアメタルサーバで運用していますか?Sysdigエージェントは、セキュリティと監視の導入が必要な場所であれば、どこにでも導入できます。

とりわけ、ECS Anywhereでは、以下の手順でエージェントを実行することができます。

タスク定義の登録

aws ecs register-task-definition \
    --cli-input-json file://sysdig-ecs-a-agent.json

エージェントをデーモンとして実行

aws ecs create-service \
    --cluster $CLUSTER_NAME \
    --service-name sysdig-ecs-agent-svc \
    --launch-type EXTERNAL \
    --task-definition sysdig-ecs-a-agent \
    --schedulingStrategy DAEMON

launch-typeがEXTERNALであることに注目してください。これは、ECS Anywhere上でエージェントを実行する場合と、クラウド上の「通常の」ECSで起動タイプがEC2である場合の唯一の違いです。

最初の部分にあるcli-input-jsonは、sysdig-ecs-a-agent.jsonというファイルを参照しています。このファイルは以下のようになっています。ここでも主な違いは、EXTERNALを「requestsCompatibilities」プロパティで表記していることです。

sysdig-ecs-a-agent.json

{
  "family": "sysdig-ecs-a-agent",
  "containerDefinitions": [
    {
      "name": "sysdig-ecs-a-agent",
      "image": "sysdig/agent",
      "memory": 512,
      "privileged": true,
      "environment": [
        {
          "name": "ACCESS_KEY",
          "value": "12345678-1234-1234-1234-123456789012"
        },
	{
          "name": "TAGS",
          "value": "environment:production"
        }
      ],
      "mountPoints": [
        {
          "readOnly": true,
          "containerPath": "/host/boot",
          "sourceVolume": "boot"
        },
        {
          "containerPath": "/host/dev",
          "sourceVolume": "dev"
        },
        {
          "readOnly": true,
          "containerPath": "/host/lib/modules",
          "sourceVolume": "modules"
        },
        {
          "readOnly": true,
          "containerPath": "/host/proc",
          "sourceVolume": "proc"
        },
        {
          "containerPath": "/host/var/run/docker.sock",
          "sourceVolume": "sock"
        },
        {
          "readOnly": true,
          "containerPath": "/host/usr",
          "sourceVolume": "usr"
        }
      ]
    }
  ],
  "pidMode": "host",
  "networkMode": "host",
  "volumes": [
    {
      "name": "sock",
      "host": {
        "sourcePath": "/var/run/docker.sock"
      }
    },
    {
      "name": "dev",
      "host": {
        "sourcePath": "/dev/"
      }
    },
    {
      "name": "proc",
      "host": {
        "sourcePath": "/proc/"
      }
    },
    {
      "name": "boot",
      "host": {
        "sourcePath": "/boot/"
      }
    },
    {
      "name": "modules",
      "host": {
        "sourcePath": "/lib/modules/"
      }
    },
    {
      "name": "usr",
      "host": {
        "sourcePath": "/usr/"
      }
    }
  ],
  "requiresCompatibilities": [
    "EXTERNAL"
  ]
}

エージェントをインストールすると、SysdigはコンテナやECS環境のその他の側面を自動検出し始めます。

ECS Anywhereによるコンテナとクラウドのセキュリティ

Sysdig Secureは、オープンソースのFalco検出エンジンをベースに構築されています。Sysdig Secureは、Falcoのクラウドネイティブなランタイムセキュリティを、セキュリティポリシー管理を簡素化するグラフィカルユーザーインターフェース(GUI)で拡張し、大規模なコンテナとクラウドのセキュリティを提供するように構築されています。

ランタイムセキュリティに加えて、Sysdig Secureは、アプリケーション構築時から本番環境まで、AWSとECS Anywhereの環境に適用できるセキュリティとコンプライアンスの機能を提供します。

ECSオーケストレーションコンテキストによるコンテナレベルの可視化は、コンテナアプリケーションの動作を理解するのに役立ちます。また、AWS CloudTrailログを利用して、クラウドアカウントのアクティビティを把握することができます。これが意味するところは、ECS Anywhere上で実行されているコンテナを介した機密データへの侵入のようなものを発見できるだけでなく、侵入をさらに説明できるような誤った設定や不審なアクセスがAWSアカウントにあったかどうかを理解することができるということです。

ECS Cluster activity in Sysdig Secure
Sysdig SecureにおけるECS Clusterのアクティビティ

SysdigのCloudTrailインテグレーションの詳細はこちらです。このクラウドセキュリティ機能は、Sysdigのフリーティアおよびエンタープライズライセンスに含まれています。

ECS Anywhereの重要な価値の1つは、クラウドとオンプレミスで一貫した運用を提供することで、お客様がバラバラの運用モデルから解放されることです。同様に、Sysdigは、コンテナとクラウドで異なるセキュリティ、監視ツールをサポートする必要性を軽減します。

クラウドのワークロード保護や脅威の検知と、クラウドのセキュリティポスチャー管理を組み合わせることで、1つのソリューション、1つのエージェント、1つのツールから、より多くの情報を得ることができます。コンテナ、ユーザー、クラウドサービスのイベントをまとめて確認することで、インシデントのトリアージをより効果的に、時間をかけずに行うことができます。

ECS Anywhereによる継続的なコンプライアンス

ECS Anywhereの主要なユースケースの1つは、コンプライアンスです。規制されている業界のお客様は、インフラストラクチャーの所有権を厳密に要求する義務があるため、マネージドサービスから締め出されていました。ECS Anywhereが提供するハイブリッドアプローチでは、コンプライアンスのためにコンテナとデータをローカルで管理しつつ、AWSクラウドを介して管理されたコントロールプレーンを活用することができます。

Sysdig Secureは、PCI、NIST、SOC2、HIPAAなどの標準の要件を満たすために、コンプライアンスに特化したポリシーやチェックをオン/オフできるようにして、お客様のコンプライアンスへの取り組みをサポートします。以下に例を示します。

Sysdig Secure NIST scanning policy
イメージスキャン監査ポリシー – NIST 800-190

Sysdig Secure NIST rules library
ランタイムセキュリティルール – NIST 800-53

AWS FargateにおけるECS Anywhereの使用

ECS Anywhereを使用してオンプレミスでデプロイすることを選択した場合、タスクを実行するためのAWS Fargateを含む、アプリケーションインフラストラクチャーの一部にクラウドのコンピュートを利用することもできます。

Amazon ECS Anywhere with AWS Fargate
AWS Fargateを使用したAmazon ECS Anywhere

サーバーレス環境では、ホストへのアクセスなしに、ワークロードのアクティビティの可視性が制限されることがあります。ECS AnywhereとFargateが混在する環境のセキュリティを確保するために、SysdigはFargateの自動イメージスキャンFargateのランタイム検出と応答も行っています。Fargateのセキュリティについての詳しい情報は、AWS Fargateチェックリストでコンテナを保護するをご覧ください。

まとめ

ECS Anywhereにより、AWSはお客様がアプリケーションインフラストラクチャーをパブリッククラウド以外にも拡張することを支援しています。クラウド内でも自社のデータセンターでも、セキュリティは慎重に計画して実行すべきものです。

AWSとのコラボレーションにより、利用可能なすべてのデプロイメントモデルをサポートすることで、お客様のビジネスにとって意味のある場所で自信を持ってコンテナを実行することができます。Sysdigの製品をお試しになりたい方は、無料でご利用いただけます。ここをクリックしてください。