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プロファイル設定に合わせて、 アプリケーションを作ったり、ポリシーを考えることはほぼありないので、 設定変更やどのようにセキュリティを高めるかを考えることになると思います。 大切なのは、このようなアップグレード時の仕様変更を把握して、 自分のシステムではどのように対処するかということ。 気が付いたらシステムが止まってたは避けたいですよね。 対処はこちら つづきはこちら
2012年2月11日土曜日
Oracle Database 11g の標準セキュリティ設定について#2
前回はこちら
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿