📘

Redmineで複数回の認証失敗時にユーザーをロックする

2022/10/13に公開約2,100字

はじめに

社内のセキュリティ規則で、redmineへのログイン時に複数回連続でパスワード認証に失敗した場合、そのユーザーアカウントをロックする必要があります。
調べてみると、redmineには以下の機能はあるものの、連続認証失敗時にユーザーをロックする機能はないことがわかりました。

  • パスワードの有効期限
  • ユーザーのロック

そのためプラグインを導入して、連続認証失敗時にユーザーをロックするようにしました。

プラグインの選定

今回は以下のプラグインを使用しました。
https://github.com/jbbarth/redmine_stronger

このプラグインを導入すると、パスワード認証を5回失敗すると対象ユーザーアカウントがロックされます。
ロック後は、システム管理者権限をもつユーザーによってロックを解除することができます。

他にも似たようなプラグインを2つ見つけましたが、どちらもアーカイブとなっていました。

環境

プラグイン導入

Redmine Stronger pluginを導入するには、以下プラグインも必要。
https://github.com/jbbarth/redmine_base_deface

使用しているredmineにプラグインをインストールするには、redmineコンテナの/home/redmine/data/pluginsディレクトリにプラグインのファイルを置いてredmineコンテナを再起動すればいい。
https://github.com/sameersbn/docker-redmine/tree/4.2.7

redmineコンテナの/home/redmine/dataは、ホストの/srv/docker/redmine/redmine_mysqlがマウントされているので、/srv/docker/redmine/redmine_mysql/pluginsに対象プラグインのファイルをダウンロードする。

ubuntu@redmine:~$ cd /srv/docker/redmine/redmine_mysql/plugins/
ubuntu@redmine:/srv/docker/redmine/redmine_mysql/plugins$ git clone https://github.com/jbbarth/redmine_base_deface.git

--- snip ---

ubuntu@redmine:/srv/docker/redmine/redmine_mysql/plugins$ git clone https://github.com/jbbarth/redmine_stronger.git

--- snip ---

redmineコンテナを再起動後、UIからプラグイン一覧を確認。

plugins

プラグインがインストールされていることを確認できました。

動作検証

動作検証のためにtestユーザーを作成

test-user

ログインで5回誤ったパスワードを入力する。

login

その後、別ユーザーでredmineにログインして、testユーザーの状態を確認する。

users_locked

testユーザーはロックされていた。

ユーザー名の右にある「?」にカーソルを合わせると、以下のようにロックされた時間と理由が表示されます。

lock_info

UIからロックを解除できることも確認できました。

本記事は以上です。

Discussion

ログインするとコメントできます