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
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.