Jayendra’s Blog

この記事は自己学習用に「AWS DDoS Resiliency – Best Practices – Whitepaper(Jayendra’s Blogより)」を日本語に訳した記事です。


AWS DDoS 弾力性 ホワイトペーパー

  • Denial of Service(DoS)は、単一の攻撃者によって実行される攻撃です。攻撃者は、Webサイトやアプリケーションをエンドユーザーが使用できないようにしようとします。
  • Distributed Denial of Service(DDoS)は、複数の攻撃者が共同作業者のグループによって制御または侵害された攻撃であり、正当なエンドユーザーが利用できないようにアプリケーションに要求が氾濫します。

緩和テクニック

攻撃の表面積を最小限に抑える

  • これはすべて、アプリケーションへのアクセスを可能にする、さまざまなインターネットエントリポイントである攻撃面を縮小すること
  • 攻撃の表面積を最小にする戦略
    • 必要なインターネットエントリポイントの数を減らす
    • バックエンドサーバーを公開しない
    • 重要ではないインターネットエントリーポイントを排除する
    • 管理トラフィックからエンドユーザーのトラフィックを分離する
    • 必要なインターネットエントリーポイントを信頼できないエンドユーザーがアクセスできないレベルまで難読化し、インターネットエントリーポイントを切り離して攻撃の影響を最小限に抑える
  • 利点
    • 効果的な攻撃ベクトルとターゲットを最小限に抑える
    • モニタリングと保護が難しい
  • AWS仮想プライベートクラウド(VPC)を使用して戦略を達成できます
    • 論理的に分離された仮想ネットワークをAWS内で定義するのに役立つ
    • パブリック&プライベートサブネットを作成し、それに応じてインターネットに直面しているインスタンスと非公開になるインスタンスを起動する機能を提供する
    • プライベートサブネット内のインスタンスがパブリックIPを持つパブリックサブネットでそれらを起動する必要なくインターネットにアクセスできるようにするNATゲートウェイを提供する
    • プライベートサブネット内のインスタンスに接続するために使用できるBastionホストを作成できる
    • ファイアウォールとして機能するサブネット用のインスタンスおよびNACLのセキュリティグループを構成して、送信および受信トラフィックを制御および制限する機能を提供する

攻撃を吸収するためにスケールする準備

  • DDOSは主に、負荷を処理できず、使用不能になるまでシステムをロードすることをターゲットにしています。
  • スケールアウトのメリット
    • 弾力のあるアーキテクチャを構築するのに役立つ
    • 攻撃者をより困難にさせる
    • 思考し、分析し、適応する時間を与える
  • AWSが提供するサービス
    • オートスケーリング&ELB
      • ELBによるオートスケーリングを使用した水平スケーリング
      • オートスケーリングを使用すると、需要の変化に応じてインスタンスを追加および削除することができる
      • ELBは、複数のEC2インスタンスにトラフィックを配信し、単一のコンタクトポイントとして機能する
      • オートスケーリングは、スケールアウト時およびイベントのスケーリング時に自動的にEC2インスタンスをELBに登録および登録解除する
    • EC2インスタンス
      • 垂直スケーリングは、例えば、適切なEC2インスタンスタイプを使用することによって達成することができる。 最適化されたEBS、または負荷を処理するために10ギガバイトのネットワーク接続を持つもの。
    • 強化されたネットワーク
      • 高いパケット/秒のパフォーマンス、低レイテンシーのネットワーク、スケーラビリティの向上を実現できる、強化されたネットワーキング機能を備えたインスタンスの使用
    • Amazon CloudFront
      • CloudFrontはCDNで、エンドユーザーとOriginサーバー間のプロキシとして機能し、Originサーバーにトラフィックを送信せずにエンドユーザーにコンテンツを配布するのに役立ちます。
      • CloudFrontには、複数の場所にトラフィックを分散させることで、インフラストラクチャとアプリケーション層のDDoS攻撃の両方を緩和するための固有の機能があります。
      • AWSには、各場所での容量と冗長性のための複数のインターネット接続があり、正当なエンドユーザにコンテンツを提供しながら攻撃トラフィックを隔離することができます。
      • CloudFrontには、有効なTCP接続とHTTP要求のみが行われ、無効な要求が破棄されるようにするフィルタリング機能もあります。 これは、無効なトラフィック(通常、UDP&SYNフラッドで使用され、遅い読み込み)を起点にして処理する負担がかかります。
    • Route53
      • DDoS攻撃もまた、DNSを対象としています.DNSが利用できない場合、あなたのアプリケーションは効果的に利用できません。
      • AWS Route 53は、高可用性とスケーラビリティを備えたDNSサービスであり、DDoS攻撃を受けている場合でもアプリケーションへのアクセスを保証します。
        • シャッフルシャーディング – シャッフルシャーディングは、データの水平パーティションを別々のデータベースサーバーに分散して負荷を分散し、冗長性を提供するデータベースシャーディングの概念に似ています。 同様に、Amazon Route 53はシャッフルシャーディングを使用して多数のPoP上でDNS要求を分散し、アプリケーションに複数のパスとルートを提供します。
        • Anyキャストルーティング – Anyキャストルーティングは、複数のPoPから同じIPアドレスをアドバタイズすることで冗長性を高めます。 DDoS攻撃が1つのエンドポイントを圧倒した場合、シャッフルシャーディングは障害を分離し、インフラストラクチャへの追加ルートを提供します。

コストのかかるリソースを拡大するために公開された安全対策

  • エントリポイントを限定することができない場合、合法的なエンドユーザトラフィックを中断することなくアクセスを制限し、それらのエントリポイントを保護するための追加の手段
  • AWS が提供するサービス
    • CloudFrontは、Geo RestrictionとOrigin Access Identityを使用してコンテンツへのアクセスを制限できます。
    • Geo Restriction を使用すると、ホワイトリストに登録された国のセットにアクセスを制限したり、ブラックリストに載っている国のセットからのアクセスを禁止することができます。
    • Origin Access Identityは、CloudFrontを介してのみリソースへのアクセスを許可するCloudFront特別ユーザであり、例えば、 S3がCloudFrontの起点である場合、S3はOAIからのアクセスのみを許可し、したがって直接アクセスを拒否するように設定できます
  • Route53
    • Route53は、インフラストラクチャの拡張とDDoS攻撃への対応を容易にするために、AliasレコードセットとプライベートDNSの2つの機能を提供します
  • WAF
    • WAFは、Webトラフィックに一連のルールを適用するフィルタとして機能します。 一般に、これらのルールはクロスサイトスクリプティング(XSS)やSQLインジェクション(SQLi)などのエクスプロイトをカバーしますが、HTTP GETまたはPOSTの洪水を緩和することによってDDoSに対する回復力を構築するのにも役立ちます。
    • WAFはたくさんの機能を提供しています。
      • OWASPトップ10
      • HTTPレート制限(1つのタイムフレームで、特定の数の要求のみがユーザーごとに許可されます)
      • ホワイトリストまたはブラックリスト(カスタマイズ可能なルール)
      • 異常なパターンのリクエストを検査して識別します
      • CAPTCHAなど
    • WAFが単一障害点にならないように、オートスケールWAFがインターネットと内部ロードバランサの間に位置するWAFサンドイッチパターンを実装できます

正常な動作について学習する

  • アプリケーションの通常の通常のレベルとトラフィックのパターンを理解し、それをトラフィックまたはリソースのスパイクパターンの異常レベルを特定するためのベンチマークとして使用します。
  • 利点
    • 1つは異常を発見することができます。
    • 正確なしきい値でアラームを設定します。
    • フォレンジックデータの生成を支援します。
  • AWSは追跡のためのサービスを提供します
    • AWS CloudWatchの監視
      • CloudWatchを使用すると、AWSで実行されているインフラストラクチャとアプリケーションを監視できます。 Amazon CloudWatchは、メトリック、ログファイルを収集し、これらのメトリックが所定のしきい値を超えたときのアラームを設定できます。
    • VPC Flowlog
      • Flowlogは、VPC内のインスタンスへのトラフィックを取得するのに役立ち、パターンを理解するために使用できます

攻撃に対する計画を作成する

  • 攻撃を受ける前に計画を立てておくこと。
    • アーキテクチャを検証し、インフラストラクチャにとって有効な手法を選択する。
    • 弾力性を高めるためのコストを評価し、防御の目標を理解する。
    • 攻撃が発生したときの連絡先を明確にする。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. あなたはソーシャルメディアサイトを設計しており、分散型サービス拒否(DDoS)攻撃を軽減する方法を検討しています。 次の中から実行可能な緩和手法はどれですか? (3つの回答を選んでください)
    1. 各EC2インスタンスに複数のENI(elastic network interface)を追加して、ネットワーク帯域幅を拡大します。
    2. 専用インスタンスを使用して、各インスタンスが最大のパフォーマンスを発揮できるようにします。
    3. 静的コンテンツと動的コンテンツの両方にAmazon CloudFrontディストリビューションを使用します。
    4. オートスケーリンググループを備えたElastic Load Balancerは、WebアプリケーションおよびAmazon Relational Database Service(RDS)層で使用します。
    5. Amazon CloudWatchを追加して高いネットワークインとCPU使用率を探りましょう。
    6. インスタンスOSファイアウォールにルールを迅速に追加および削除するためのプロセスと機能を作成します。
  2. 非常に大規模な電子商取引サイトのセキュリティの全体的な姿勢を向上させるためにあなたは雇われています。彼らは、WebとApp層の前で、S3から直接提供される静的資産を持つELBを使用する、VPCで動作するうまく構築された多層アプリケーションを持っています。彼らは動的データにRDSとDynamoDBの組み合わせを使用しており、夜間にS3にアーカイブしてEMRによる処理をさらに進めています。彼らは疑問のあるログエントリを見つけ、誰かが不正なアクセスを試みている疑いがあるため、懸念しています。どのようなアプローチが、この種の攻撃に対してコスト効率の高いスケーラブルな軽減を提供しますか?
    1. DirectConnectパートナーの場所でスペースをリースし、VPCへの1G DirectConnect接続を確立し、そのスペースにインターネット接続を確立し、ハードウェアのWebアプリケーションファイアウォール(WAF)でトラフィックをフィルタすることを推奨します。そして、DirectConnect接続を介してトラフィックをVPCで動作するアプリケーションに渡します。 (費用対効果が低い)
    2. 以前に識別された敵対するソースIPを明示的なINBOUND DENY NACLとしてWeb層サブネットに追加します。 (新しい発信元から保護されない)
    3. ホストベースのWAFを実行する新しいELBおよび自動スケーリンググループのEC2インスタンスを作成して、WAF層を追加します。彼らはルート53を新しいWAF層ELBに解決するようにリダイレクトします。 WAF層はトラフィックを現在のWeb層に渡します。Web層Security Groupsは、WAF層Security Groupからのトラフィックのみを許可するように更新されます。
    4. Web層ELBからTLS 1.2を除くすべてを削除し、Advanced Protocol Filteringを有効にするこれにより、ELB自体がWAF機能を実行できるようになります。 (ELBの高度なプロトコルフィルタリングなし)

リファレンス

DDoS に対する AWS のベストプラクティス