GH GambleHub

DDoSパケット保護とフィルタリング

1)なぜそれを必要とします

DDoSは、バンド/pps、ステートテーブル、コアCPU/IRQ、接続プール、アプリケーション制限などのリソースの「大規模な劣化」です。目標は、ネットワーク境界上のボリュームを消去し、TCP/IPスタックへのプロトコル異常を中和し、L7上の不要な要求を遮断し、正当なユーザーのSLOを節約することです。

2)攻撃クラス

2.1 L3/L4(容積測定/プロトコル)

容積:UDPの洪水、UDP反射/増幅(DNS/CLDAP/NTP/SSDP/memcached/mDNS)、 GREの洪水。
プロトコル/状態枯渇:SYN洪水、ACK/RST洪水、TCP接続枯渇、ICMP洪水、TCP断片化。
QUIC/UDP機能:false Initial/Retry storms、なりすましソース。

2.2 L7(アプリケーション)

。 。1:高価なルートの背後にあるクエリ、ヘッダーのオーバーサイズ/フィールドの密輸。
HTTP/2:急速な調整、流れ洪水、ヘッダーの洪水、優先順位の乱用。
HTTP/3 (QUIC):接続/スレッド終了なし、初期フラッド。
スローポスト:slowloris/slow-read/slow-POST。
gRPC/WebSocket:無限のストリーム、メッセージ洪水、大きなフレーム。

3)基本的なセキュリティアーキテクチャ

1.Anycast+スクラブ

グローバルにトラフィックをスプレーし、プロバイダのスクラビングセンターを介して駆動(エッジで体積/スプーフィングを遮断)。

2.マルチCDN/マルチエッジ

ドメイン分離(Web、 API、静的)、保護の集約、読み込み負荷のキャッシュ。

3.周囲のローレベルフィルタ

境界ルータ上のACL (RFC1918、 bogon、既知の偽ポート)。
eBPF/XDPを使用して、シグネチャとレートの早期ドロップを可能にします。

4.L7周辺(NGINX/Envoy/WAF)

キーによるRPS圧縮、チャレンジ(captcha/PoW)、キャッシュ、「高価な」パスの優先順位付け。

5.内部安定性

接続プール、キュー、回路/タイムアウト、サービスアイソレーション(隔壁)およびシェダーのオートスケーリング。

4)ネットワーク「バルブ」: すぐにオンにするもの

4.1 Linux sysctl(カーネル/スタック)

bash
TCP SYN flood sysctl -w net. ipv4. tcp_syncookies=1 sysctl -w net. ipv4. tcp_max_syn_backlog=4096 sysctl -w net. ipv4. tcp_synack_retries=3

Conntrack/sysctl -w net tables. netfilter. nf_conntrack_max=262144 sysctl -w net. netfilter. nf_conntrack_tcp_timeout_established=300

ICMP/redirect sysctl -w net. ipv4. icmp_echo_ignore_broadcasts=1 sysctl -w net. ipv4. conf. all. accept_redirects=0 sysctl -w net. ipv4. conf. all. send_redirects=0

sysctl -w net socket resources. core. somaxconn=4096 sysctl -w net. core. netdev_max_backlog=250000 sysctl -w net. core. rmem_max=134217728 sysctl -w net. core. wmem_max=134217728

4.2 nftables:基本的なフィルターとパッケージ上のratelimit

nft table inet filter {
sets {
bogon { type ipv4_addr; flags interval; elements = { 0. 0. 0. 0/8, 10. 0. 0. 0/8, 100. 64. 0. 0/10,
127. 0. 0. 0/8, 169. 254. 0. 0/16, 172. 16. 0. 0/12, 192. 0. 2. 0/24, 192. 168. 0. 0/16, 198. 18. 0. 0/15, 224. 0. 0. 0/4 } }
}
chains {
input {
type filter hook input priority 0; policy drop;
ip saddr @bogon drop ct state established,related accept

UDP amplification ports - limit pps udp dport {53,123,1900,11211,389,1900,5353} limit rate over 2000/second drop

SYN rate-limit tcp flags syn tcp dport {80,443} limit rate over 2000/second drop

ICMP flood ip protocol icmp limit rate 100/second accept
}
}
}

4.3 XDP/eBPF(アイデア)

スプーフィングされたソースを含む早期ドロップパケット(uRPFはルータで歓迎されています)。
ハッシュバケットpps/32 と/24。ソースの動的な「隔離」。
UDPリフレクション:DNS応答のような署名(コンテキスト外でフィルタリング)。

5) UDP増幅: 在庫とブロック

頻繁な反射器/アンプ:DNS(オープンリゾルバ)、NTP(モンリスト)、CLDAP、 SSDP、 mDNS、 Memcached (UDP)、 Chargen。

対策:
  • UDPサービスを閉じる/制限し、開いているポートを最小化します。
  • 周囲では、既知のポートのpps/bitrateを制限します。
  • DNS勧告:ネットワーク、RRL (Response Rate Limiting)に対してのみ再帰的で、ANYを最小限に抑えます。
  • NTP-信頼できる「ブートストラップ」のみ、公共のための「noquery」。

6) TCP状態の疲労

SYNフラッド:'tcp_syncookies=1'、 'tcp_max_syn_backlog'、 'synack_retries=3'、 ppsでドロップします。
ACK/RST洪水:低レベルの制限、不正なシーケンスのスクリーニング(nftables/ebpf)。
境界線上のConntrack-less:ステートレス署名によってフィルタが可能な状態テーブルを無駄にしないでください。

7) HTTP/2/3とスマートなL7攻撃

HTTP/2急速なリセット:RSTフレームの頻度および開いた流れの数を限って下さい;異常の場合は接続を閉じます。
ストリーム乱用:同時ストリーム、ヘッダーサイズ、最大フレームサイズ。
QUIC/HTTP/3: limit Initial pps、 enable Retry;短いハンドシェイクタイムアウト。

NGINX (フラグメントL 7)

nginx
Header/body constraint client_max_body_size 1m;
large_client_header_buffers 4 8k;

HTTP/2 limits http2_max_concurrent_streams 128;
http2_recv_buffer_size 256k;

Rate limit by IP (example)
limit_req_zone $binary_remote_addr zone=reqs:20m rate=100r/s;
limit_req zone=reqs burst=200 nodelay;

特使(アンチリセットと制限)

yaml http2_protocol_options:
max_concurrent_streams: 128 initial_stream_window_size: 65536 max_outbound_frames: 10000 stream_error_on_invalid_http_messaging: true

8)遅い攻撃とリソース保護

Slowloris/slow-read/slow-POST: 'proxy_request_buffering on'、 low idle-timeout、 minimum acceptable 'read_rate'を有効にします。
リクエストごとに長いパケット間で接続を終了します。
アプリケーション-早読み/本体破棄、JSONサイズ/深さ制限。

9) L7フィルタリング: 誰がより重要ですか-それを通過させます

トラフィック分類:正常(mTLS/JWTパートナー)、登録ユーザー、匿名。
優先順位:「高価な」書き込みルート(預金/結論)-保護、しかし、確認ミス;read-directories-キャッシュ+スロットル。
チャレンジレイヤー:captcha/PoW/JSがピーク時のグレーゾーンのチャレンジ。

10)キャッシュ、合体、劣化

静的/準静的応答のエッジキャッシュ'stale-while-revalidate'。
Request coalescing:プロキシとアプリケーション内の1つのキーに並列リクエストを折りたたみます。
劣化モード:セカンダリ機能(パーソナライゼーション、重いレポート)を無効にし、「軽い」ページを発行します。

11)観測可能性およびテレメトリー

メトリック(POP/ノード/クラスタごと):
  • L3/L4: 'pps_in/out'、 'bps_in/out'、 'drop_pps {reason}'、 'syn_recv'、 'conntrack_used/limit'、 'xdp_drop_pps'。
  • L7: 'requests_total {route}'、 '429_total'、 'challenge_total {type}'、 'h2_rst_rate'、 'slow_req_total'。
  • 依存関係:CPU IRQ soft/hard、 NIC queue drop、 run-queue length。

ログ:サンプリングされ、/24, ASN、ポートおよび署名によって集約されます。PIIなし。
トレース:ホワイトリストで有効にし、デバッグ用のクラッシュ展開サンプリング。

12)対応計画(runbook)

1.検出:pps/bps/429/h2_rst_rateしきい値のトリガー。
2.分類:レベル(L3/4/7)、プロトコル(UDP/TCP/h2/h3)、 geo/ASN。

3.バルブ:
  • プロバイダでスクラブ/ブラックホールプロファイルを有効にする
  • nftables/ebpfの制限を強化し、
  • L7の制限を緩和し、課題を増やします、
  • QUIC(初期洪水)の再試行を有効にします。
  • 4.コミュニケーション:ステータスページ、パートナー通知テンプレート。
  • 5.フォレンジック:PCAPキャプチャ(60〜120秒間)、トップトーカーのASN/ポートをサンプリングします。
  • 6.レトロスペクティブ:シグネチャ、しきい値、リフレクターリストを更新します。

13)テストおよびドリル

DDoSドリルのプレイブックを四半期ごとに:合成UDP/HTTPバースト、遅いトラフィック、HTTP/2リセット。
ゲームの日:AnycastはCDN間の切り替え/移行、劣化は「簡単モード」になります。
プロバイダ検証:SLAスクラブ、フィルタオン/オフタイム、最大pps/bps。

14) Antipatterns

容積の攻撃のためのL7-WAFだけに頼って下さい。
縁石のuRPF/ACLおよびconntrack重いフィルタリングヘッドオン無し。
無制限のヘッダー/ボディとピーク時に長いキープアライブ。
Anycast/マルチエッジなしの単一の領域/ROR。
NIC/IRQ/CPUインベントリおよびキュー監視なし。
キャッシュ/結合なし-バックエンド用の余分なRPS。

15) iGaming/Financeの詳細

一時的なピーク(マッチ/ダービー/ロトの描画):POP容量を事前に拡張し、係数の積極的なキャッシュを含む、匿名の人々のためのカナリアチャレンジ。
支払/出力ルート:mTLS、短いタイムアウト、競争力のある限界を持つ独立したエッジプール。0-RTTはありません。
地理政治家:地域の許可ライト、「ホスティング」のASNフィルタリング、高速地理スイッチング。
antifraudとの交差:velocity limitとRisk APIは、DDoSインシデントで「ハード」プロファイルに入ります。

16) Prod Readinessチェックリスト

  • Anycastのmulti-edge/CDN;スクラビングチャンネルがチェックされました。
  • Border-ACL/uRPF;nftables/ebpf/XDPプロファイル、conntrack-lessフィルタリング。
  • Sysctl TCP/SYNチューニング、UDPアンプ・ポートのlimit pps。
  • HTTP/2/3制限(ストリーム、フレーム、ヘッダー)、遅い保護、ボディ/ヘッダー制限。
  • L7の限界と挑戦;キャッシュと境界上の合体。
  • ダッシュボードpps/bps/conntrack/IRQ+L7 RED;異常をh2_rst/429するように警告します。
  • Runbook/Playbook、プロバイダの連絡先、ワンクリックでプロファイルを有効にします。
  • 教え:バースト、遅い、HTTP/2リセット;レポートおよび記録の改善。
  • 支払/クリティカルルート、mTLS、および厳密な制限のためのスプリットプール。

17) TL;DR(ドクター)

保護の層別化:Anycast+スクラビングダンピングボリューム、eBPF/XDP+nftablesカットゴミをスタックに、L7リミット/チャレンジ/キャッシュはSLAを保持します。TCP (SYNクッキー、バックログ)を調整し、UDPアンプを制限し、HTTP/2/3制限を設定し、保護を遅くします。ランブックを持って、それを訓練してください。iGamingの場合-ピーク時に事前にエッジを拡張し、mTLSとハード制限で支払いパスを分離します。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

Telegram
@Gamble_GC
統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。