5.21 Enable 'TRIGGER' Audit Option

Information

Triggers are often part of schema security, data validation and other critical constraints upon actions and data. A trigger in another schema may be used to escalate privileges, redirect operations, transform data and perform other sorts of perhaps undesired actions. Any unauthorized attempt to create, drop or alter a trigger in another schema may be cause for investigation.

Solution

Execute the following SQL statement to remediate this setting. AUDIT TRIGGER; Impact: The statement auditing option 'audit TRIGGER' audits almost everything that the three privilege audits 'audit CREATE ANY TRIGGER', 'audit ALTER ANY TRIGGER' and 'audit DROP ANY TRIGGER' audit, but also audits: Statements to create, drop, enable or disable a trigger in the user's own schema. Attempts to create a trigger by a user without the CREATE TRIGGER system privilege. Attempts to create a trigger in another schema by users without the CREATE ANY TRIGGER privilege. Attempts to drop a trigger in another schema by users without the DROP ANY TRIGGER privilege. Attempts to disable or enable a trigger in another schema by users without the ALTER ANY TRIGGER privilege. The one thing is audited by any of the three privilege audits that is not audited by this is 'alter trigger ...compile' if the trigger is in another's schema, which is audited by 'audit ALTER ANY TRIGGER'', but only if the user attempting the alteration actually holds the ALTER ANY TRIGGER system privilege. 'Audit TRIGGER' only audits 'alter table' or 'alter trigger' statements used to enable or disable triggers. It does not audit alter trigger or alter table statements used only with compile options.

See Also

https://workbench.cisecurity.org/files/601

Item Details

Category: AUDIT AND ACCOUNTABILITY

References: 800-53|AU-12c.

Plugin: OracleDB

Control ID: 155d0957c476eec76a60917500b333bbda4e253cf025439c5453c2180a933e3b