22747


DDoS攻撃によって巨大なデータが無数のIPから怒涛のように押し寄せてきたとします。  
この瞬間にサーバーへのリクエストを遮断するなどして、サーバーを保護することは可能なのでしょうか？

サーバーは Apatch や Nginx などを想定していますが、DDoS対策について Google
で調べたところ有効な回答が見つけられなかっため、対策がそもそも存在するのかなって思ったので質問させてもらいました。


CC BY-SA 3.0
2016-03-02T19:43:28.900
22745
2016-03-03T00:34:21.067
5505
question
apache nginx
DDoS攻撃からサーバーを保護するには？


DDoS は不特定多数の踏み台マシンからアクセスがあるわけで、それは  
人気記事とか炎上とか、アクセスを集めるような何かがあったときの通常のアクセス数増大と  
区別がつかないのが特徴です。なので「対策」は厄介です。

探せばいっぱい解説はあると思います。まあ簡単にいくつか案を列挙しておきます。  
提案が対策として適切かどうかは攻撃側がどう出てくるかで違います。

1.サーバ機器の保護の以前に、ネットワーク帯域を使い切ったりルータが落ちたりする  
→ 太い回線、高性能なネットワーク機器（ルータ）を導入する  
（これは「対策」以前の話となります）

2.攻撃は全世界からあるが、正規ユーザのほとんどが `.jp` ドメインに居る  
→ 一時的に、アクセス元が `.jp` 以外を(ルータレベルで / `.htaccess` で)拒絶する

3.そもそも自分で対策しないで Internet Serivce Provider にお任せする  
→ 自分が管理しているサーバまで DDoS 攻撃が届いた場合、実際問題として対策は不可能です。  
DDoS によって自社回線の帯域幅を使い切られて困るのは ISP ですし、  
Syn Flood や UDP Flood は ISP レベルで対策してもらうほうがお互い楽です。  
ISP の入り口で塞いでもらって自社サーバまで攻撃を届かせないの一番楽です。

Denial of Service 攻撃は「サーバー側が実質的に機能しなくなったら攻撃側の勝ち」です。  
DDoS してきた全 IP アドレスを単にアクセス禁止にするだけの安直な対策は  
そのときたまたま正規にアクセスしてきたユーザの IP アドレスもアクセス禁止にしてしまいます。  
つまり「サービスさせない」攻撃は成功したということになります。

> この瞬間にサーバーへのリクエストを遮断するなどして

瞬間的には無理でしょう。回線負荷・サーバ負荷が上がって初めて攻撃があったとわかるわけですし。

> 対策がそもそも存在するのか

原理的に対策が困難ですが、皆無というわけでもありません。  
ただ DDoS 攻撃する側の手口も巧妙化している今、以前に採った対策が今回も有効とは限りません。  
専門家の手助けを求めてそのたびに違う対策を採ることになりそうです。


CC BY-SA 3.0
2016-03-03T00:34:21.067
22747
2016-03-03T00:34:21.067
8589
22745
answer