📚

サーバー攻撃を受けてサービスを一時停止させられた!!

2025/03/06に公開

何があったの?

2025年2月22日のお昼頃から2月23日の夜ぐらいにかけてDDoS攻撃を受ける
ユーザーが20人ぐらいから400人オーバーになったり、パスワードリセットのためのメールを飛ばされまくってMailgunの無料上限に到達しそうになったりしました
なんにせよやばそうだったので、一旦サービスを停止しました(2月23日お昼頃)

やったこと

  • reCAPTCHの導入
  • rack-attackの導入
  • ネームサーバーをCloudflareに変更
  • 本番DBから攻撃で入れられたと思われるユーザーの削除

reCAPTCHAの作業ログ

https://zenn.dev/nakashio/scraps/c43607a1844c5b

rack-attackの作業ログ

https://zenn.dev/nakashio/scraps/fd1aa8aeefde3b

Cloudflare作業ログ

お名前.comのDNSレコード設定を変更

  • TYPEがNS以外のものを全て「無効」に変更
  • ネームサーバー設定からネームサーバーを「その他のネームサーバーを使う」に変更

https://zenn.dev/nakashio/articles/8217353f89e6ed

まとめ

と上記3つの対策を行ったのですが

DDoS攻撃の場合一つのIPアドレスでは大量にアクセスしていないので、rack-attackはほとんど仕事をせず、、、

reCAPTCHAは仕事はしてくれているようでしたが、私がログインする時なんかにも「botじゃないですか〜?」ってたびたび疑ってきてユーザー体験を著しく低下させてきました、、、

Cloudflareはぽちぽちするだけで「日本以外!」とか「わけわからんパスを指定しくるやつ!」とかで指定できて、ユーザー体験を下げることもなかったので、結局Cloudflareだけでよかったかなぁと思っています

参考URL

全般

https://railsguides.jp/security.html

rack-attack

https://zenn.dev/nateberkopec/articles/584674413df9b1
https://qiita.com/junara/items/2562f3a80d6ed222d46e
https://github.com/rack/rack-attack

Redis

https://qiita.com/KM9973/items/69c31b80e2be0d5c8c7f

reCAPTCHA

https://developers.google.com/recaptcha?hl=ja

Cloudflare

https://cloudflare.zendesk.com/hc/ja/articles/200170056-Cloudflareのセキュリティレベルについて

Discussion