web-dev-qa-db-ja.com

高度なファイアウォールは、DoS / DDoSから保護するためにどのようなテクニックを使用していますか?

サービス拒否攻撃 、DoS/DDoSからサーバーを保護することは困難です。私が考えることができる2つの単純な方法は、多くのリソース(CPUやメモリなど)を備えたサーバーを使用することと、サーバーアプリケーションを非常に適切にスケールアップするように構築することです。他の保護メカニズムはおそらくファイアウォールによって使用されます。 IPアドレスのブラックリストを作成することは考えられますが、どのように機能するのか本当にわかりません。また、DDoS攻撃から保護するためにファイアウォールで使用されている他の手法がおそらくあります。

高度なファイアウォールは、DoS/DDoS攻撃を防ぐためにどのようなテクニックを使用していますか?

74
Jonas

これらは実際には2つの異なる、しかし類似した攻撃です。

「通常の」DoSは、なんらかのバグや脆弱性を介して、サーバー/ファイアウォールをクラッシュさせようとする試みに基づいています。例えば。よく知られている SYN Flood 攻撃。これらに対する保護はもちろん、欠陥(SYN Cookieなど)に固有であり、一般に安全なコーディング/設計です。

ただし、DDoSは、明らかに正当な要求の大量でサーバー/ファイアウォールをフラッディングすることにより、サーバー/ファイアウォールを圧倒しようとします。
正直なところ、「悪い」クライアントをマークする実際の方法がないため、単一のファイアウォールではこれを実際に保護することはできません。これは、クラッシュしないように自身を調整する、ロードバランサーとフェイルオーバーシステム、IPをブラックリストに登録するなどの「ベストエフォート」の問題です(もし「悪さ」に従ってではなく、次に使用法に従って)、そしてもちろん、管理者に積極的に通知します。
明らかなDDoSの場合(通常のピーク使用量だけがに見えるので、 DDoS-実話)状況のコンテキストを区別し、シャットダウンするか、最善の努力をするか、別のボックスをプロビジョニングするか(または反撃を採用するか... ssshhh !!)

39
AviD

私のDoSおよびDDoS攻撃の経験は、ISPのシスコエンジニアであり、その後非常に大規模なグローバルのセキュリティマネージャーとしての経験に基づいています。この経験に基づいて、大規模で複雑な攻撃に効果的に対処するには、攻撃を受けている組織とそのISPまたはDDoS軽減パートナーとの良好なパートナーシップが必要であることがわかりました大規模なISPは独自で使用しますが、グローバルネットワークを使用して、攻撃中に生成された追加のトラフィックを処理します).

以下は、帯域幅の許容範囲外(別名帯域幅の消費)の攻撃に直面し、対応の助けが必要な場合の考慮事項です。

緩和パートナーが存在しない場合: ISPとの強力な関係を確立します。攻撃があった場合に必要となる適切なチームと連絡先を特定します。

ファイアウォール(またはその他のログデバイス)を使用して、攻撃の証拠(送信元IP、プロトコル、パケット長など)を取得します。この情報は、ISPが応答方法を決定する際に非常に役立つためです。朝の3時にコマンドラインからCiscoルーティングデバイス上のトラフィックをトラップしようとするのは楽しいことではありません。だからどんな助けもありがたいです。 :-)

これを使用すると、ISPクラウド内のトラフィックを除外することができます。十分な情報を提供でき、トラフィックがそうである場合、ISPは悪意のあるトラフィックを除外し、有効なネットワークトラフィックを自由にネットワークにアクセスできるようにすることができます。ただし、ISPにレイテンシの問題を引き起こしている場合、ISPはBGPゲートウェイでルート全体をブラックホール化する可​​能性が高く、ネットから姿を消します。ルーティングフィルターを追加するとゲートウェイに負荷がかかるため、ISPが複数のフィルターを追加することを期待しないでください。他のユーザーに影響を与える可能性があります。

緩和パートナーの使用:

私はこれについて1つのプロバイダーの経験からしか話すことができないので、これが必要かどうか、必要な場合は誰が提供するのが最適かを決めるために宿題を出す必要があります。

このサービスは、BGPルートアドバタイズメントと攻撃モニタリングに基づいていました。攻撃が特定されると、緩和パートナーはルートをアドバタイズしてネットワークを通過させます。コアルーターを使用して、組織に渡る前に悪意のあるトラフィックを除外します。

これらすべてにおける私の役割は、DDoS緩和へのパートナーアプローチの実装をテストすることでした。これには、セキュリティエンジニアのグローバルチームを利用して、有効なテストを行うのに十分なトラフィックを生成することが含まれます。攻撃を特定し、効果的に対応する能力の両方をテストしました。これに基づいて、私たちは彼らの全体的なアプローチに非常に感銘を受け、ソリューションは機能しました。

40
David Stubley

DDOSに対する保護の1つのタイプファイアウォールによって直接実行されないは、国からのすべての要求がローカルサーバーに対して実行され、他の国からの要求が実行されるように、ページのコンテンツを世界中に配布することです。は、同じURLまたはドメインに対して、ローカルサーバー間で負荷を分散し、一意のサーバーに過負荷をかけない他のローカルサーバーに対して実行されます。このシステムのもう1つのポイントは、リクエストが遠くまで移動しないことです。

これはDNSの作業であり、インフラストラクチャはコンテンツ配信ネットワークまたはCDNと呼ばれます。

CloudFlareとしての企業はこの種のサービスを提供しています。

8
kinunt

DDOSは通常、圧倒的な量のパケットをサーバーに送信することによって行われ、サーバーは必然的に必死に処理を試みます。ファイアウォールがDDOSの可能性に気づくと、PPS(Packets Per Second))が十分に高いクライアントをブラックリストに登録するように設定できます。

フィルターはいつでもオンとオフを切り替えることができるため、DDOSが発生した場合は、非常に厳密なルールセットでフィルターをオンにすることができます。

5
Chris Dale

質問の最初の部分である「リソースの多いサーバー(CPUやメモリなど)を使用してアプリケーションをスケールアップします」に答えたいと思います。サーバーのスケーリングを実行する前に、アプリケーションのスケーリングを実行することをお勧めします。アプリケーションプロファイリングは、次の手順に分けることができます。

  1. 負荷テスト:pylotなどの負荷テストツールを使用して、アプリケーションのストレステストを実行します。
  2. クエリの最適化:2番目のタスクは、クエリを最適化することです。つまり、小規模なデータベースでは効率的に機能し、大規模なデータベースではスケールアップに失敗するクエリです。
  3. アプリケーションシャーディング:ほとんどのアクセスコンテンツをより高速なディスクにデプロイします。

このリストを追加することはたくさんあり、よく読んでください "Webアプリケーションのスケーリング方法"

2
Ali Ahmad