COL: CSS:



パスワード管理ポリシー

DB 操作の監査安全なインストールと運用パスワード管理ポリシー

パスワード管理

データベース・セキュリティ・システムはパスワードに依存しており,パスワードの機密性を常時考慮する必要がある。データベース管理者 / セキュリティ管理者はユーザー・プロファイルを使うことで,パスワード管理ポリシーを制御し,セキュリティの管理を強化できる。

プロファイルを使用したパスワード管理で利用できるパラメータは以下の通り。

Table060201: パスワード管理用パラメータ一覧
パラメータ詳細
FAILED_LOGIN_ATTEMPTSアカウント・ロックが発行されるまでのログイン連続失敗回数
PASSWORD_LOCK_TIMEログインに連続して失敗しロック対象となった場合,そのアカウントがロックされる期間 (日数)
("UNLIMITED" を指定すると永続的にロックがかかり続ける)
PASSWORD_LIFE_TIME新規パスワード作成後,そのパスワードの有効期限が切れるまでの期間 (日数)
PASSWORD_GRACE_TIMEPASSWORD_LIFE_TIME の指定日数を超えて有効期限切れになったアカウントが,その後最初にログインした日から数えて,パスワードを変更できる猶予期間 (日数)
(猶予期間内にパスワードを変更しなかった場合,アカウント・ロックが発行される)
PASSWORD_REUSE_TIME過去使用したことのある同じパスワードを,次に再利用できるようになるまでの経過時間 (日数)
("UNLIMITED" を指定すると同一パスワードを即座に再利用可能)
PASSWORD_REUSE_MAXパスワードを再利用できるようになるまでに必要な,パスワード変更回数
("UNLIMITED" を指定すると同一パスワードを即座に再利用可能)
PASSWORD_VERIFY_FUNCTIONパスワード複雑度検証ルーチンを用い,それを実行するための PL/SQL ファンクション

パスワード管理プロファイル使用例

以下にパスワード管理使用例を挙げる。

/* Code060201: アカウント・ロック用プロファイル構成 */

       CREATE PROFILE foo LIMIT        ← プロファイル "foo" を作成
FAILED_LOGIN_ATTEMPTS 5                ← ログイン連続失敗回数は 5 回まで
   PASSWORD_LOCK_TIME 30;              ← ロック発行後 30 日後にロック解除

           ALTER USER mike             ┬← プロファイル "foo" をユーザ "mike" に適用
              PROFILE foo;             ┘
/* Code060202: 明示的なアカウント・ロック */

ALTER USER mary ACCOUNT LOCK;          ← ユーザ "mary" に手動でロックをかける
                                        * 手動でロックした場合,ロックは自動解除されない
/* Code060203: 明示的なアカウント・ロックの解除 */

ALTER USER mary ACCOUNT UNLOCK;        ← ユーザ "mary" のロックを手動解除する
/* Code060204: パスワード有効期間 / 猶予期間を設けたプロファイル構成 */

       CREATE PROFILE foo LIMIT
FAILED_LOGIN_ATTEMPTS 4
   PASSWORD_LOCK_TIME 30
   PASSWORD_LIFE_TIME 90               ← パスワード発行日より 90 日後に有効期限切れ
  PASSWORD_GRACE_TIME 3;               ← パスワード変更の猶予期間は 3 日間以内

           ALTER USER mike             ┬← プロファイル "foo" をユーザ "mike" に適用
              PROFILE foo;             ┘


/* Fig060201: 上記パスワード有効期間 / 猶予期間に関する時間軸 */

     0                  90         90+X  90+X+3     [経過日数]
----+------------------+-----------+------+----
    ↑                  ↑           ↑      ↑
Password 発行     有効期限切れ       |      |     [処理内容]
    ↑                  |           |      |
ログイン                |       ログイン    |     [ログイン]
    ↑                  |   (有効期限切れ後)|
    ├─────────┤           ├───┤
           有効期間                   猶予期間

パスワードの履歴

過去使用したことのあるパスワードが再利用できるようになるまでの期間を定めるパラメータは以下の通り。

  • PASSWORD_REUSE_TIME
  • PASSWORD_REUSE_MAX

両パラメータともデフォルトの設定 (UNLIMITED) の場合,以前のパスワードをすぐに再利用可能となるが,セキュリティを考慮すればこれはあまり適切とは言えない。

以下に一例を挙げる。

/* Code060205: 旧パスワード再利用の期間設定 */

 :
PASSWORD_REUSE_TIME 30  ← 30 日以上経過で同一パスワード再利用可
 PASSWORD_REUSE_MAX 5   ← 5 回以上パスワードを切り替えれば同一パスワード再利用可
 :
   └←まとめると… あるパスワード α 発行後,
                           - パスワード α 発行日より 30 日以上が経過
                      且つ - 5 回以上別のパスワードへ切り替えを行った後
                    ならば - パスワード α の再利用が可能