Elastic Security を使用した AWS ワークロードの保護

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/08eee0be-c229-db8c-47b2-14b9cb90e86f.png)

皆様こんにちは！
Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリストの鈴木章太郎です。
今回は、Elastic Security を使用した AWS ワークロードの保護について、ご紹介します。

AWS、Google Cloud、Azure などのクラウドサービスプロバイダーが、優れたソリューションとユーザーエクスペリエンスをグローバルな顧客ベースに提供するという点で、チームに驚異的なパワーと柔軟性を提供することは周知の事実です。1つ以上のクラウドの力を活用することは、多くの場合、組織が成功するための重要なコンピテンシーと見なされます。もちろん、このパワーには、クラウドワークロードの監視とセキュリティ保護の複雑さが増し、多くの場合、制御、アクセス、および公開のレベルが異なる複数の基盤テクノロジで実行されます。
このブログ記事では、AWS ベースのワークロードをセキュリティで保護するために考慮する必要があるアプローチと、Elastic Security がセキュリティチームが AWS 環境での脅威を防止、検出、および対応するためにどのように役立つかに焦点を当てます。
このあと、フォローアップブログでは、Google Cloud Platform や Microsoft Azure などの他のクラウドプロバイダーも取り上げます。

# ワークロード全体の可視性を確立

クラウド環境をセキュリティで保護するための最初のステップは、[ワークロードを監視および監視できるようにすること](https://www.elastic.co/blog/aws-elastic-observability-monitoring-cloud)です。チームが依存するすべての異なるクラウド サービスをエンドツーエンドで可視化し、サービス間でログ、メトリック、およびその他のテレメトリをシームレスに関連付ける機能は、意味のあるセキュリティ検出を構築する上で不可欠です。
[Elastic Agent](https://www.elastic.co/guide/en/fleet/current/fleet-overview.html) は、さまざまなデータ ソースを Elastic デプロイにオンボードするのに役立つ単一の統合エージェントです。このブログでは、Elastic Agent を活用して、[AWS 環境からデータを収集](https://docs.elastic.co/en/integrations/aws)し、観察できるようにします。
Elastic [サーバーレスフォワーダー SAR (サーバーレスアプリケーションリポジトリ)](https://www.elastic.co/blog/elastic-and-aws-serverless-application-repository-speed-time-to-actionable-insights-with-frictionless-log-ingestion-from-amazon-s3) は、Amazon S3 バケットに含まれるログの取り込みをサポートし、それらを Elastic に送信します。Amazon S3 の SQS キューイベント通知は、Lambda 関数のトリガーとして機能します。新しいログファイルが Amazon S3 バケットに書き込まれ、条件を満たすと、Lambda 関数をトリガーする通知が生成されます。
クラウドの可視性は、次の領域に大別できます。

## クラウドプラットフォーム

環境への可視性の実装は、クラウドサービスプロバイダープラットフォームから始める必要があります。すべての AWS ワークロードは、使用するテクノロジに関係なく、スタックのこのレイヤーでテレメトリと対話して生成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/592c4557-a6ac-24c7-c7ce-fe9d2cd5b900.png)
次のデータソースは、セキュリティ監視のために AWS ネットワーク、セキュリティ、および ID クラウドプラットフォームレベルで収集する必要があります。
•	[アイデンティティ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)およびアクセス管理 (IAM) を含むすべての重要な AWS サービスに対してクラウドトレイルロギングを設定します。クラウドトレイルログは、  SIEM に取り込むために [Elasticエージェントを使用して収集](https://docs.elastic.co/en/integrations/aws/cloudtrail)できます。
•	[AWS Web Application Firewall (WAF) 統合](https://docs.elastic.co/en/integrations/aws/waf): WAF ログをほぼリアルタイムで処理し、Cookie、ホストヘッダー、クエリ文字列などのパラメータに基づいてセキュリティの脅威や特定のリクエストを識別し、ブロックまたは許可されている理由を把握します。 
•	[Elasticと AWS ネットワークファイアウォールの統合](https://docs.elastic.co/en/integrations/aws/firewall): サービスがどのように使用されているかをログに記録および監視し、ネットワークファイアウォールのステートフルルールグループによって実行されるネットワークトラフィックとトラフィックフィルタリングにより、AWS ネットワークファイアウォールの信頼性、可用性、パフォーマンスを維持します。
•	[Elastic および Amazon Virtual Private Cloud (Amazon VPC)](https://docs.elastic.co/en/integrations/aws/vpn): Amazon VPC フローログをすばやく検索、表示、フィルタリングして、Kibana を使用して Amazon VPC 内のネットワークトラフィックを監視します。フローログデータを分析し、セキュリティグループ設定と比較して、クラウドセキュリティを維持および改善します。

Cloudtrail ログは、セキュリティ検出のために AWS サービス全体で関心のある主要なイベントを詳細に可視化します。次のスクリーンショットは、AWS ユーザーに関連付けられている MFA デバイスの非アクティブ化を示すアラートを示しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/db785a42-8163-7f2e-cd15-db59df71d1ee.png)
これは、セキュリティポリシーの非準拠のインスタンス、または攻撃者が永続性を確立したり、AWS アカウントへのアクセスを中断したりしようとする可能性があります。これらのログを収集し、すぐに使用できるセキュリティルールを使用すると、このようなアクティビティを検出するのに最適な方法です。

## クラウドネイティブワークロード

アプリケーションを設計するためのクラウドネイティブアプローチは、クラウドコンピューティングモデルを最大限に活用します。これには以下が含まれます。
•	アプリケーションをコンテナとして実行し、インフラストラクチャ全体に移植可能
•	Kubernetes などのオーケストレーション プラットフォームを使用して、インフラストラクチャ全体にアプリケーションをデプロイおよびスケーリングする
•	オブジェクトストレージ、リレーショナルデータベース、キーバリューストアなどのマネージドサービスを活用する
•	インフラストラクチャをコードとして定義し、ワークロードのデプロイと保守を自動化する

このモデルにより、チームは非常に迅速に革新、拡張、顧客に価値を提供することができますが、そのようなワークロードの観察とセキュリティ保護に関しては、多少の複雑さも伴います。違いは、アプリケーションが複数の基盤となるシステムとプラットフォームに分散され、その一部がユーザーに代わってクラウドサービスプロバイダーによって管理されていることです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/77571f7b-2280-ba4e-f782-5d62abe00cfd.png)

SaaS やクラウド プラットフォームの依存関係など、テクノロジ スタックの各レイヤーを観察することが重要です。意味のあるセキュリティ検出には、ワークロードを保護するために、基になるさまざまなコンポーネントからのデータを関連付けてつなぎ合わせることができる必要があります。
Elastic Agent を使用して、アプリケーションの次のレイヤーを監視することを検討してください。
•	クラウドウォッチとクラウドトレイルのログ
•	依存しているサービスの AWS ストレージ、データベース、および分析メトリクス (S3、EBS、RDS、DynamoDB、ストレージゲートウェイなど)
•	チームが AWS サービスのフットプリントと使用パターンの変化を理解するのに役立つ AWS 使用状況データ
Elastic Agent を使用してオンボードされたすべてのデータ ソースは、[共通のスキーマ](https://www.elastic.co/guide/en/ecs/current/ecs-reference.html)に自動的に変換されます。これにより、データソース間の検索と関連付けが容易になると同時に、ダッシュボードや検出などのダウンストリームのユースケースも簡素化されます。

## クラウドでホストされるワークロード
クラウドでホストされるワークロードは、一般に、クラウド インフラストラクチャ上のコア コンピューティング、ストレージ、およびネットワーク サービスを活用するアプリケーションまたはサービスを指します。これらは、アーキテクチャの観点からは従来のワークロードやオンプレミスのワークロードによく似ており、クラウド移行の旅の一環としてのリフトとシフトの結果である可能性があります。
クラウド移行戦略のリファクタリングまたは再設計には、アプリケーション全体をゼロから書き直してクラウドネイティブにすることが含まれます。この方法により、お客様はマイクロサービス アーキテクチャ、サーバーレス、コンテナーなどのクラウドネイティブ テクノロジの可能性を最大限に引き出すことができます。たとえば、単純な Web アプリケーションをホストする Nginx Web サーバーを実行している EC2 インスタンス、またはラムダ関数(サーバーレス)またはコンテナ(マイクロサービス)で実行されているアプリケーションを考えてみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/278bb8d5-8eed-8bc3-d53c-9eea829bc4c1.png)

このようなワークロードの監視は、Elastic Agent では比較的簡単です。エージェントは、ホスト・レベルでログとメトリックを自動的に収集します。エージェント上の統合モジュールを使用して、インスタンスで実行されているNginxやMySQLなどの追加アプリケーションからデータを収集できます。
クラウドインスタンスに  Elastic Agent をインストールし、Kibana の Fleet アプリケーションを使用して、環境に適した統合モジュールを有効にします。 インスタンスがプロビジョニングされるときに [Elastic Agent のインストールを自動化](https://aws.amazon.com/quickstart/?solutions-all.sort-by=item.additionalFields.sortDate&solutions-all.sort-order=desc&awsf.filter-content-type=*all&awsf.filter-tech-category=*all&awsf.filter-industry=*all&solutions-all.q=Terraform%2BElastic%2BCloud&solutions-all.q_operator=AND)できます。

セキュリティの観点からは、可視性を高めるために、次の統合も考慮する必要があります。
•	Linux 上の監査デーモンによって生成されたログを収集するための監査パッケージ。audit デーモンは、セキュリティー検出のために、重要なセキュリティー・イベントおよびファイル・アクセス・イベントをホストに記録します。
•	ネットワークパケットキャプチャパッケージは、クラウドインスタンス上のネットワークトラフィックデータを収集できます。このパッケージは、実行中のワークロードに応じてホスト上の選択したプロトコルをデコードするように構成して、ネットワークへの可視性を高めることができます。
•	Linux メトリック・パッケージは、ホストから Linux OS 固有のメトリックを収集できます。
•	Windowsパッケージは、ホストから [Windows固有のログとメトリック](https://www.elastic.co/blog/the-essentials-of-windows-event-logging)を収集することができます
•	Osquery Managerパッケージは、セキュリティ調査またはインシデント対応ワークフロー中にエンドポイントでライブosqueryリクエストを実行します

監視しているホストまたはインスタンスに応じて、必要な可視性のレベルを考慮することが重要です。たとえば、ネットワーク パケット キャプチャは、特定のネットワーク プロトコルを使用して、主要なミッション クリティカルなコンピューティング インスタンスをさらに可視化するための優れた方法ですが、このアプローチは環境全体には対応できません。このブログで提供されている統合から取得できるセキュリティ ログとテレメトリにも、同じ考慮事項を適用する必要があります。
次のダッシュボードには、ネットワーク ファイアウォールからのデータが表示され、セキュリティ チームがネットワーク ファイアウォールのアラートとフロー ログを理解するのに役立ちます。これは、セキュリティ検出とハンティング/調査の両方に役立ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/2ee0aaaa-81ee-668c-070f-c72d5944a5fc.png)
次のダッシュボードには、Linux ホストからのデータが表示され、セキュリティ チームがホスト上のアクティビティと使用プロファイルを理解するのに役立ちます。これは、セキュリティ検出とハンティング/調査ワークフローの両方に便利です。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/21864d2f-297f-e000-d393-9660e591b24e.png)

# エンドポイントセキュリティによるクラウドインスタンスの保護
AWS のようなクラウドサービスプロバイダーは、ミッションクリティカルなワークロードの運用と保護に関して、[責任の共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)を参照します。マネージドサービスの普及にもかかわらず、多くのクラウド環境は依然として重要な機能を果たすEC2インスタンスのかなりのフットプリントを維持しています。
エンドポイントの検出および応答機能は、次の方法でクラウドインスタンスを保護するのに役立ちます。
•	インスタンスで発生するアクティビティーの詳細な可視性と監視を提供
•	一般的なマルウェアまたはランサムウェアベースの攻撃からエンドポイントを保護する
•	機械と人間の行動を分析して、悪意のあるアクティビティを検出して防止する
きめ細かなレベルのホストの可視性とインストルメンテーションにより、Endpoint Security によって生成されるアラートには豊富なコンテキスト情報が付属しており、アナリストが潜在的な脅威をすばやく理解して修復するのに役立ちます。もちろん、このエンドポイントコンテキストを AWS プラットフォーム関連のアクティビティとすばやく関連付けて、環境全体で忠実度の高い検出を作成できます。
[ビジュアルイベントアナライザー](https://www.elastic.co/guide/en/security/current/visual-event-analyzer.html)ビューは、この詳細なエンドポイントテレメトリの動作例です。各サブプロセスのネットワーク、ファイル、レジストリ アクティビティと共に、プロセスの系統を視覚化できることは、セキュリティアナリストがアラートを調査する際の強力なツールです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/d0784146-68e6-0067-9771-3c7731963e35.png)
エンドポイントセキュリティ統合を使用して、環境内の EC2 インスタンスでエンドポイントセキュリティコントロールを設定およびアクティブ化できます。[エンドポイントセキュリティのドキュメントガイド](https://www.elastic.co/guide/en/security/current/install-endpoint.html)で、エンドポイントセキュリティ機能と利用可能な設定オプションに関する詳細なチュートリアルを確認してください。

# セキュリティ検出とユースケースの開発
クラウド資産全体の可視性を確立したら、セキュリティの脅威をすばやく特定して対応するために構築するさまざまな検出とセキュリティのユースケースについて考える価値があります。Elastic Security には、Elastic Agent 統合ソースと連携した 600 以上のすぐに使用できる検出機能が付属しています。これには、AWS [ワークロード専用に設計された多数の検出](https://www.elastic.co/guide/en/security/current/prebuilt-rules.html)が含まれます。これらの事前構築済みの検出は、ブルーチームや SOC が基本的な検出機能を確立するための優れた出発点となります。
Elastic のセキュリティ検出は MITRE ATT&CK® フレームワークにマップされるため、アナリストは検出を攻撃対象領域および外部コントロールに簡単にマップし、検出ロジックをコンテキスト化し、アラートの修復コースを理解できます。
チームは、環境に合わせてカスタマイズされたカスタム検出で、すぐに使用できるルールを補完することもできます。Elastic SIEM のカスタム検出ルールは、幅広いユースケースに対応します。
•	カスタム クエリは、データ全体で特定のイベントまたは問題を検出できます (このイベントは発生しましたか)。
•	検出は、機械学習ジョブがデータ ソースの 1 つで異常を検出したことによってトリガーできます (何か異常が発生しましたか?
•	しきい値検出では、集計データセットを評価して検出をトリガーできます (過去 2 分間に 10 回以上何かが発生しましたか)。
•	イベント相関ルールは、データ内のイベントの正確なシーケンスを検索して検出をトリガーできます (ユーザーは、2 分間に 3 回試行が失敗した後、システムに正常にログインしましたか)。
•	インジケータ一致ルールは、データ内の侵害のインジケータの発生を検索できます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33599/126b85ce-77d3-df1e-5a8f-db1c009d95a4.png)
 
Elastic のお客様は、多くの場合、[シグマ](https://github.com/SigmaHQ/sigma)などのコミュニティが提供した追加の検出ルールを活用して、すぐに使用できるルールを補完します。

# まとめ
Elastic Security を使用すると、組織は、統一された Elastic Agent を使用して、クラウドネイティブワークロードとホストされたワークロードの両方を簡単に監視および保護できます。エージェントは、セキュリティ監視のためにクラウドベースのデータを取り込むだけでなく、最先端のエンドポイントセキュリティ機能でクラウドコンピューティングインスタンスを保護することもできます。チームはまた、AWS 環境向けに専用に作成されたすぐに使用できる検出ルールを活用し、エンジニアのカスタム検出ルールを補完して、複雑なセキュリティ脅威を検出して対応することもできます。
Elastic Security ソリューションをまだチェックアウトしていない場合は、[クイックスタートガイド (すばやく開始するためのミニサイズのトレーニングビデオ)](https://www.elastic.co/training/free#quick-starts) または[無料の基礎トレーニングコース](https://www.elastic.co/training/free#fundamentals)をご覧ください。いつでも [Elastic Cloud の 14 日間の無料トライアル](https://cloud.elastic.co/registration)を開始できます。または、セルフホスト版の Elastic スタックを無料でダウンロードしてください。

Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト
鈴木章太郎