パスワードシステムを強化するMovableTypeプラグイン:BetterPassword
前回の記事で、MovableType は入力されたパスワードの最初の 8 文字しか利用していないことが判明しました。まぁ、8 文字のパスワードであれば、英数大文字小文字、記号を織り交ぜて、そこそこ安全なパスワードを設定できますが、やはり、入力された文字列を全て使って認証を行って欲しいものです。
そこで、MovableType のパスワード システムをジャック(?)して、入力された文字列全てを使って認証を行えるようにするプラグインを書いてみました。このプラグインを導入することで、パスワードに使える文字列の長さに制限がなくなります。パスワードよりも更に長く複雑なパスフレーズを利用することも可能になりますので、セキュリティ強度の向上にご利用ください。
注意
このプラグインを導入すると、システム管理者を含む既存のユーザ全てがログインできなくなります。ダウンロードパッケージに同梱のシェルスクリプトを利用して、個別のユーザ毎にパスワードを再設定してください。しかし、既存の全ユーザに対してパスワードの再設定が必要になりますので、新規案件などのクリーンインストール状態から運用を始められるのがラクチンです。なお、中途で導入された場合、プラグイン導入以降に新規作成されるユーザについては、問題なく運用することができます。
また、このプラグイン導入後は、プラグイン管理画面からこのプラグインを決して無効化しないでください。再び全てのユーザがログインできなくなり、パスワードの再設定を行わないといけません。
ダウンロード
インストール
ダウンロードパッケージを展開して得られたファイルを plugins 以下にコピーしてください。プラグインの設定項目などはありません。plugins フォルダにコピーした瞬間から、パスワードシステムが上書きされますので、上記注意のようにログインができなくなります。
パスワードの再設定
既存ユーザのパスワードを再設定するためのシェルスクリプトを同梱しています。シェルから、以下のようにコマンドを実行してください。
perl set-passwd username password
username
は存在するユーザのログインID、password
は再設定するパスワードです。
その他いろいろ
- crypt 関数の替わりに Digest::MD5 を利用しています
- このプラグインはブログウェアです。無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 無保証ですので、十分にテストしてから運用してください。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
- MT5で動作確認済みです。