AUDITCONFIG(8) Maintenance Commands and Procedures AUDITCONFIG(8)
NAME
auditconfig - configure auditing
SYNOPSIS
auditconfig option...
DESCRIPTION
auditconfig provides a command line interface to get and set kernel
audit parameters.
The setting of the
perzone policy determines the scope of the audit
setting controlled by
auditconfig. If
perzone is set, then the values
reflect the local zone except as noted. Otherwise, the settings are
for the entire system. Any restriction based on the
perzone setting
is noted for each option to which it applies.
A non-global zone administrator can set all audit policy options
except
perzone and
ahlt.
perzone and
ahlt apply only to the global
zone; setting these policies requires the privileges of a global zone
administrator.
perzone and
ahlt are described under the
-setpolicy option, below.
OPTIONS
-aconf Set the non-attributable audit mask to the value set using the
-setnaflags option. For example:
# auditconfig -aconf
Configured non-attributable event mask.
-audit event sorf retval string This command constructs an audit record for audit event
event using the process's audit characteristics containing a text token
string. The return token is constructed from the
sorf (success/failure flag) and the
retval (return value). The event
is type
char*, the
sorf is 0/1 for success/failure,
retval is an
errno value,
string is type
*char. This command is useful for
constructing an audit record with a shell script. An example of
this option:
# auditconfig -audit AUE_ftpd 0 0 "test string"
#
audit record from audit trail:
header,76,2,ftp access,,Fri Dec 08 08:44:02 2000, + 669 msec
subject,abc,root,other,root,other,104449,102336,235 197121 elbow
text,test string
return,success,0
-chkaconf Checks that the current non-attributable event flags set in the
kernel matches the configuration. If the runtime class mask of a
kernel audit event does not match the configured class mask, a
mismatch is reported.
-chkconf Check the configuration of kernel audit event to class mappings.
If the runtime class mask of a kernel audit event does not match
the configured class mask, a mismatch is reported.
-conf Configure kernel audit event to class mappings. Runtime class
mappings are changed to match those in the audit event to class
database file.
-getasid Prints the audit session ID of the current process. For example:
# auditconfig -getasid
audit session id = 102336
-getaudit Returns the audit characteristics of the current process.
# auditconfig -getaudit
audit id = abc(666)
process preselection mask = lo(0x1000,0x1000)
terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
audit session id = 102336
-getauid Prints the audit ID of the current process. For example:
# auditconfig -getauid
audit id = abc(666)
-getcar Prints current active root location (anchored from root [or local
zone root] at system boot). For example:
# auditconfig -getcar
current active root = /
-getclass event Display the preselection mask associated with the specified
kernel audit event.
event is the kernel event number or event
name.
-getcond Display the kernel audit condition. The condition displayed is
the literal string
auditing meaning auditing is enabled and
turned on (the kernel audit module is constructing and queuing
audit records);
noaudit, meaning auditing is enabled but turned
off (the kernel audit module is not constructing and queuing
audit records); or
nospace, meaning there is no space for saving
audit records. See
auditon(2) and
auditd(8) for further
information.
-getcwd Prints current working directory (anchored from zone root at
system boot). For example:
# cd /usr/tmp
# auditconfig -getcwd
current working directory = /var/tmp
-getestate event For the specified event (string or event number), print out
classes
event has been assigned. For example:
# auditconfig -getestate 20
audit class mask for event AUE_REBOOT(20) = 0x800
# auditconfig -getestate AUE_RENAME
audit class mask for event AUE_RENAME(42) = 0x30
-getflags Display the current active and configured user default audit
flags. For example:
# auditconfig -getflags
active user default audit flags = no(0x0,0x0)
configured user default audit flags = ex,lo(0x40001000,0x40001000)
-getkaudit Get audit characteristics of the current zone. For example:
# auditconfig -getkaudit
audit id = unknown(-2)
process preselection mask = lo,na(0x1400,0x1400)
terminal id (maj,min,host) = 0,0,(0.0.0.0)
audit session id = 0
If the audit policy
perzone is not set, the terminal id is that
of the global zone. Otherwise, it is the terminal id of the local
zone.
-getkmask Get non-attributable pre-selection mask for the current zone. For
example:
# auditconfig -getkmask
audit flags for non-attributable events = lo,na(0x1400,0x1400)
If the audit policy
perzone is not set, the kernel mask is that
of the global zone. Otherwise, it is that of the local zone.
-getnaflags Display the current active and configured non-attributable audit
flags. For example:
# auditconfig -getnaflags
active non-attributable audit flags = no(0x0,0x0)
configured non-attributable audit flags = lo(0x1000,0x1000)
-getpinfo pid Display the audit ID, preselection mask, terminal ID, and audit
session ID for the specified process.
-getplugin [
plugin]
Display the currently installed plugins and their attributes. If
plugin is specified,
-getplugin only shows information for that
plugin. For example:
# auditconfig -getplugin
Plugin: audit_binfile (active)
Attributes: p_dir=/var/audit;p_fsize=0;p_minfree=0;
Plugin: audit_syslog (inactive)
Attributes: p_flags=;
Plugin: audit_remote (inactive)
Attributes: p_hosts=;p_retries=3;p_timeout=5;
-getpolicy Display the kernel audit policy. The
ahlt and
perzone policies
reflect the settings from the global zone. If
perzone is set, all
other policies reflect the local zone's settings. If
perzone is
not set, the policies are machine-wide.
-getqbufsz Get audit queue write buffer size. For example:
# auditconfig -getqbufsz
audit queue buffer size (bytes) = 1024
-getqctrl Get audit queue write buffer size, audit queue
hiwater mark,
audit queue
lowater mark, audit queue
prod interval (ticks).
# auditconfig -getqctrl
audit queue hiwater mark (records) = 100
audit queue lowater mark (records) = 10
audit queue buffer size (bytes) = 1024
audit queue delay (ticks) = 20
-getqdelay Get interval at which audit queue is prodded to start output. For
example:
# auditconfig -getqdelay
audit queue delay (ticks) = 20
-getqhiwater Get high water point in undelivered audit records when audit
generation will block. For example:
# auditconfig -getqhiwater
audit queue hiwater mark (records) = 100
-getqlowater Get low water point in undelivered audit records where blocked
processes will resume. For example:
# auditconfig -getqlowater
audit queue lowater mark (records) = 10
-getstat Print current audit statistics information. For example:
# auditconfig -getstat
gen nona kern aud ctl enq wrtn wblk rblk drop tot mem
910 1 725 184 0 910 910 0 231 0 88 48
See
auditstat(8) for a description of the headings in
-getstat output.
-gettid Print audit terminal ID for current process. For example:
# auditconfig -gettid
terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
-lsevent Display the currently configured (runtime) kernel and user level
audit event information.
-lspolicy Display the kernel audit policies with a description of each
policy.
-setasid session-ID [
cmd]
Execute shell or
cmd with specified
session-ID. For example:
# auditconfig -setasid 2000 /bin/ksh
#
# auditconfig -getpinfo 104485
audit id = abc(666)
process preselection mask = lo(0x1000,0x1000)
terminal id (maj,min,host) = 235,197121,elbow(172.146.89.77)
audit session id = 2000
-setaudit audit-ID preselect_flags term-ID session-ID [
cmd]
Execute shell or
cmd with the specified audit characteristics.
-setauid audit-ID [
cmd]
Execute shell or
cmd with the specified
audit-ID.
-setclass event audit_flag[
,audit_flag ...]
Map the kernel event
event to the classes specified by
audit_flags.
event is an event number or name. An
audit_flag is
a two character string representing an audit class. If
perzone is
not set, this option is valid only in the global zone.
-setflags audit_flags Sets the user default audit flags. For example, to set execute
and login auditing for all users:
# auditconfig -setflags ex,lo
user default audit flags = ex,lo(0x40001000,0x40001000)
-setkaudit IP-address_type IP_address Set IP address of machine to specified values.
IP-address_type is
ipv6 or
ipv4.
If
perzone is not set, this option is valid only in the global
zone.
-setkmask audit_flags Set non-attributes selection flags of machine.
If
perzone is not set, this option is valid only in the global
zone.
-setnaflags audit_flags Sets the non-attributable audit flags. For example:
# auditconfig -setnaflags lo
non-attributable audit flags = lo(0x1000,0x1000)
-setplugin name active|
inactive [
attributes [
qsize]]
Configures a plugin's attributes. For example:
# auditconfig -setplugin audit_syslog active
-setpmask pid flags Set the preselection mask of the specified process.
If
perzone is not set, this option is valid only in the global
zone.
-setpolicy [
+|
-]
policy_flag[
,policy_flag ...]
Set the kernel audit policy. A policy
policy_flag is literal
strings that denotes an audit policy. A prefix of
+ adds the
policies specified to the current audit policies. A prefix of
- removes the policies specified from the current audit policies.
No policies can be set from a local zone unless the
perzone policy is first set from the global zone. The following are the
valid policy flag strings (
auditconfig -lspolicy also lists the
current valid audit policy flag strings):
all Include all policies that apply to the current
zone.
ahlt Panic is called and the system dumps core if an
asynchronous audit event occurs that cannot be
delivered because the audit queue has reached the
high-water mark or because there are insufficient
resources to construct an audit record. By
default, records are dropped and a count is kept
of the number of dropped records.
arge Include the
execv(2) system call environment
arguments to the audit record. This information
is not included by default.
argv Include the
execv(2) system call parameter
arguments to the audit record. This information
is not included by default.
cnt Do not suspend processes when audit resources are
exhausted. Instead, drop audit records and keep a
count of the number of records dropped. By
default, process are suspended until audit
resources become available.
group Include the supplementary group token in audit
records. By default, the group token is not
included.
none Include no policies. If used in other than the
global zone, the
ahlt and
perzone policies are
not changed.
path Add secondary path tokens to audit record. These
are typically the pathnames of dynamically linked
shared libraries or command interpreters for
shell scripts. By default, they are not
included.
perzone Maintain separate configuration, queues, and logs
for each zone and execute a separate version of
auditd(8) for each zone.
public Audit public files. By default, read-type
operations are not audited for certain files
which meet
public characteristics: owned by root,
readable by all, and not writable by all.
trail Include the trailer token in every audit record.
By default, the trailer token is not included.
seq Include the sequence token as part of every audit
record. By default, the sequence token is not
included. The sequence token attaches a sequence
number to every audit record.
windata_down Include in an audit record any downgraded data
moved between windows. This policy is available
only if the system is configured with Trusted
Extensions. By default, this information is not
included.
windata_up Include in an audit record any upgraded data
moved between windows. This policy is available
only if the system is configured with Trusted
Extensions. By default, this information is not
included.
zonename Include the
zonename token as part of every audit
record. By default, the
zonename token is not
included. The
zonename token gives the name of
the zone from which the audit record was
generated.
-setqbufsz buffer_size Set the audit queue write buffer size (bytes).
-setqctrl hiwater lowater bufsz interval Set the audit queue write buffer size (bytes), hiwater audit
record count, lowater audit record count, and wakeup interval
(ticks). Valid within a local zone only if
perzone is set.
-setqdelay interval Set the audit queue wakeup interval (ticks). This determines the
interval at which the kernel pokes the audit queue, to write
audit records to the audit trail. Valid within a local zone only
if
perzone is set.
-setqhiwater hiwater Set the number of undelivered audit records in the audit queue at
which audit record generation blocks. Valid within a local zone
only if
perzone is set.
-setqlowater lowater Set the number of undelivered audit records in the audit queue at
which blocked auditing processes unblock. Valid within a local
zone only if
perzone is set.
-setsmask asid flags Set the preselection mask of all processes with the specified
audit session ID. Valid within a local zone only if
perzone is
set.
-setstat Reset audit statistics counters. Valid within a local zone only
if
perzone is set.
-setumask auid flags Set the preselection mask of all processes with the specified
audit ID. Valid within a local zone only if
perzone is set.
EXAMPLES
Example 1: Using auditconfig
The following is an example of an
auditconfig program:
#
# map kernel audit event number 10 to the "fr" audit class
#
% auditconfig -setclass 10 fr
#
# turn on inclusion of exec arguments in exec audit records
#
% auditconfig -setpolicy +argv
EXIT STATUS
0 Successful completion.
1 An error occurred.
FILES
/etc/security/audit_event Stores event definitions used in the
audit system.
/etc/security/audit_class Stores class definitions used in the
audit system.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
auditon(2),
execv(2),
audit_class(5),
audit_event(5),
attributes(7),
audit_binfile(7),
audit_remote(7),
audit_syslog(7),
audit(8),
auditd(8),
auditstat(8),
praudit(8)NOTES
If the
audit_remote or
audit_syslog plugins are active, the behavior
of the system with respect to the
-setpolicy +cnt and the
-setqhiwater options is modified slightly. If
-setpolicy +cnt is set,
data will continue to be sent to the selected plugin, even though
output to the binary audit log is stopped, pending the freeing of
disk space. If
-setpolicy -cnt is used, the blocking behavior is as
described under OPTIONS, above. The value set for the queue high
water mark is used within
auditd as the default value for its queue
limits unless overridden by means of the
qsize attribute.
The
auditconfig options that modify or display process-based
information are not affected by the
perzone policy. Those that modify
system audit data such as the terminal id and audit queue parameters
are valid only in the global zone, unless the
perzone policy is set.
The display of a system audit reflects the local zone if
perzone is
set. Otherwise, it reflects the settings of the global zone.
The
-setcond option has been removed. Use
audit(8) to enable or
disable auditing.
The
-getfsize and
-setfsize options have been removed. Use
audit_binfile(7) p_fsize to set the audit file size.
March 6, 2017 AUDITCONFIG(8)