DBSAT 2.2のレポートを日本語化する


Oracle Database Security Assessment(略してDBSAT)は、Oracle Databaseのセキュリティ関連の設定をクイックに確認するOracle公式ツールです。
データベースのパッチ適用有無やユーザーアカウント、権限&ロール、暗号化や監査設定など約80項目をチェックし、レポーティング化してくれます。

使い方は、すでにまとめられているのが役に立ちますね。
Oracle Databaseのセキュリティ上の問題点を探すDBSATを試す
DBSATの新バージョンを試す(DBSAT 2.1.0)

DBSATのレポートはすべて英語で出力されるのですが、すべて英語で読むのはなかなか骨が折れます。ということで、レポートをもう少し読みやすくするための日本語化パッチを作成しました。

ここでは、今一度、レポートを作成する簡単な手順と日本語化するためのパッチ適用について紹介します。
※日本語化パッチは、非公式ですのでご使用は自己責任でお願いします。

DBSATの公式サイト

https://www.oracle.com/technetwork/jp/database/security/dbsat/downloads/index.html
Download Oracle Database Security Assessment Tool からdbsat.zipをダウンロードする

DBSATの実行手順

以下は、Oracle Database Cloud ServiceのVMインスタンスで実行した例です

#dbsat.zipを実行したいOracle Databaseにコピーする
$ unzip dbsat.zip -d dbsat
$ cd dbsat
$ ls
Discover  dbsat.bat        sat_collector.sql  xlsxwriter
dbsat     sat_analysis.py  sat_reporter.py

#sat_reporter.pyをgithubにある日本語版sat_reporter.pyに置き換える
$ mv sat_reporter.py sat_reporter.py_orig
$ wget https://raw.githubusercontent.com/western24/DBSat2.2_JP/master/sat_reporter.py

#Collect実行 (MTA環境なのでPDBをターゲットに指定する。DBユーザーはSYSTEM)
$ ./dbsat collect system/[email protected]:1521/servicename pdb

#Report実行
./dbsat report pdb

最終的には、パスワード付きのpdb_report.zipが作成される

作成されるHTMLレポートの例はこちら

長いレポートなので、漠然の読むよりもポイントを絞ったほうが良いように思います。
私は特に以下の点に気を付けて読みます。

・デフォルト・プロファイルが弱められている or Umilitedになっているものがないか
・アカウントロックが無効化になっていないか
・デフォルトパスワードの使用がないか
・把握できていないアカウント、ロールがないか
・SYS系、DBAロールの強い権限が意図せず付与されていないか
・SELECT ANY TABLE等の強い権限が個別アカウントに付与されていないか
・暗号化しているか
・監査設定の有無、何を対象にしているか

DBATの実行は既存環境への影響はなく、非常に簡単なので、一度実施することをお薦めします