セキュリティ
しつこいアクセスを止める:レートリミット
2026年8月17日

レン
ログイン画面に、同じ人から何百回もアクセスがあるんだけど…

ウィルスン
ワタシだ。パスワードを1つずつ試している。何百回で足りなければ何万回でも試す。機械にとって疲れるということはないのでな。

レン
何万回!?いつか当たっちゃうよ!

プロクラ
だから回数を制限するんだ。「同じ相手からは10分に5回まで」のように上限を決めて、それを超えたら弾く。これがレートリミットだよ。何万回試せるという前提を壊してしまうわけだね。
どこに入れるか
- ログイン画面(最優先。総当たりを直接止められる)
- お問い合わせフォーム・コメント欄(スパム投稿の抑制)
- パスワード再設定の申請(大量送信の踏み台にされるのを防ぐ)
- APIを公開している場合はその窓口
設計するときの注意

プロクラ
いくつか落とし穴があるよ。まず、同じ回線を共有している人たち(会社や学校など)は、外から見ると同じ相手に見える。厳しくしすぎると、無関係な人まで巻き込んでしまう。
- 正規の利用者が困らない範囲に設定する(厳しすぎると問い合わせが増える)
- 上限に達したとき、何が起きたか分かるメッセージを出す
- 攻撃側が接続元を変えてくることもあるので、これ単独では完全ではない
- SSHへの総当たりには、専用の遮断ツールを併用するのが定番

レン
完全じゃないなら、意味はあるの?

プロクラ
十分あるよ。攻撃の大半は「手当たり次第に試して、手応えのある所だけ深追いする」やり方だからね。面倒だと分かった時点で、次の標的に移ってくれることが多いんだ。完璧でなくても、割に合わなくすることに価値があるよ。
どこに掛けるか

プロクラ
全部に一律で掛ける必要はないよ。掛けるべき場所は、失敗を繰り返せると困るところと、1回が重いところだ。
- ログイン画面: 総当たりを遅くする。最優先
- パスワード再設定・確認コードの送信: 繰り返し送られると迷惑がかかる
- 検索や一覧の取得: 1回が重い処理は、回数を絞る価値が大きい
- AI機能を含む処理: 回数がそのまま費用になる
- 静的なファイルの配信: ここは緩めでいい
設定するときの注意

プロクラ
厳しくしすぎると、普通の利用者を弾いてしまう。特に、会社や学校から複数人が同じ出口IPで来る場合、1人の利用が全員に影響することがあるんだ。
- まず記録だけを取り、実際にどれくらい来ているかを見てから決める
- 短時間の突発的な集中は、少し許容する余地を持たせる
- 弾いたときは、その旨が分かる応答を返す(無言で切らない)
- 自分の監視や巡回が引っかからないよう、除外の設定も用意する

プロクラ
それと、これは「遅くする」対策であって「防ぐ」対策ではないよ。大量の接続元を使い分けられると効かない。認証そのものを強くする対策と組み合わせて使おう。

レン
掛ける場所を選ぶ。まず記録してから数字を決める。
あわせて読みたい
- セキュリティサーバーではなく「人」が狙われる:管理者を狙う手口と備え技術的な対策を固めた先で狙われるのは管理者自身です。実際に使われる手口、だまされないための習慣、そして「引っかかっても助かる」ための仕組みを解説します。
- セキュリティデータベースを外に出さないデータベースが外から繋がる状態になる典型的な経路と、待ち受ける範囲の絞り方、そして実際に閉じられたかを別の回線から確かめる方法まで解説します。
- セキュリティAPIキーをGitHubに上げてしまったら:消すより先に無効化する公開した瞬間から何が起きているのか、なぜ消すだけでは終わらないのか、対処の正しい順番と、次から同じことを起こさないための仕組みを解説します。
- セキュリティ使っていないアカウントを残さない使われていないアカウントとSSH鍵が入口になる理由、棚卸しの手順、消すときの副作用、共同作業で鍵を渡すときの決めごとまで解説します。