DDoS保護とパケットフィルタリング
概要
DDoS攻撃には、L3/L4容積(クログチャネル/機器)、状態疲労(バランサ/ファイアウォール上の排気ステートテーブル/CPU)、およびL7(アプリケーションへの「もっともらしい」要求を生成する)の3つのクラスがあります。効果的な防御はいくつかの層で構築されています:周囲のネットワーク対策、ネットワーク外のフィルタリング/スクラブ、バランサー/プロキシおよびアプリケーションの保護、および測定可能なSLOによる運用手順。
脅威ランドスケープ
Volumetric (UDP/ICMP洪水、DNS/NTP/SSDP/CLDAP/Memcached amplification):目標はチャネルとポートを詰まらせることです。
TCP状態疲労(SYN/ACKフラッド、TCPフラグメンテーション、ハーフコーン接続):排気コネクタ/リスナー。
L7 HTTP (S )/WebSocket/GraphQLフラッド、キャッシュバスティング、「遅い」リクエスト:CPU/IOアプリケーションとキャッシュレイヤーを食べる。
反射/増幅:オープンリフレクター/アンプをIPソース置換で使用します。
カーペット爆撃:複数のIP/プレフィックスにわたるトラフィックの分布、複雑なポイントフィルタリング。
基本的なネットワーク対策(攻撃前)
1.アンチスプーフィング:国境でのuRPF/BCP38。他の人のソースと発信パケットをドロップします。
2.エッジ/PE上のACL:不要なプロトコル/ポートを拒否します。mgmtセグメントの個別のリスト。
3.CoPP (Control Plane Policing):ルータ(BGP、 OSPF、 SSH、 SNMP)への研磨。
4.ポートのレート制限/ポリッシング:「騒々しい」クラスのbps/PPS、バースト設定。
5.負荷共有:公共IPのためのAnycast、 georesources;静的およびキャッシュ用のCDN/WAAP。
6.RPKI/ROA+厳格なBGPインポート:トラフィックハイジャック/リダイレクトのリスクを低減します。
7.サーフェスリダクション:公開されたサービスを最小限に抑え、プロキシの背後にある「生」の原点を閉じます。
攻撃時の迅速な反応: ネットワークレバー
RTBH (Remote Triggered Blackhole):ルート0/32(または/128)の被害者のためのBGPコミュニティ。
BGP Flowspec: PE/edgeへのL3/L4規則(src/dst/port/TCPフラグ)の高速伝搬。
スクラビングセンター/アンチDDoSプロバイダ:GRE/VRFトンネルまたは直接上流;フィルタリング、そしてあなたへの「純粋な」トラフィック。
Anycast-antiDDoS:プレゼンスポイントによるフロー分割、ローカリゼーションの損傷。
CDN/edge cache: screens origin、 L7 limits and 「challenge」 mechanism。
ホストおよびL4保護
SYN クッキー/SYNPROXY:クライアントが確認するまでステータスを保持しないでください。
Linux: 'sysctl net。ipv4。入力バランサのtcp_syncookies=1'または'SYNPROXY'
チューニングコントラック(使用されている場合):- 気性'nf_conntrack_max'ハッシュサイズを上げることによって賢明に。
- 「半開き」と「非活動状態」のタイムアウトを減らします。
- eBPF/XDP: NIC (PPS保護)の早期低下、コアへのシグネチャ/スピードフィルタリング。
- nftables/iptables: PPS制限、「疑わしい」フラグの破棄、connlimit。
- UDP硬化:サービスがUDPを使用していない場合、境界での低下。使用する場合は、ソース/ポートを制限します。
nft table inet filter {
sets {
bad_ports { type inet_service; elements = { 19, 1900, 11211 } } # chargen/SSDP/memcached
}
chains {
input {
type filter hook input priority 0; policy drop;
ct state established,related accept ip saddr 127. 0. 0. 0/8 drop ip6 saddr::1/128 drop
limit new TCP tcp flags & (syn ack) == syn limit rate 200/second burst 400 accept tcp flags & (syn ack) == syn drop
deny bad UDP ports udp dport @ bad _ ports drop
ICMP rate-limit icmp type echo-request limit rate 50/second burst 100 accept icmpv6 type echo-request limit rate 50/second burst 100 accept
}
}
}
入力バランサのSYNPROXY(例'iptables'):
bash iptables -t raw -A PREROUTING -p tcp --syn -j CT --notrack iptables -A INPUT -p tcp -m tcp --syn -m hashlimit --hashlimit 100/second --hashlimit-burst 200 --hashlimit-mode srcip --hashlimit-name syns -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460 iptables -A INPUT -m state --state INVALID -j DROP
L7保護(ショート)
WAAP/WAF:重要な経路、レート制限、チャレンジ/JS、行動スコアリングに関するポジティブモデル。
キャッシュ/静的オフロード:リクエストを元に戻します。キャッシュバスティング保護(正規化/パラメータブラックリスト)。
GraphQLリミッター:'maxDepth'、 'maxCost'、セールスにおけるイントロスペクション禁止。
BFFパターン:シンクライアントトークン、サーバー上の重いロジック/制限。
Idempotenceとキュー:劣化時に雪崩のような繰り返しを防ぎます。
テレメトリーとディスカバリー
ネットワークフロー:NetFlow/sFlow/IPFIX (pps、トップトーカー、プロトコル/ポート/ASN)。
パッシブL7センサー:バランサ/プロキシログ(nginx/envoy)、 p95/99メトリクス、エラーレート。
基本的なしきい値:「エッジ上の予期しないPPS/CPUの成長」、「SYN-RECVサージ」、「UDP unrequited」。
署名/動作:IP/ASN/JA3周波数、4xx/5xxスパイク、ユーザーエージェント異常。
可視化:個々のダッシュボードのL3/L4/L7;Geo/ASNトラフィックはRTBH/Flowspecに時間をマッピングします。
SLO/SLIとアラート
SLOの例:- 「DDoS異常のMTTD ≤ 60秒、MTTM (RTBH/Flowspec活性化)≤ 3分」
- "p95 latency via edge ≤ 50 ms外部攻撃;軽減の下で≤ 200msを攻撃するとき"
- "破棄された悪意のあるトラフィックのシェア≥ 99%で、正当なトラフィックの≥ 98%を維持しています。
- ネットワークノードのPPS/CPU/IRQ>しきい値;
- SYN-RECV/ハーフオープン> X;
- パブリックエンドポイントでの5xx/レイテンシの増加;
- WAF>しきい値(FPリスク)での割合チャレンジ/拒否。
防衛建築パターン
1.階層型の防御:エッジ(ACL/CoPP)→スクラブ/Anycast→L7 プロキシ/WAAP→アプリケーション。
2.交通転換:BGPコミュニティはスクラブに移動します、ダイビング時間のためのGRE beckhol。
3.ステートレス・エッジ:conntrackへの最高のステートレス・フィルタリング;stateful-アプリケーションに近い。
4.eBPF/XDP最初に:コアへの早期低下(JA3/ports/speedによる)。
5.ゴールデンパス:すべてを完全に「破壊」しないように、重要なAPIのIP/ドメインを分離します。
運用手順とインシデント
Runbooks: RTBH/Flowspec/scrubbingをオンにしているメトリック、Anycast/poolsを切り替える方法。
ブラックリストとTTL:「オーバーシュート」しないように短期ブロック;自動再テストソース。
コミュニケーション:プロバイダ/パートナー/ベンダーのメッセージテンプレート。攻撃されたドメイン外の通信チャネル。
Post-Incident:タイムラインのあるレポート(T0..。Tn)、 「what worked/not」、テストカタログを更新します。
演習:通常のゲーム日:RTBHドライラン、Anycast領域の損失、リンク飽和、「遅い」攻撃。
Linux/Balancerチューニング(サンプル)
bash
TCP sysctl -w net. ipv4. tcp_max_syn_backlog=4096 sysctl -w net. ipv4. tcp_syncookies=1 sysctl -w net. ipv4. tcp_fin_timeout=15 sysctl -w net. ipv4. tcp_tw_reuse=1
Conntrack (if enabled)
sysctl -w net. netfilter. nf_conntrack_max=1048576 sysctl -w net. netfilter. nf_conntrack_tcp_timeout_syn_recv=30 sysctl -w net. netfilter. nf_conntrack_udp_timeout=15
NIC/IRQ ethtool -G eth0 rx 4096 tx 4096
よくあるエラー
エッジ上のステートフルファイアウォールを介してすべてのトラフィックを維持→conntrackの枯渇。あなたができる場所で無国籍にしてください。
Late RTBH/Flowspec→channelはすでにゼロになっています。"しきい値と有効化を自動化します。
「すべて」→ブラスト半径の分離のための1つのIP/1の端。ドメイン/IPとクォータを分割します。
ゼロキャッシュ→各L7コールビートの原点;キャッシュとパラメーターの正規化を有効にします。
合法的な分析なしで国/ASNのブラインドブロッキング-変換をカットします。ニュアンスのあるルール/チャレンジを使用します。
あまりにも積極的な制限→ビジネスのピーク時に大規模なFP。
実装ロードマップ
1.表面評価:IP/プレフィックス/ポート/プロトコルインベントリ、クリティカルパスマップ。
2.ネットワーク衛生:アンチスプーフィング、ACL、 CoPP、 RPKI/ROA、不要なUDPサービスの拒否。
3.トラフィック転換:スクラビングプロバイダ、Anycast/CDN、 BGPコミュニティとの契約。
4.エッジチューニング:ステートレスフィルタリング、SYNPROXY/eBPF、合理的なコネクトタイムアウト。
5.L7/WAAP:肯定的なモデル、限界/課題、キャッシュ。
6.可視性:NetFlow/sFlow、ダッシュボードL3/L4/L7、アラート、SLO。
7.自動化:RTBH/Flowspecボタン、ルールのIaC、構成のカナリアレイアウト。
8.ドリルとRCA:定期的なテスト、プレイブックの更新。
iGaming/Fintechの機能
ピークイベント(トーナメント、プロモーション、試合):容量/制限を計画し、キャッシュをウォームアップし、CDNを事前に温めます。
決済統合:専用のIP/ドメイン、 アンチDDoSプロバイダによる優先チャネル、PSPへのmTLS、重要なエンドポイントへの厳格な制限。
不正防止/ボットコントロール:登録/ログイン/プロモーションコードでの行動スコアリングと人間の課題。
UXと変換:積極的な保護で、VIP/パートナー、ソフト劣化(キャッシュ/readonly)のためのグレース・リストを使用します。
法的要件:ログの透過性、テレメトリストレージ、タイムツーウォレットおよびターンオーバーメトリクスに対する対策の影響のデバッグ。
例: FlowspecとRTBH(概念的に)
コミュニティ経由のRTBH(例):
route 203. 0. 113. 10/32 blackhole set community 65535:666 announce to upstream
Flowspec (UDPユニット>ポートあたり1 Mbit/インターフェイス 19/1900):
match destination 203. 0. 113. 0/24 protocol = udp destination-port {19,1900}
then rate-limit 1000
よくあるご質問
WAFはDDoSを解決しますか?
L7のために部分的に。L3/L4と体積に対して、スクラブ/Anycast/ネットワーク対策が必要です。
SYNクッキーで十分ですか?
これはSYNフラッドに対する基本的な保護ですが、ネットワークの制限とスクラブなしでは、チャンネルを詰まらせることができます。
ICMPを無効にする必要がありますか?
いいえ、そうではありません。より良い速度制限と唯一の危険なタイプ、ICMPは診断/PMTUのために有用です。
スクラブ付きのGREトンネルはレイテンシーを追加しませんか?
はい、通常は受け入れられます。キャッシュと最寄りのPoPへの正確なルートで補償します。
合計
信頼できるDDoS保護はマルチレベルのアーキテクチャです:ネットワーク衛生(アンチスプーフィング/ACL/CoPP)、高速トラフィック転換(RTBH/Flowspec/スクラビング/Anycast)、ホストおよびL7メカニズム(SYNPROXY Y 7、 E BP PF/XDP、 WAAP)、テレメトリー、SLO、デバッグされたプレイブック。このアプローチは、ダウンタイムを最小限に抑え、チャネルを生かし、分散型攻撃の圧力にさらされてもビジネスメトリクスを維持します。