DDoS攻撃を防ぐ方法
DDoS攻撃はあなたのウェブサーバーを標的にするため、それを防ぐ方法は、サーバーに到達するリクエストを減らすことです。
flowchart TD;
A[悪意のあるデバイス]-->|アプリケーションへのリクエスト|CDN;
CDN -->|残りのリクエストを送信|Origin;
subgraph CDN
WAF
Cache
end
A --外部接続を防ぐ---x Origin
リクエストは、ウェブアプリケーションからとサーバー自体への直接接続から、あなたのオリジンサーバーに来ることがあります。
キャッシュは、頻繁にアクセスされるリソース(画像、CSSファイル)のコピーを保存します。
リソースがキャッシュされると、ユーザーのブラウザまたはコンテンツ配信ネットワーク(CDN)サーバー上で、そのリソースへのリクエストはオリジンサーバーに行く必要がなくなります。代わりに、これらのリソースはキャッシュから直接提供されます。
flowchart TD;
User-->|Sends Request|Cloudflare;
Cloudflare-->B>Has cached content?];
B-->|Yes - Requested content|User;
B-->|No|Origin;
Origin-->|Requested content|User;
DDoS攻撃の文脈において、キャッシングはオリジンサーバーに行くリクエストの数を減らし、サーバーがトラフィックに圧倒されるのを難しくします。
ウェブアプリケーションファイアウォール(WAF)は、ウェブアプリとインターネットの間にシールドを作ります。このシールドは、受信するウェブリクエストをチェックし、望ましくないトラフィックをフィルタリングして、多くの一般的な攻撃を軽減するのに役立ちます。
flowchart TD;
User-->|リクエストを送信|WAF;
WAF-->|リクエストをフィルタリング|Application;
Application-->|リクエストを送信|OriginServer;
OriginServer-->|コンテンツを提供|Application;
Application-->|コンテンツを提供|User;
一般的に、オリジンサーバーはウェブアプリケーションからのリクエストのみを受け入れるべきです。
これはセキュリティのための一般的なベストプラクティスですが、特にDDoS攻撃の文脈では重要です。ウェブアプリケーションをバイパスするトラフィックは、WAFやキャッシングをもバイパスし、オリジンを圧倒する可能性が高くなります。
sequenceDiagram participant Client participant DDoS_Protection_Service participant Origin_Server Client->>+DDoS_Protection_Service: リクエスト Note right of DDoS_Protection_Service: フィルタリングされたトラフィック DDoS_Protection_Service->>+Origin_Server: リクエスト Origin_Server-->>-DDoS_Protection_Service: レスポンス DDoS_Protection_Service-->>Client: レスポンス Client->>+Origin_Server: 直接接続 Note over Origin_Server: 潜在的なDDoS攻撃 Origin_Server-->>-Client: エラーレスポンス