2
0
sponsored by Qmonus Value Stream アプリケーション開発に注力するための工夫をシェアしよう!
Qiita Engineer Festa20242024年7月17日まで開催中!

ソリューションアーキテクトに求められる視点(11/14) アプリケーション開発に注力するためにマネージドサービスで効率的に保護する AWS WAF +API Gateway API +Inspector +Amazon GuardDuty

Last updated at Posted at 2024-07-13

はじめに

ソリューションアーキテクトに求められる視点を整理してみました。

今回は、API のセキュリティを強化して、サービス拒否 (DoS) 攻撃をより効果的に防止し、脆弱性をチェックし、一般的なエクスプロイトから保護する方法です。実務や試験で、ご参考にして頂けましたら、幸いです。

ポイント

1. DDoS 対策

  • AWS WAF レートベースのルール
    包括的または URI 固有のレートベースのルールを作成して、DDoS 攻撃からウェブアプリケーションを保護できます。

  • AWS Shield
    ネットワーク層、トランスポート層 (レイヤー 3 と 4)、アプリケーションレイヤー (レイヤー 7) AWS のリソースに対する分散型サービス拒否 (DDoS) AWS Shield Advanced 攻撃からの保護も提供します。

  • CloudFront
    Shield DDoS対策では、ウェブアプリケーションに有効なトラフィックのみがサービスに送信されます。これにより、UDP リフレクション攻撃など、多くの一般的な DDoS ベクトルに対して自動的に保護されます。

CloudFront アプリケーションオリジンへの持続的な接続を維持し、Shield TCP SYN プロキシ機能との統合により TCP SYN フラッドが自動的に軽減され、トランスポート層セキュリティ (TLS) はエッジで終了します。これらの機能を組み合わせることで、アプリケーションオリジンは整形式のウェブリクエストのみを受信し、下位層の DDoS 攻撃、接続フラッド、および TLS 不正使用から保護されます。

CloudFront DNS トラフィック方向とエニーキャストルーティングを組み合わせて使用します。これらの手法は、ソースに近い攻撃を緩和し、障害を分離し、容量へのアクセスを確保して既知の最大の攻撃を軽減することで、アプリケーションの復元力を向上させます。

2. 認証と認可の強化

  • API Gateway を使用して、認証とアクセス制御を実装します。API Gateway では、AWS IAM、Lambda カスタム認証、Cognito ユーザープールなどの認証メカニズムを利用できます。
  • API Gateway でのリクエストの署名検証やトークンの検証を実施し、不正アクセスを防ぎます。

認証と認可に次のメカニズムを使用することができます。

  • リソースポリシーを使用して、特定のソース IP アドレスまたは VPC エンドポイントから、API およびメソッドへのアクセスを許可、または拒否するリソースベースのポリシーを作成できます。

  • 標準 AWS IAM ロールとポリシーは、API 全体または個々のメソッドに適用できる柔軟で堅牢なアクセスコントロールを提供します。IAM ロールとポリシーを使用して、API を作成および管理できるユーザーと、API を呼び出すことができるユーザーを制御できます。

  • IAM タグは、アクセスをコントロールするために、IAM ポリシーと共に使用できます。

  • インターフェイス VPC エンドポイント用のエンドポイントポリシー では、 IAM リソースポリシーをインターフェイス VPC エンドポイントにアタッチして、プライベート API のセキュリティを向上させることができます。

  • Lambda オーソライザーは、ヘッダー、パス、クエリ文字列、ステージ変数、コンテキスト変数のリクエストパラメータで記述される情報と同様に、べアラートークン認証を使用して REST API メソッドへのアクセスを制御する Lambda 関数です。Lambda 認証は、REST API メソッドを呼び出すことができるユーザーを制御するために使用されます。

  • Amazon Cognito ユーザープールを使用して、REST API に関するカスタマイズ可能な認証と認可のソリューションを作成できます。Amazon Cognito ユーザープールは、REST API メソッドを呼び出すことができるユーザーを制御するために使用されます。

3. セキュリティグループとネットワーク ACL

  • EC2 インスタンスや他のリソースに対して適切なセキュリティグループとネットワーク ACL を設定し、不必要なトラフィックをブロックします。

4. リクエストのフィルタリングと検証
API Gateway や自前の API サーバーで、リクエストの内容やヘッダーを厳密に検証し、不正なリクエストをフィルタリングします。例えば、過剰なリクエストレートを検知して一時的に IP アドレスをブロックする、正当なユーザーからのリクエストかを判断するなどの対策が考えられます。

5. セキュリティパッチの適用
使用しているすべてのソフトウェアやフレームワークに対して、最新のセキュリティパッチを定期的に適用します。特に、オペレーティングシステム、Web サーバー、アプリケーションフレームワークなどに対しては注意が必要です。

6. 監視とログ管理
APIアクティビティをログ記録して、疑わしいアクティビティを監視します。異常なアクティビティを発見したら、調査します。CloudWatch Logs や CloudTrail を活用して、セキュリティインシデントの追跡と分析を行います。

アーキテクトに求められる視点

Amazon API Gateway API と、API メソッドのロジックを含む AWS Lambda 関数を使用して、AWS 上で主要な API をホストしています。

複数の顧客が、単一のスタンドアロン Amazon EC2 インスタンスで実行されているレガシー API にアクセスしています。

API のセキュリティを強化して、サービス拒否 (DoS) 攻撃をより効果的に防止し、脆弱性をチェックし、一般的なエクスプロイトから保護したいと考えています。

ソリューション

AWS WAF を使用して API Gateway API を保護します。Amazon Inspector を設定してレガシー API を分析します。Amazon GuardDuty を設定して API への悪意のあるアクセス試行を監視します。

解説
AWS GuardDuty は監視および脅威検出サービスであり、悪意のあるアクティビティを直接ブロックするものではありません。GuardDuty は、機械学習、異常検出、統合脅威インテリジェンスを使用して、AWS アカウントとワークロードを継続的に監視および分析し、潜在的な脅威を検出するように設計されています。

AWS WAF、API Gateway、Amazon Inspector、Amazon GuardDutyは、AWS環境のセキュリティを強化するための強力なツールです。これらのサービスを組み合わせることで、包括的なセキュリティ対策を実現できます。

サービス名 特徴 利点
AWS WAF Webアプリケーションファイアウォール。悪意のあるトラフィックをフィルタリングし、攻撃から保護。 SQLインジェクションやクロスサイトスクリプティング(XSS)などの一般的な攻撃からアプリケーションを保護。
API Gateway APIの作成、公開、保守、監視、保護を行うフルマネージドサービス。 APIのスケーラビリティ、可用性、セキュリティを向上。
Amazon Inspector AWSリソースのセキュリティ評価を自動化するサービス。 セキュリティの脆弱性を検出し、修正のための推奨事項を提供。
Amazon GuardDuty AWSアカウントとワークロードの脅威検出サービス。 継続的な脅威検出と監視を行い、異常なアクティビティを即座に通知。

アプリケーション開発に注力するためにマネージドサービスで効率的に保護する

1. Webアプリケーションの保護

AWS WAFを使用して、API Gatewayを介して提供されるWebアプリケーションを保護します。WAFルールを設定して、SQLインジェクションやXSSなどの攻撃を防ぎます。

2. APIのセキュリティ強化

API Gatewayを使用して、APIの認証と認可を行い、セキュリティを強化します。AWS WAFと組み合わせることで、APIへの悪意のあるリクエストをフィルタリングします。

3. 脆弱性の検出と修正

Amazon Inspectorを使用して、AWSリソースのセキュリティ評価を自動化し、脆弱性を検出します。検出された脆弱性に対する修正の推奨事項を提供し、セキュリティを強化します。

4. 脅威の検出と対応

Amazon GuardDutyを使用して、AWSアカウントとワークロードの脅威を継続的に監視します。異常なアクティビティが検出された場合、即座に通知を受け取り、迅速に対応します。

GuardDutyとInspectorのユースケース
GuardDutyは、特にセキュリティインシデントのリアルタイムな検知と対応が必要な場合に有効です。不正なアクセスやマルウェアの検知、DDoS攻撃の監視など、セキュリティインシデントの早期検知に焦点を当てています。GuardDutyは、自動的に検出されたセキュリティイベントに基づいてアラートや通知を送信し、迅速な対応を可能にします。

一方、Inspectorは、リソースに対して定期的なスキャンを実施し、セキュリティガイドラインの違反とセキュリティ上の脆弱性を特定します。さらに、ネットワークセキュリティの評価により、不正なアクセスポイントやセキュリティリスクを検出することも可能です。

GuardDutyとInspectorを組み合わせて使用する場合もあります。GuardDutyは、リアルタイムな動作監視と検知に優れており、Inspectorは定期的な脆弱性スキャンとセキュリティ評価に特化しています。 両サービスを組み合わせることで、セキュリティインシデントの早期検知とリソースのセキュリティ評価を網羅的に実施することができます。

まとめ

AWS WAF、API Gateway、Amazon Inspector、Amazon GuardDutyを組み合わせることで、AWS環境のセキュリティを包括的に強化できます。これにより、WebアプリケーションやAPIの保護、脆弱性の検出と修正、脅威の検出と対応が可能となり、セキュリティリスクを最小限に抑えることができます。このようにすることで、マネージドサービスでセキュリティを万全にし、アプリケーション開発に注力する事が可能となります。

アプリケーション開発に集中するための方法を模索した
本記事はQmonus Value Streamの投稿キャンペーン記事です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0