JavaScriptを有効にしてください

Nextcloud 429 Too Many Requests, Login failed

 ·  ☕ 2 分で読めます

自宅サーバーでNextcloudで共有ドライブを家庭内に提供しており、よく妻からログイン失敗しちゃったと問い合わせを受けるので、対処法をメモしておきたいと思います。

Nextcloudを運用していると、429 Too Many Requestsやログインを複数回失敗することによる、bruteforce attackから守るための制限がかけられます。
Docs: Brute force protection

以下はログイン失敗が発生した場合の画面
nextcloud login failed image

画面の通り30秒待っても解除はされない動作をするので、以下の対応が必要となります。

  1. clientのsource ip addressの変更
    • 単純に使用しているクライアントのsource ip addressを変更してログインし直せばよいです。(DHCPから固定へ変更、IPアドレスの再取得など)
  2. nextcloud serverでDB操作
    • 後述の流れで解除できます。

occコマンドによる、bruteforce attemptsの解除

手順はsnap installされたNextcloudを想定しています。

  1. DBへ接続して確認
1
2
3
nextcloud.mysql-client
use nextcloud
select * from oc_bruteforce_attempts;

これでsource ip addressが記録されたレコードが見つかるはずです。

  1. 解除

recordのdeleteでも良いですが、ここではoccコマンドで提供されている方法で削除します。
nextcloud.occ security:bruteforce:reset ${IP_ADDRESS}
promptの返り値は何もないので、1の手順のDBでの確認を再度行い、レコードが消えていることを確認します。

共有

ichisuke
著者
ichisuke
Engineer