※ 本記事は2016年12月15日に公開されたものです。

DBA_USERS_WITH_DEFPWDというデータディクショナリビューがあります。

名前から想像がつくと思いますが、デフォルト(簡単な)パスワードを利用しているユーザーをリストしてくれるビューです。

SQL> select username from dba_users_with_defpwd;
USERNAME
--------------------------------------------------------------------------------
GSMUSER
SYSDG
APPQOSSYS
GSMCATUSER
SYSTEM
XDB
ORACLE_OCM
SYSKM
DIP
ANONYMOUS
AUDSYS
GSMADMIN_INTERNAL
SYSBACKUP
OUTLN
14行が選択されました。 

この中にはロックされているアカウントもあるので、DBA_USERSビューを結合すると見やすくなります。

SQL> select u.username, u.account_status
  2  from dba_users u, dba_users_with_defpwd d
  3  where u.username=d.username;
USERNAME             ACCOUNT_STATUS
-------------------- --------------------------------
SYSTEM               OPEN
XDB                  EXPIRED & LOCKED
GSMADMIN_INTERNAL    EXPIRED & LOCKED
DIP                  EXPIRED & LOCKED
ANONYMOUS            EXPIRED & LOCKED
AUDSYS               EXPIRED & LOCKED
SYSKM                EXPIRED & LOCKED
APPQOSSYS            EXPIRED & LOCKED
ORACLE_OCM           EXPIRED & LOCKED
OUTLN                EXPIRED & LOCKED
GSMCATUSER           EXPIRED & LOCKED
GSMUSER              EXPIRED & LOCKED
SYSDG                EXPIRED & LOCKED
SYSBACKUP            EXPIRED & LOCKED
14行が選択されました。 

ここからオープン状態のユーザーではSYSTEMユーザーのパスワードがデフォルト(簡単なもの)であることが分かります。
DBSATレポートでは「User Accounts」セクションの「Users with Default Passwords」から確認できます。レポートを「USER.DEFPWD」で検索すると簡単に探すことができます。 

 

 

ビューの名前はDEFPWDですが、SYSTEMのパスワードがMANAGERの場合だけでなく、ORACLEなど別の簡単なパスワードでもビューにリストされます。なお、このビューにリストされるのはOracle Databaseが自動的に作成するユーザーのみで、管理者が後から追加したユーザーが簡単なパスワードを利用しているかどうかは分かりません。また、このビューはOracle Database 11gR1以降にのみ存在します。

いくつかの制限事項はありますが、データベースがデフォルトで作成する強力な権限を持ったユーザーのパスワードが簡単なもののまま運用されていないかどうか確認するための便利なビューです。

また、「2日でセキュリティ・ガイド」マニュアルの「デフォルト・パスワードの検索および変更」にEnterprise Managerからの確認方法も記載されています。

簡単なパスワードの利用はアカウントを奪取されやすく、アカウントの奪取は不正アクセス被害の原因の上位に入っています。重要なデータが保存されている本番データベースでは、パスワードは推測されにくい複雑なものを利用して下さい。

DBA_USERS_WITH_DEFPWDデータディクショナリビュー。運用している本番システムでぜひ確認してみてください。

「もくじ」にもどる