本文の内容は、2021年5月24日にEric Carterが投稿したブログ(https://sysdig.com/blog/securing-the-new-aws-app-runner-service)を元に日本語に翻訳・再構成した内容となっております。
アマゾンは、クラウドネイティブアプリケーションのビルドと実行を容易にするために、コンテナアプリケーション専用の新しいサービス「AWS App Runner」を発表しました。
クラウドに移行する多くの企業にとってセキュリティは最重要課題であり、SysdigはAWSと協力してこの新しいプラットフォームでの脅威検知を可能にしました。
この記事では、App Runnerが他のAWSコンテナサービスとどのように違うのかを説明し、SysdigとFalcoを使ってApp Runnerのワークロードを保護する方法を紹介します。
AWS App Runner – インフラストラクチャーのオーバーヘッドがないセキュアなコンピュート
App Runnerでは、サーバー、コンテナオーケストレーター、管理すべきインフラがありません。ソースコード、コンテナイメージ、デプロイメントパイプラインを提供するだけで、App Runnerが自動的にコンテナイメージをビルドしてデプロイします。また、ロードバランシングの設定と管理、暗号化の提供、リクエストのトラフィックに応じたスケールアップやスケールダウンなども行います。つまり、事前にAWSの専門知識や経験がなくても、数回のクリックでコンテナ化されたWebアプリケーション、モバイルバックエンド、APIサービスを構築・実行することができます。新しいアプリケーションをデプロイするために、App Runnerは、指定されたコードリポジトリからpullしてソースからビルドするか、パブリックまたはプライベートのイメージリポジトリから既存のイメージをデプロイする選択肢を提供しています。
いずれの場合も、ランタイムやオートスケーリングのパラメータ、環境変数、割り当てられた仮想CPUやメモリなどの定義を含む通常の設定ステップを経て、新しいサービスがすぐに稼働します。
AWS App Runnerの可視性とセキュリティ
ワークロードのセキュリティを確保するためには、クラウドやコンテナのアクティビティを可視化して、予期せぬ、望ましくない、悪意のあるイベントを特定する必要があります。Sysdigは、このミッションを遂行するために、AWS CloudTrailのログを利用して、使用中のクラウドサービス全体の異常を探して警告したり、pullされたイメージをスキャンして既知の脆弱性を探したりする方法を提供しています。Sysdig Secureを使った例を見てみましょう。下の図は、”App Runner Service Created “が原因でポリシーがトリガーされた例です。これは、アウトオブボックスのSysdig Secureランタイムポリシーに組み込まれたFalcoオープンソースルールの1つに基づいています。
このポリシーには、新しいApp Runnerサービスが作成されたことを検出するためのルールが含まれています。今回のケースでは、ポリシーのトリガーとなったルールは”Create App Runner Service from Image”でした。
実際のFalcoのルールは以下のようになっています:
- rule: Create App Runner Service from Image Repository desc: Detect the deployment of an App Runner service from an image repository. condition: aws.eventSource="apprunner.amazonaws.com" and aws.eventName="CreateService" and jevt.value[/requestParameters/sourceConfiguration/imageRepository] exists and not aws.errorCode exists output: An App Runner service has been created from an image pulled from a repository (requesting user=%aws.user, requesting IP=%aws.sourceIP, AWS region=%aws.region, service name=%jevt.value[/requestParameters/serviceName], image identifier=%jevt.value[/requestParameters/sourceConfiguration/imageRepository/imageIdentifier]) priority: NOTICE tags: - cloud - aws - aws_apprunner source: aws_cloudtrail
問題の深堀り(Digging deeper )
アラートに記載されている情報を詳しく見てみましょう:aws.accountId 845151661675 aws.eventId ee1a60aa-c013-4643-9597-8334549606d3 aws.region eu-west-1 aws.requestId 5753033d-baf6-44f9-b8d6-903b34f1b863 aws.sourceIP 90.167.195.62 aws.user alejandro.villanueva
新しいサービスが作成され、それがどのAWSアカウントにあるのか、さらには作成したユーザーやどのIPアドレスからのものなのかがわかります。
また、これらの情報だけでなく、イメージリポジトリからApp Runnerサービスが作成されると、既知の脆弱性をチェックするためのイメージスキャンが自動的に実行されます。
スキャン結果からわかるように、デプロイされたイメージはいくつかのOSの脆弱性でフェイルしています。これは、AWS App Runnerサービスのセキュリティを監査するために使用できる貴重なツールです。
Cloud Activity Insightsで絵を完成させる
Sysdig SecureとFalcoが提供する情報は、問題の調査や今後の予防策を講じる上で、本当に貴重なものとなっています。また、セキュリティインシデントと同時に行われていた他のクラウドアクティビティを確認したり、侵害の原因となった構成上の問題をチェックしたりすることも、しばしば役に立ちます。先日発表しましたように、Sysdig Secureはクラウドインフラの脅威検知機能を搭載し、さらにクラウドの設定ミスを特定するチェックも行います。このAWSクラウドのCSPM(Cloud Security Posture Management)の情報を活用することで、セキュリティ調査を迅速に行うことができます。
Sysdig Secureのクラウドアクティビティインサイト(Cloud Activity Insights)は、ベストプラクティスや確立したポリシーに違反しているクラウドアクティビティイベントを表示します。例えば、上記の例で指摘されたイベントが発生した時点で、CloudWatchのDelete Alarmsなど、他の疑わしいクラウドアクティビティが行われていたかどうかを確認できます。また、ユーザーがセキュリティグループのルールを作成してSSHの侵入を許可していたり、クラウドの設定が流失してリスクにさらされていたりするかどうかもすぐに把握できます。
これらの情報があれば、インシデントを明確に把握することができ、設定上の問題やユーザの権限を改善し、再発の可能性を減らすための行動をとることができます。
まとめ
ここでは、App Runner と周辺のクラウドインフラストラクチャーを可視化し、イメージスキャ ンを自動化することで、App Runner のアクティビティを認識し、脆弱性を検出し、インシデン トを修正するための迅速な行動をとることができることを説明しました。App Runnerのタスクは、他のクラウド資産と同様に保護する必要があります。脅威を検知するためには、コンテナワークロードがどこで実行されているか(Amazon ECS、Amazon EKS、AWS Fargate、またはAWS App Runnerなど)に関わらず、可視性が必要です。ワークロードのインサイトをクラウドのインサイトで補強することで、インシデント対応の準備がさらに進み、問題の切り分けと予防が可能になります。
Sysdig Secureはこのような目的で設計されています。Sysdig Secureは、何が起こったのか、どこで起こったのかという文脈で必要なデータを提供し、周辺のクラウドの活動についても詳細を提供します。このようなレベルの可視性により、アプリケーションやインフラを保護するためのコントロールを確立し、ゼロデイ脅威や侵入などの問題を迅速に特定・診断して、ビジネスのリスクを低減することができます。
これらの機能をご自身で試してみませんか?30日間の無料トライアルをリクエストすると、数分で使い始めることができます。