4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DDoS攻撃に対処する WAF サンドイッチ構成とは

Last updated at Posted at 2020-02-11

はじめに

  • Solution Architect の勉強で出てきた問題に WAF サンドイッチのアーキテクチャができてたのでその理解のため
  • 参考にした資料 (AWS初心者向けWebinar AWS上でのDDoS対策) が 2015 年のものなので、現在ではベストプラクティスではないかもしれないので注意
    • ELB を利用している点や、AWS WAF が ALB に適用できるようになっている点などから

DDoS とは

  • Distributed Denial of Service Attack のこと
  • ウェブサイトやアプリケーションをエンドユーザーが利用できないようにすることを目的とした攻撃
    • 攻撃者は、これを行うために、ネットワークやその他のリソースを消費するさまざまな手法を用いて、正規のエンドユーザーのアクセスを中断させる
    • DoS とは異なり、攻撃者は複数のシステムを使用して標的に対する攻撃を指揮する

WAF (ウェブアプリケーションファイアウォール) とは

  • ウェブトラフィックにルールセットを適用するフィルター
    • 通常、これらのルールはクロスサイトスクリプト (XSS) や SQL インジェクション(SQLi) といった弱点に対応
    • HTTP GET または POST フラッドを軽減して、DDoS に対する弾力性を構築するためにも役立つ
      • HTTP レート制限で、特定の期間にわたりエンドユーザーごとにサポートされる HTTP リクエストのしきい値を決めることが可能
        • そのしきい値を超えると、WAF は新しいリクエストをブロックまたはバッファリングし、他のエンドユーザーがアプリケーションにアクセスできるようにできる
      • HTTP リクエストを検査し、通常のパターンに準拠しないものを識別
        • 文字制限を超えているログインを防止したり、全件検索を防止するなど
  • AWS WAF は、CloudFront、Application Load Balancer (ALB)、API Gateway にデプロイできる
  • AWS WAF とは別に AWS Market Place にて EC2 にデプロイするための WAF アプリケーションが販売されている

WAF サンドイッチを利用する目的

  • アプリケーションレイヤーで発生する DDoS 攻撃を防ぐため
    • インフラストラクチャ攻撃と比較して、トラフィックのボリュームが低いウェブアプリケーションがよく標的になる
    • 攻撃を軽減するには、インフラストラクチャの一部に WAF を含める
  • ここで利用する WAF は AWS WAF ではなく、EC2 にデプロイした WAF アプリケーション

WAF サンドイッチのアーキテクチャ

image.png

  • 2つの ELB の間に WAF アプリケーションを乗せた EC2 インスタンスを Auto Scaling グループで実行
    • すべての HTTP リクエストを検査するため、トラフィックスパイクに対応する必要があり、Auto Scaling グループが必要
  • トラフィックが検査およびフィルタリングされると、WAF EC2 インスタンスは内部のバックエンドロードバランサーにトラフィックを転送し、このロードバランサーがトラフィックをアプリケーションの EC2 インスタンス間に分散

参考

4
6
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
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?