※ 本記事は2009年12月8日に公開されたものです。
Oracle Database 11gから、デフォルトのセキュリティ設定が変更されているのをご存じですか?最近 11g R2が出荷されましたが、11g R1からのお話です。
Oracle Databaseには、さまざまなセキュリティ機能が搭載されています。しかし、これらの機能はデフォルトの状態では無効化されていたために、データベースが脆弱な状態にさらされていました。
近年データベースに対する攻撃や情報漏えいなどのインシデントが増えていることを踏まえ、Oracle Database 11gからはセキュリティ機能がデフォルトで有効化されるように変更されているのです。
変更内容は2点あります。
- プロファイル設定
- 監査設定
今回はこのうち、プロファイル設定の変更に関してお話しします。
プロファイルは、ユーザーがデータベースを利用する際のリソース制限と、 DBユーザー認証用のパスワードに対するルールを設定したものです。DBユーザーを作成する際にひとつのプロファイルが必ずユーザーに割り当てられます。 DBユーザー作成時に割り当てるプロファイルを指定しないと、デフォルトのプロファイルがユーザーに割り当てられます。
Oracle Database 11g R1以降では、このデフォルトのプロファイルの内容が以下のように変わっています。
・パスワード有効期限(PASSWORD_LIFE_TIME):180日(以前は無期限)
パスワード設定後180日経つと、パスワードを変更するようにアラートが表示されます。
・パスワード期限切れ後の猶予期間(PASSWORD_GRACE_TIME):7日(以前は無期限)
パスワード有効期限が切れた後、この猶予期間内にパスワードを変更変更する必要があります。猶予期間内にパスワードを変更しないと、アカウントがロックされ、ログインできなくなります。
・ロックされるまでのログイン試行失敗回数(FAILED_LOGIN_ATTEMPTS):10回
連続して10回ログインに失敗すると、アカウントはロックされます。これは10gまでと同じ動作です。
・指定回数失敗後、ロックされる日数(PASSWORD_LOCK_TIME):1日(以前は無期限)
連続してログインに失敗するとアカウントはロックされますが、指定した期間後にロック状態は解除され、再度ログイン試行できるようになります。10gまではデータベース管理者が明示的にアカウントのロックを解除する必要がありましたが、11gからは1日後自動的にロック状態が解除されるようになりました。
このデフォルトの設定のままデータベースを運用していると、6ヶ月後にユーザーのパスワードは有効期限切れになります。バッチやアプリケーションサーバーなどに設定されたパスワードは一斉に使えなくなり、データベースに接続できずシステムが止まってしまいます。
データベース構築時には、必ずプロファイルをシステムのセキュリティ要件に合うように変更してください!!
Oracle Database 11g R1では、DBCAでデータベース作成時に11gの新しい安全性の高いセキュリティ設定を利用するか、10gまでのセキュリティ設定を利用するかを選択できます。Oracle Database 11g R2では、必ず安全性の高いセキュリティ設定が利用されます。
参考情報:
Oracle Databaseセキュリティ・ガイド 11g リリース1(11.1)
Oracle Databaseセキュリティの新機能
安全性の高い構成の自動作成
http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/network.111/E05730-05/whatsnew.htm#CJAHEFJF
Oracle Databaseセキュリティ・ガイド 11g リリース1(11.1)
3 認証の構成
パスワード保護の構成
パスワード管理ポリシーの使用
デフォルト・プロファイルのパスワード設定の構成
http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/network.111/E05730-05/authentication.htm#CHDCGJED
次回はOracle Database 11gからの新しい監査の設定についてを解説します。