他の多くのウェブマスターと同じように、私はDDOS攻撃の問題に直面しています。私はhtaccessファイルから問題のあるIPアドレスを拒否し、より大きくより良いホスティングを使用しようとしましたが、新しいIPアドレスが使用されているため、攻撃を止めることができません。
攻撃を受けているWebサイトを実行している場合は、Cloudflareなどのサービスを検討する必要があります。
Cloudflareおよびその他のCDNは、DDoS攻撃を念頭に置いて設計されています。トラフィックはCloudflareのネットワークを通過してから、あなたのネットワークに到達します。 CloudflareはDDoSトラフィックをフィルタリングするため、クリーンなトラフィックのみが到達します。
一方、攻撃がポートを飽和させないほど十分に小さく、自分でそれを処理するのに十分満足している場合は、Apacheインスタンスの前でNginxをリバースプロキシとして実行することを検討してください。 Nginxは、epollアーキテクチャにより、Apacheよりもはるかに優れたフラッド処理を行うように設計されています。
Cloudflareなどのサービスが機能する方法は、1)軽減アプライアンスと2)容量が多いことです。
軽減アプライアンスは、トラフィックの異常を調べ、正当なトラフィックとDDoSトラフィックを区別するために、過去の既知の攻撃シグネチャとトラフィックを照合します。 「ダーティ」トラフィックはドロップされますが、クリーントラフィックは渡されます。
ポートが飽和状態の場合、世界で最も優れた緩和策は役に立ちません(10gbpsしか処理できないターゲットに11gbpsを送信することを想像してください)。ポートが10 Gbps以上を処理できないため、フィルタリングがどれほど優れていても、オフラインになります。 CloudFlare(任意のCDNまたはDDoS軽減プロバイダー)などのサービスは、膨大な量のトラフィック(50gbps + )
分散型サービス拒否攻撃にはいくつかの種類があり、軽減策はそれぞれのケースに固有です。
数台のコンピューターが大量のトラフィックを送信し、被害者のネットワークを詰まらせ、正当な接続が到達しないようにします。このカテゴリでは、次のことがわかります。
このタイプの最も一般的な攻撃は、HTTPおよびDNSサービスを対象としています。基本的に、リソースを何度もリクエストするため、リクエストを処理するサーバーは利用可能なすべてのリソースを使用します。具体的にはHTTPについて、これは通常のHTTPリクエストと区別するのが通常非常に困難です。軽減は通常、IPレピュテーションの組み合わせ、異常なアクティビティの追跡、場合によっては実行JavaScriptを必要とします。
すべてのデバイスには、各接続の状態を格納するテーブルがあります(netstat
を実行すると、この「テーブル」が表示されます)。このタイプの攻撃は、新しい接続がなくなるまで、テーブル内のすべてのエントリを使用することを目的としています追加できます。 (この攻撃の例については、「slowloris」を参照してください)。多くの場合、緩和策には、未完了のリクエストをタイムアウトしてリソースをすばやく解放することが含まれます。
もちろん、これらの種類の攻撃を防止および軽減するのに役立つサービスがあります。CloudFlareはこのサービスさえ無料で提供していますが、他にも確かにあります。一般に、多層防御の概念が適用されます。複数のセキュリティ層があると、DDoS攻撃に関連するリスクを軽減できますが、ここでは緩和、さらに GithubはDDoS対策済み であり、大規模なインフラストラクチャと優れた専門知識を備えているため、サービスに影響が出ていることがわかりました
現在攻撃を受けている場合は、CloudFlareに連絡して、提供できるオプションを尋ね、できるだけ早く予防戦略の計画を立てます。現在、あなたは不意を突かれているようですので、頑張ってください
WebサーバーがWindowsを実行している場合、DoSを防ぐために設定できる特定のレジストリ値があります(どうやらDDoSもそうです)。
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters\synattackprotect = 1 REG_DWORD(値1はSYNフラッディング攻撃保護を有効にします)
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters\tcpmaxconnectresponseretransmissions = 2 REG_DWORD(このキーには2つの目的があります。最初に、値が2に設定されている場合、上記のレジストリキーと組み合わせてSYNフラッディング攻撃を有効にします。2番目に、 TCPによる再送信の数。したがって、再送信は2回を超えません。)
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters\tcpmaxdataretransmissions = 3 REG_DWORD(このキーは、TCPが既存の接続で未確認のデータセグメントを再送信する回数を制御します。)
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters\enablepmtudiscovery = 0 REG_DWORD(Microsoftによると、値0は、「TCPがローカルサブネット外のコンピューターへのすべての接続に576バイトのMTUを使用する」ことを意味します。これにより、パケットサイズがパフォーマンスを低下させるために攻撃者によって576b未満に削減されました。)
Windowsの詳細情報が提供されます ここ 。
Linuxの場合、これは適切な resource です。