Oracle Database 21c にはユーザーのパスワードやリソースを制限する PROFILE に ORA_CIS_PROFILE が追加されました。本記事では DEFAULT プロファイル以外のプロファイルを比較し、ORA_CIS_PROFILE を紹介します。
PROFILE
PROFILE は古いバージョンの Oracle Database から存在する機能です。パスワード期間やユーザーのセッション時間等、ユーザーのセキュリティやリソース使用量に関する制限をグループ化し、ユーザーの属性に指定することで制限を行います。プロファイル自体はデータベース管理者が自由に作成や変更できます。テンプレートとしていくつかのプロファイルがあらかじめ提供されています。
PROFILE名 | 説明 | バージョン |
---|---|---|
DEFAULT | 標準のプロファイル | |
ORA_CIS_PROFILE | CIS に準拠するプロファイル | 21cから |
ORA_STIG_PROFILE | STIG に準拠するプロファイル | 12cから |
プロファイル名の一部になっている STIG や CIS はセキュリティ標準を決定している組織の名前です。
STIG (Security Technical Implementation Guides (STIG) は米国国防総省の国防情報システム局 (DISA) が作成したシステム構成の標準です。
CIS (Center for Internet Security) はセキュリティ標準を定めた非営利団体です。Oracle Database のプロファイルにはそれぞれの団体が定めたセキュリティ標準に準拠する方法としてプロファイルが用意されています。
比較
それぞれのプロファイル構成について比較します。一般的には ORA_STIG_PROFILE の方が厳しくなっていますが、パスワード再利用の検査回数(PASSWORD_REUSE_MAX)やセッション数の上限(SESSIONS_PER_USER)等は ORA_CIS_PROFILE の方が厳しくなっています。
Resource Name | ORA_CIS_PROFILE | ORA_STIG_PROFILE | DEFAULT | 備考 |
---|---|---|---|---|
FAILED_LOGIN_ATTEMPTS | 5 | 3 | 10 | |
IDLE_TIME | DEFAULT | 15 | UNLIMITED | |
INACTIVE_ACCOUNT_TIME | 120 | 35 | 365 | |
PASSWORD_GRACE_TIME | 5 | 0 | 7 | |
PASSWORD_LIFE_TIME | 90 | 35 | 180 | |
PASSWORD_LOCK_TIME | 1 | DEFAULT | 1 | |
PASSWORD_REUSE_MAX | 20 | 5 | UNLIMITED | |
PASSWORD_REUSE_TIME | 50 | 175 | UNLIMITED | |
PASSWORD_VERIFY_FUNCTION | ORA12C_VERIFY_FUNCTION | ORA12C_STIG_VERIFY_FUNCTION | NULL | |
SESSIONS_PER_USER | 10 | DEFAULT | UNLIMITED |
パスワードの複雑性
パスワードに求められる複雑性は PASSWORD_VERIFY_FUNCTION 属性に指定されたファンクションによって担保されます。
ORA_STIG_PROFILE と ORA_CIS_PROFILE には異なるファンクションが指定されています。こちらも ORA12C_STIG_FUNCTION の方が厳しくなっています。
チェック項目 | ORA12C_VERIFY_FUNCTION | ORA12C_STIG_VERIFY_FUNCTION |
---|---|---|
パスワード長 | 8文字以上 | 15文字以上 |
含む文字 | 文字, 数字, 特殊文字を含む | 大文字2個以上, 小文字2個以上, 数字2個以上, 特殊文字2個以上を含む |
禁止文字列 | ユーザー名, 逆順のユーザー名,データベース名, oracle | 無し |
前回との差分 | 3文字以上 | 4文字以上 |
マニュアルは「Oracle Database セキュリティガイド 21c」を参照してください。