2012年2月11日土曜日

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

前回はこちら

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

今回は 2)DEFALUTプロファイルのパスワード関連の設定が強固に
11gからDEFALUTプロファイルのパスワード関連のセキュリティ設定が
強固になりました。
それにより何が起きるかというと、、

=======================================================
本番環境のDBを作成してテストを半年間近くやってきたが、
明日はとうとうリリースだ!

・・・あれっ!?
アプリケーションにエラーが!!
DBに接続できてない?!
ORA-28000: アカウントがロックされています。
って、、
=======================================================
という話が、実際にあったとかなかったとか。
(場合によってはもっと悲惨。)

の原因がDEFALUTプロファイルの仕様変更。

・・・

プロファイルとはデータベース・リソースの制限の集合。
DEFAULTプロファイルは最初から用意されているプロファイルで、
明示的にプロファイルを設定しなければ、
Oracleアカウントはこのプロファイルの制限を受けます。
で、その中にパスワードに関する制限というか設定があります。
制限には、何日間でパスワード変えなさいとか、
失効したら何日使えないというような、一般的なパスワードの制限があります。


では、プロファイルについて見ていきます。

■10gのDEFALUTプロファイルのパスワード関連の制限


SQL> select PROFILE,RESOURCE_NAME,RESOURCE_TYPE,LIMIT from DBA_PROFILES
   where RESOURCE_TYPE='PASSWORD' order by RESOURCE_NAME;


PROFILE  RESOURCE_NAME             RESOURCE LIMIT
-------  ------------------------- -------- ---------
DEFAULT  FAILED_LOGIN_ATTEMPTS     PASSWORD 10
DEFAULT  PASSWORD_GRACE_TIME       PASSWORD UNLIMITED
DEFAULT  PASSWORD_LIFE_TIME        PASSWORD UNLIMITED
DEFAULT  PASSWORD_LOCK_TIME        PASSWORD UNLIMITED
DEFAULT  PASSWORD_REUSE_MAX        PASSWORD UNLIMITED
DEFAULT  PASSWORD_REUSE_TIME       PASSWORD UNLIMITED
DEFAULT  PASSWORD_VERIFY_FUNCTION  PASSWORD NULL

7行が選択されました。

----------------------------------------------------------------------
FAILED_LOGIN_ATTEMPTS   :アカウントロックまでのログイン失敗回数 
PASSWORD_GRACE_TIME    :警告が出され、ログインが許可される猶予期間の日数 
PASSWORD_LIFE_TIME     :警告が出され、ログインが許可される猶予期間の日数
PASSWORD_LOCK_TIME     :ログインが指定された回数連続して失敗した場合、
               アカウントがロックされる日数 
PASSWORD_REUSE_MAX      :現行のパスワードを再利用する前に必要な
             パスワードの変更回数
PASSWORD_REUSE_TIME     :パスワードを再利用できない日数
PASSWORD_VERIFY_FUNCTION:PL/SQLの複雑なパスワード検証スクリプトの
             CREATE PROFILE文の引数
----------------------------------------------------------------------

パスワードミスの猶予回数10回以外はフリーダムです。
失効してしまうとユーザがアカウントのアンロックをしないと、
使用できないくらいです。


では、11gは?

■11gのDEFALUTプロファイルのパスワード関連の制限

SQL> select PROFILE,RESOURCE_NAME,RESOURCE_TYPE,LIMIT from DBA_PROFILES
   where RESOURCE_TYPE='PASSWORD' order by RESOURCE_NAME;

PROFILE  RESOURCE_NAME              RESOURCE LIMIT
-------- -------------------------- -------- ---------------------------
DEFAULT  FAILED_LOGIN_ATTEMPTS      PASSWORD 10
DEFAULT  PASSWORD_GRACE_TIME        PASSWORD 7
DEFAULT  PASSWORD_LIFE_TIME         PASSWORD 180
DEFAULT  PASSWORD_LOCK_TIME         PASSWORD 1
DEFAULT  PASSWORD_REUSE_MAX         PASSWORD UNLIMITED
DEFAULT  PASSWORD_REUSE_TIME        PASSWORD UNLIMITED
DEFAULT  PASSWORD_VERIFY_FUNCTION   PASSWORD NULL

7行が選択されました。


パスワードミスの猶予回数10回は同じですが、
180日間後にパスワードが自動的に失効するようになっています。
(7日間の猶予を設けてくれていますが。)
187日間を越えて、アカウントがロックされてしまうと、
パスワードが変更されるまでそのアカウントへのログインは許可されません。。。


まとめです、
11gではデフォルト設定のままだと、半年毎にアカウントのパスワード変更が必要
DB設計時には、システム全体のパスワードポリシーやアプリケーションの作りに
合わせて対処を考えておく必要があります。

現実的には、11gの初期DEFAULTプロファイル設定に合わせて、
アプリケーションを作ったり、ポリシーを考えることはほぼありないので、
設定変更やどのようにセキュリティを高めるかを考えることになると思います。


大切なのは、このようなアップグレード時の仕様変更を把握して、
自分のシステムではどのように対処するかということ。
気が付いたらシステムが止まってたは避けたいですよね。


対処はこちら
つづきはこちら

0 件のコメント:

コメントを投稿