2012年2月11日土曜日

Oracle Database 11g の標準セキュリティ設定について#3

前回はこちら

11gで大きく変わったセキュリティ関連の設定は3つ
 1)Auditの監査設定が標準設定されている
 2)プロファイルのDEFALUTの設定が強固に
 3)パスワードの大文字小文字を区別するようになった

今回は3)パスワードの大文字小文字を区別するようになった
11gからパスワードの大文字小文字を区別するようになりました。
それにより何が起きるかというと、、

=======================================================
DBのアップグレードは完了したし、
アプリケーションから接続してみるか。
まぁ、アプリケーションは現行のままだから
問題ないだろうけどなっと♪

ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

って、、ありりりり?
=======================================================

の原因がパスワードの大文字小文字の仕様変更。

・・・

11g以前のリリースでは、パスワードは「原則」大文字小文字の区別はされませんでした。
"で囲ってユーザを作ってしまい、小文字として認識されている環境もありましたが、
Oracleはやっちゃ駄目だと言ってきました。(基本は駄目。)

でも、このご時世、パスワードは大文字小文字を組み合わせた、
複雑なものがいいよねってことで、
11gからパスワードの大文字小文字が区別されるようになりました。

そんなこんなで、既存のプログラムのコネクション時のパスワードが小文字、
ユーザ作成時はパスワードに大文字をしていたとか、またその逆とかだと、
上記のような問題が発生したります。


じゃ、いちからプログラムを見直せってのかよ?!
ってこともあるわけもなくて、
以前のように大文字小文字区別しないようにするには、
以下のパラメータの設定を変更します。

初期化パラメータ:sec_case_sensitive_logon

このパラメータは11gからの初期化パラメータになります。
デフォルトだと以下のようにTRUEになっているので、
FALSEに変更すれば、大文字小文字区別しないようになります。
動的変更が可能なパラメータなので楽ちんです。

==============================================================

SQL> show parameter sec_case_sensitive_logon

NAME                     TYPE        VALUE
------------------------ ----------- -------------------------
sec_case_sensitive_logon boolean     TRUE

SQL> conn scott/TIGER
ERROR:
ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。
警告: Oracleにはもう接続されていません。

SQL> conn system/XXXX
接続されました。

SQL> alter system set sec_case_sensitive_logon=FALSE scope=both;
システムが変更されました。

SQL> show parameter sec_case_sensitive_logon

NAME                     TYPE        VALUE
------------------------ ----------- -------------------------
sec_case_sensitive_logon boolean     FALSE

SQL> conn scott/TIGER
接続されました。

==============================================================

まとめです、
11gではデフォルト設定のままだと、パスワードの大文字小文字が区別されます。
簡単に戻せるし、特に言うことないですね。

大切なのは、このようなアップグレード時の仕様変更を把握して、
自分のシステムではどのように対処するかということ。
折角、パスワードの大文字小文字を指定出来るようになったのだから、
アップグレードを機にパスワードを強化してみるのもいいですよね。


つづきはこちら

0 件のコメント:

コメントを投稿