ORA_LOGON_FAILURES
ポリシーを有効にして実行しようとしました
select * from expanded_audit_trail where Unified_audit_policies = 'ORA_LOGON_FAILURES';
しかし、それは機能しません。ログインに失敗したすべての試みは監査されませんでした。それで私は何を間違っていますか?
_ORA_LOGON_FAILURES
_を有効にしましたが、統合監査を適切に有効にしましたか?
デフォルトの混合モード監査では、_audit_trail
_をnone
に設定すると、_ORA_LOGON_FAILURES
_を有効にしてログオンの失敗を監査できなくなります。
これは、デフォルトに設定されたすべてのもの(DBCAによってaudit_trailがDB
に設定された状態)でどのように機能するかです。
_SQL> audit policy ora_logon_failures;
Audit succeeded.
SQL> select count(*) from unified_audit_trail
where unified_audit_policies = 'ORA_LOGON_FAILURES' and return_code = 1017;
COUNT(*)
----------
0
SQL> connect 1/1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to Oracle.
SQL> connect / as sysdba
Connected.
SQL> select count(*) from unified_audit_trail
where unified_audit_policies = 'ORA_LOGON_FAILURES' and return_code = 1017;
COUNT(*)
----------
1
_
また、統合監査全体をSGAでバッファリングし、すぐにではなく後でディスクに書き込むことができます。その場合、クエリを実行する前に手動でフラッシュします。
_EXEC DBMS_AUDIT_MGMT.flush_unified_audit_trail;
_
それでも、すべてを適切に構成した場合は、次のようにヒットした可能性があります。
バグ19383839-統合監査-ログオンなしOR失敗したログオンアクションがキャプチャされました
編集:
わかりました、それで私はそれを自分でテストしなければなりませんでした、そうでなければ私はそれを信じていなかっただろう。ドキュメントに記載されている内容( AUDIT_TRAIL )とは異なり、_audit_trail
_をnone
に設定すると、純粋な統合監査を使用している場合でも効果があります。しかし、これは意図されたものではなく、バグです。修正は最新のPSU(12.1.0.2.170117)に含まれていませんが、上記の1回限りのパッチ(19383839)をインストールすると問題が実際に解決しました。問題は、このパッチがWindowsプラットフォームで利用できないことです。 (私はこれをLinuxとWindowsの両方でテストしました。Windowsは常にOracleで作業するときに考慮する必要がある要素だからです。)
_audit_trail
_をDB
に設定しても、混合モードは再度有効になりません。再リンク(DLLの名前を変更)すると、純粋な統合監査が有効になり、これを上書きします。これを確認するには、_AUD$
_または_DBA_AUDIT_SESSION
_。したがって、_audit_trail
_をDB
に設定することをお勧めします。