Oracleでのパスワード-ポリシーの設定方法

Oracleデータベース-ユーザーのパスワードは、通常、ユーザー名と同じに設定されます。 またはパスワードは非常に簡単に設定されています。 それは深刻なセキュリティの弱点を意味します。

ユーザーが簡単なパスワードを設定できないようにするには、プロファイル内のPASSWORD_VERIFY_FUNCTIONパラメータを、Usで指定されたプロシージャまたはOracleが提供するverify_function_11g関数に変更する必要があります。

verify_function_11gをインストールすると、DEFAULTという名前のプロファイルに次のパラメータが自動的に設定されます:

PASSWORD_VERIFY_FUNCTION verify_function_11g
パスワード_LIFE_TIME 180
パスワード_GRACE_TIME 7
FAILED_LOGIN_ATTEMPTS 10
パスワード_ロック_時間 1

このようにして、ユーザーパスワードは180日ごとに強制的に変更されます。

最後にパスワードを変更してから180日後、ユーザーは7日間パスワードを変更するよう警告されます。 ユーザーが7日間パスワードを変更していない場合、ユーザーのステータスは期限切れになり、ユーザーはログインできませんでした。

プロファイルを作成した場合は、PASSWORD_VERIFY_FUNCTIONパラメータを次のように変更する必要があります。

1
SQL>ALTER PROFILE PROFILE_NAME LIMIT PASSWORD_VERIFY_FUNCTION verify_function_11g;

verify_function_11g関数をインストールします。

utlpwdmgを実行すると、verify_function_11g関数をインストールできます。OR ORACLE_HOME/rdbms/adminディレクトリのsql。

1
2
3
4
5
6
7
8
9
10
11
12
13

SQL>@OR ORACLE_HOME/rdbms/admin/utlpwdmg.sql;
関数が作成されました。
グラントが成功しました。
プロフィールを変更しました。
関数が作成されました。
グラントが成功しました。
>

この機能をインストールした後、既定のプロファイルを変更して問題が発生する場合は、既定のプロファイルでいくつかの修正を行うと便利です。

インストール前に無効なパスワードのようなものがなかったためです。 機能がインストールされた後、パスワードはユーザーの最後のパスワード変更の後の180日有効期限が切れます。 この180日は、関数が作成されてから180日ではありません。 これは、最新のパスワード変更後の時間です。 そのため、この場合、ユーザーパスワードは数日で期限切れになる可能性があります。

Oracleプロファイルの詳細については、以下の記事を読むことをお勧めします。

“Oracleプロファイルの作成方法”、

“Oracleでユーザープロファイルを変更する方法”

ユーザーパスワードの有効期限については、以下の記事をお読みください。

“Oracleパスワードの有効期限が切れたエラー”、

“パスワードが不明な期限切れのOracleユーザーのロックを解除する方法”

dbtut

著者: dbtut

We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.

Write a Comment

メールアドレスが公開されることはありません。