2.80 の新機能:セキュリティ

2要素認証によるログイン認証の強化

従来からの ID/Password による認証に加えて TOTP を使った 2 要素認証を使用できます。

TOTP とは Time-based One Time Password のことです。TOTP 認証では、ユーザはログイン時に ID とパスワード以外に、30 秒ごとに変化する数字 6 桁のワンタイムパスワードを提示してログインします。

TOTP によるアカウント保護(不正アクセス防止)は強力です。なるべく TOTP を利用することをお勧めします。

アカウントの自動閉鎖

複数回の連続したログイン失敗を検知した場合にそのアカウントを自動閉鎖することができます。閉鎖はシステム管理者が手動で解除できるほか、一定時間経ったら自動解除する設定も可能です。

ログイン失敗はシステムの操作履歴に記録されます。ログインに失敗した時刻、アカウント名、アクセス元 IP アドレス、User Agent なども記録されます。

ログイン通知メール

ログインしたユーザにその都度ログインがあったことを通知するメールを送付するように設定することができます。不正アクセスがあった場合にそれを即時に知ることができます。

ログイン通知メール内にはアカウント閉鎖用のURLを含めることができます。その URL をクリックすることでアカウントを即座に閉鎖することができます。また、同時にそのアカウントでログインしていたユーザを強制ログアウトさせることができます。閉鎖の解除はシステム管理ユーザが手動で行う必要があります。

パスワードのハッシュアルゴリズムに PBKDF2 を採用

WebRelease はパスワードそのものは保管していおらずハッシュ値のみを保管しています。2.80 からはハッシングのアルゴリズムに PBKDF2 が採用されています。また、ハッシングのストレッチ回数は 310,000 回 以上に設定されていますので万が一ハッシュ値が漏洩してもそこからパスワードを割り出すことは事実上不可能です。

従来はパスワードのハッシングに MD5 を使用していましたが 2.80 にバージョンアップすると従来の MD5 ハッシュ値は自動的に PBKDF2 で再ハッシュされます。2.80 へのバージョンアップ直後からパスワードの保護が PBKDF2 レベルに強化されます。

設定可能なパスワードの制限の強化

WebRelease インストール直後にはユーザ admin のパスワードに webrelease が設定されていますが 2.80 からはこの初期パスワードは初回の admin の WebRelease ログイン時に別のパスワードに変更するように強制されるようになりました。さらに admin のパスワードに webrelease は使うことができなくなっています。

また、パスワードには ユーザID と同じ綴りを含めることができなくなりました。

ユーザがログインに使用したパスワードがその時点でシステムの定めるパスワード条件を満たしていない場合、そのユーザはログイン直後に条件を満たす新しいパスワードの再設定が強制されます。以下のユーザは 2.80 にバージョンアップした直後にパスワードの再設定を求められることになります。

  • ユーザIDと同じ綴りを含むパスワードを使用していたユーザ

  • システムの定める条件を満たさないパスワードを使用していたユーザ

ユーザ一覧に各ユーザのセキュリティ面での状況表示を追加

ユーザ一覧画面に、各ユーザのセキュリティ面での状況が表示されるようになりました。

Version 2.80 のユーザ一覧画面

ユーザ admin の休止指定

2.80 ではユーザ admin を休止ユーザにすることができるようになりました。admin を休止ユーザに指定することで admin という ID でのログインを禁止できます。admin は公知のアカウントなので攻撃の対象になりやすく、また、侵入を受けた場合の被害が大きいアカウントです。このアカウントを休止することで不正アクセスのリスクを低減できます。

admin を休止しても admin 以外の他のユーザにシステム管理者権限を付与しておけば不便なくシステムの運用管理を行うことができます。

Cookie の Secure 属性

2.80 では apache などの多少込み入ったコンフィグレーションを行うことなく、必要な cookie に簡単に secure 属性をつけることができるようになりました。