【ほぼ終わり】SCPSLのDDoS攻撃との戦い

こんにちは。haruyqです
ついに、DDoS攻撃をほぼ無効化することができました!
どのようにそれを行ったのかを書いていきます。

Proxyを使う

方法は至って単純で、Proxyサーバーを使用することによって、DDoS攻撃を全て吸収することができました。オリジンサーバーには1mbpsも到達していません!

実際にDDoSが来ているときの画像

左がProxyサーバーのトラフィックで、右がオリジンサーバーです。
全くDDoSのパケットが届いていないことがわかります。
Proxyサーバーには、Vultrの1GB Shared CPUを使用しています。

とりあえず今になってわかったこと

まず、yuki-antiddosとSCP:Secret Laboratory(以下、SL)の相性が最悪ということです。
このAnti DDoSスクリプトはかなり優秀なのですが、SLのパケットがDDoSのパケットに紛れてしまい、少しブロックされて、pingが上昇しているようでした。(要するに、yuki-antiddosのFWにSLのパケットが遮断されて、パケットロスが発生した。)
なので、独自のiptablesを使用してDDoSのパケットのみを除外するようにしました。(セキュリティの観点から、これは公開できません。)
次に、SLのサーバーの仕様がゴミカスなので、全てのパケットに応答しているため、DDoSに弱いことがわかりました。これを防ぐために、Proxyを使用するという判断に至りました。要するに、DDoSパケットをSLサーバーに到達させなければ良いということです。

実際どれくらい無効化できたのか

DDoSが始まった瞬間は少しpingが上昇しますが、これは仕方のないことです。iptablesにflagされるまでは、DDoSのパケットは少し通過してしまいます。ですが、その後は8msで安定しました。(最大500ms、最小6ms)

さらなる高みを目指すためには…

まず、Linodeを購入すべきでしょう。Vultrより、DDoS対策に定評のあるAkamai社のネットワークを利用したほうが無効化できる量と質が上がると思います。
そして、iptablesを勉強すると良いでしょう。FWの構築はサーバー運営において、かなり重要です。自分で通信を解析して、自鯖専用のDDoS対策を作ると良いでしょう。
次は、Proxyを増やすといいでしょう。影響を最小限に抑えるためには、接続先を増やすというのも重要だと思います。ですが、これは優先度は低いです。

もし資金に余裕があるなら…

CloudFlareや、AWS Shieldなどの有名なDDoS対策サービスを利用してみるのも良いかもしれません。ですが、これは莫大な費用がかかるでしょう。企業ならまだしも、一般人が手を出せる領域ではないと思います。

安価にできるDDoS対策

Proxyを利用するのが一番効果的でしょう。
何度もいいますが、オリジンサーバーにDDoSパケットが到達しなければ、まず影響を受けません。Linodeを利用してProxyを作るとなお良いでしょう。(in40Gbpsのため)
Minecraftサーバーの場合、ドメインが利用可能なので、GSLBなどを使用してもいいでしょう。さくらのGSLBや、別のGSLBサービス、セルフホストのGSLBなども利用できます。(死活監視の設定は慎重に行う必要があります。)

まとめ

  • Linodeを利用してProxyを作るのが一番安価で効果的

  • GSLBなどを利用してProxyの負荷分散を行うのも良い

  • iptablesの勉強をするのが一番良い

ありがとうございました。


この記事が気に入ったらサポートをしてみませんか?