auditd.conf

AUDITD.CONF:(5)          System Administration Utilities         AUDITD.CONF:(5)



NAME
       auditd.conf - audit daemon configuration file

DESCRIPTION
       The file /etc/audit/auditd.conf contains configuration information
       specific to the audit daemon. Each line should contain one configuration
       keyword, an equal sign, and then followed by appropriate configuration
       information. All option names and values are case insensitive. The
       keywords recognized are listed and described below. Each line should be
       limited to 160 characters or the line will be skipped. You may add
       comments to the file by starting the line with a '#' character.


       local_events
              This yes/no keyword specifies whether or not to include local
              events. Normally you want local events so the default value is
              yes. Cases where you would set this to no is when you want to
              aggregate events only from the network. At the moment, this is
              useful if the audit daemon is running in a container. This option
              can only be set once at daemon start up. Reloading the config file
              has no effect.

       log_file
              This keyword specifies the full path name to the log file where
              audit records will be stored. It must be a regular file.

       write_logs
              This yes/no keyword determines whether or not to write logs to the
              disk.  Normally you want this so the default is yes.

       log_format
              The log format describes how the information should be stored on
              disk. There are 2 options: raw and enriched. If set to RAW, the
              audit records will be stored in a format exactly as the kernel
              sends it. The ENRICHED option will resolve all uid, gid, syscall,
              architecture, and socket address information before writing the
              event to disk. This aids in making sense of events created on one
              system but reported/analyzed on another system.  The NOLOG option
              is now deprecated. If you were setting this format, now you should
              set the write_logs option to no.

       log_group
              This keyword specifies the group that is applied to the log file's
              permissions. The default is root. The group name can be either
              numeric or spelled out.

       priority_boost
              This is a non-negative number that tells the audit daemon how much
              of a priority boost it should take. The default is 4. No change is
              0.

       flush  Valid values are none, incremental, incremental_async, data,  and
              sync.  If set to none, no special effort is made to flush the
              audit records to disk. If set to incremental, Then the freq
              parameter is used to determine how often an explicit flush to disk
              is issued.  The incremental_async parameter is very much like
              incremental except the flushing is done asynchronously for higher
              performance. The data parameter tells the audit daemon to keep the
              data portion of the disk file sync'd at all times. The sync option
              tells the audit daemon to keep both the data and meta-data fully
              sync'd with every write to disk. The default value is
              incremental_async.

       freq   This is a non-negative number that tells the audit daemon how many
              records to write before issuing an explicit flush to disk command.
              This value is only valid when the flush keyword is set to
              incremental or incremental_async.

       num_logs
              This keyword specifies the number of log files to keep if rotate
              is given as the max_log_file_action.  If the number is < 2, logs
              are not rotated. This number must be 999 or less.  The default is
              0 - which means no rotation. As you increase the number of log
              files being rotated, you may need to adjust the kernel backlog
              setting upwards since it takes more time to rotate the files. This
              is typically done in /etc/audit/audit.rules. If log rotation is
              configured to occur, the daemon will check for excess logs and
              remove them in effort to keep disk space available. The excess log
              check is only done on startup and when a reconfigure results in a
              space check.

       name_format
              This option controls how computer node names are inserted into the
              audit event stream. It has the following choices: none, hostname,
              fqd, numeric, and user.  None means that no computer name is
              inserted into the audit event.  hostname is the name returned by
              the gethostname syscall. The fqd means that it takes the hostname
              and resolves it with dns for a fully qualified domain name of that
              machine.  Numeric is similar to fqd except it resolves the IP
              address of the machine. In order to use this option, you might
              want to test that 'hostname -i' or 'domainname -i' returns a
              numeric address. Also, this option is not recommended if dhcp is
              used because you could have different addresses over time for the
              same machine.  User is an admin defined string from the name
              option. The default value is none.

       name   This is the admin defined string that identifies the machine if
              user is given as the name_format option.

       max_log_file
              This keyword specifies the maximum file size in megabytes. When
              this limit is reached, it will trigger a configurable action. The
              value given must be numeric.

       max_log_file_action
              This parameter tells the system what action to take when the
              system has detected that the max file size limit has been reached.
              Valid values are ignore, syslog, suspend, rotate and keep_logs.
              If set to ignore, the audit daemon does nothing.  syslog means
              that it will issue a warning to syslog.  suspend will cause the
              audit daemon to stop writing records to the disk. The daemon will
              still be alive. The rotate option will cause the audit daemon to
              rotate the logs. It should be noted that logs with higher numbers
              are older than logs with lower numbers. This is the same
              convention used by the logrotate utility. The keep_logs option is
              similar to rotate except it does not use the num_logs setting.
              This prevents audit logs from being overwritten. The effect is
              that logs accumulate and are not deleted - which will trigger the
              space_left_action if the volume fills up. This is best used in
              combination with an external script used to archive logs on a
              periodic basis.

       verify_email
              This option determines if the email address given in
              action_mail_acct is checked to see if the domain name can be
              resolved. This option must be given before action_mail_acct or the
              default value of yes will be used.

       action_mail_acct
              This option should contain a valid email address or alias. The
              default address is root. If the email address is not local to the
              machine, you must make sure you have email properly configured on
              your machine and network. Also, this option requires that
              /usr/lib/sendmail exists on the machine.

       space_left
              If the free space in the filesystem containing log_file drops
              below this value, the audit daemon takes the action specified by
              space_left_action.  If the value of space_left is specified as a
              whole number, it is interpreted as an absolute size in megabytes
              (MiB).  If the value is specified as a number between 1 and 99
              followed by a percentage sign (e.g., 5%), the audit daemon
              calculates the absolute size in megabytes based on the size of the
              filesystem containing log_file.  (E.g., if the filesystem
              containing log_file is 2 gigabytes in size, and space_left is set
              to 25%, then the audit daemon sets space_left to approxiatemly 500
              megabytes.  Note that this calculation is performed when the audit
              daemon starts, so if you resize the filesystem containing log_file
              while the audit daemon is running, you should send the audit
              daemon SIGHUP to re-read the configuration file and recalculate
              the correct percentage.

       space_left_action
              This parameter tells the system what action to take when the
              system has detected that it is starting to get low on disk space.
              Valid values are ignore, syslog, rotate, email, exec, suspend,
              single, and halt.  If set to ignore, the audit daemon does
              nothing.  syslog means that it will issue a warning to syslog.
              rotate will rotate logs, losing the oldest to free up space.
              Email means that it will send a warning to the email account
              specified in action_mail_acct as well as sending the message to
              syslog.  exec /path-to-script will execute the script. You cannot
              pass parameters to the script. The script is also responsible for
              telling the auditd daemon to resume logging once its completed its
              action. This can be done by adding service auditd resume to the
              script.  suspend will cause the audit daemon to stop writing
              records to the disk. The daemon will still be alive. The single
              option will cause the audit daemon to put the computer system in
              single user mode. The halt option will cause the audit daemon to
              shutdown the computer system. Except for rotate, it will perform
              this action just one time.

       admin_space_left
              This is a numeric value in megabytes that tells the audit daemon
              when to perform a configurable action because the system is
              running low on disk space. This should be considered the last
              chance to do something before running out of disk space. The
              numeric value for this parameter should be lower than the number
              for space_left. You may also append a percent sign (e.g. 1%) to
              the number to have the audit daemon calculate the number based on
              the disk partition size.

       admin_space_left_action
              This parameter tells the system what action to take when the
              system has detected that it is low on disk space.  Valid values
              are ignore, syslog, rotate, email, exec, suspend, single, and
              halt.  If set to ignore, the audit daemon does nothing.  Syslog
              means that it will issue a warning to syslog.  rotate will rotate
              logs, losing the oldest to free up space.  Email means that it
              will send a warning to the email account specified in
              action_mail_acct as well as sending the message to syslog.  exec
              /path-to-script will execute the script. You cannot pass
              parameters to the script. The script is also responsible for
              telling the auditd daemon to resume logging once its completed its
              action. This can be done by adding service auditd resume to the
              script.  Suspend will cause the audit daemon to stop writing
              records to the disk. The daemon will still be alive. The single
              option will cause the audit daemon to put the computer system in
              single user mode. The halt option will cause the audit daemon to
              shutdown the computer system. Except for r otate, it will perform
              this action just one time.

       disk_full_action
              This parameter tells the system what action to take when the
              system has detected that the partition to which log files are
              written has become full. Valid values are ignore, syslog, rotate,
              exec, suspend, single, and halt.  If set to ignore, the audit
              daemon will issue a syslog message but no other action is taken.
              Syslog means that it will issue a warning to syslog.  rotate will
              rotate logs, losing the oldest to free up space.  exec /path-to-
              script will execute the script. You cannot pass parameters to the
              script. The script is also responsible for telling the auditd
              daemon to resume logging g once its completed its action. This can
              be done by adding service auditd resume to the script.  Suspend
              will cause the audit daemon to stop writing records to the disk.
              The daemon will still be alive. The single option will cause the
              audit daemon to put the computer system in single user mode.  halt
              option will cause the audit daemon to shutdown the computer
              system.

       disk_error_action
              This parameter tells the system what action to take whenever there
              is an error detected when writing audit events to disk or rotating
              logs. Valid values are ignore, syslog, exec, suspend, single, and
              halt.  If set to ignore, the audit daemon will not take any
              action.  Syslog means that it will issue no more than 5
              consecutive warnings to syslog.  exec /path-to-script will execute
              the script. You cannot pass parameters to the script.  Suspend
              will cause the audit daemon to stop writing records to the disk.
              The daemon will still be alive. The single option will cause the
              audit daemon to put the computer system in single user mode.  halt
              option will cause the audit daemon to shutdown the computer
              system.

       tcp_listen_port
              This is a numeric value in the range 1..65535 which, if specified,
              causes auditd to listen on the corresponding TCP port for audit
              records from remote systems. The audit daemon may be linked with
              tcp_wrappers. You may want to control access with an entry in the
              hosts.allow and deny files. If this is deployed on a systemd based
              OS, then you may need to adjust the 'After' directive. See the
              note in the auditd.service file.

       tcp_listen_queue
              This is a numeric value which indicates how many pending
              (requested but unaccepted) connections are allowed.  The default
              is 5.  Setting this too small may cause connections to be rejected
              if too many hosts start up at exactly the same time, such as after
              a power failure. This setting is only used for aggregating
              servers. Clients logging to a remote server should keep this
              commented out.

       tcp_max_per_addr
              This is a numeric value which indicates how many concurrent
              connections from one IP address is allowed.  The default is 1 and
              the maximum is 1024. Setting this too large may allow for a Denial
              of Service attack on the logging server. Also note that the kernel
              has an internal maximum that will eventually prevent this even if
              auditd allows it by config. The default should be adequate in most
              cases unless a custom written recovery script runs to forward
              unsent events. In this case you would increase the number only
              large enough to let it in too.

       use_libwrap
              This setting determines whether or not to use tcp_wrappers to
              discern connection attempts that are from allowed machines. Legal
              values are either yes, or no The default value is yes.

       tcp_client_ports
              This parameter may be a single numeric value or two values
              separated by a dash (no spaces allowed).  It indicates which
              client ports are allowed for incoming connections.  If not
              specified, any port is allowed.  Allowed values are 1..65535.  For
              example, to require the client use a priviledged port, specify
              1-1023 for this parameter. You will also need to set the
              local_port option in the audisp-remote.conf file. Making sure that
              clients send from a privileged port is a security feature to
              prevent log injection attacks by untrusted users.

       tcp_client_max_idle
              This parameter indicates the number of seconds that a client may
              be idle (i.e. no data from them at all) before auditd complains.
              This is used to close inactive connections if the client machine
              has a problem where it cannot shutdown the connection cleanly.
              Note that this is a global setting, and must be higher than any
              individual client heartbeat_timeout setting, preferably by a
              factor of two.  The default is zero, which disables this check.

       transport
              If set to TCP, only clear text tcp connections will be used. If
              set to KRB5, then Kerberos 5 will be used for authentication and
              encryption. The default value is TCP.

       enable_krb5
              This option is deprecated. Use the transport option above instead.
              If set to "yes", Kerberos 5 will be used for authentication and
              encryption.  The default is "no". If this option is set to "yes"
              and it follows the transport option, it will override the
              transport setting. This would be the normal expected behavior for
              backwards compatibility.

       krb5_principal
              This is the principal for this server.  The default is "auditd".
              Given this default, the server will look for a key named like
              auditd/hostname@EXAMPLE.COM stored in /etc/audit/audit.key to
              authenticate itself, where hostname is the canonical name for the
              server's host, as returned by a DNS lookup of its IP address.

       krb5_key_file
              Location of the key for this client's principal.  Note that the
              key file must be owned by root and mode 0400.  The default is
              /etc/audit/audit.key

       distribute_network
              If set to "yes", network originating events will be distributed to
              the audit dispatcher for processing. The default is "no".

       q_depth
              This is a numeric value that tells how big to make the internal
              queue of the audit event dispatcher. A bigger queue lets it handle
              a flood of events better, but could hold events that are not
              processed when the daemon is terminated. If you get messages in
              syslog about events getting dropped, increase this value. The
              default value is 400.

       overflow_action
              This option determines how the daemon should react to overflowing
              its internal queue. When this happens, it means that more events
              are being received than it can pass along to child processes. This
              error means that it is going to lose the current event that it's
              trying to dispatch. This option has the following choices: ignore,
              syslog, suspend, single, and halt.  If set to ignore, the audit
              daemon does nothing.  syslog means that it will issue a warning to
              syslog.  suspend will cause the audit daemon to stop sending
              events to child processes. The daemon will still be alive. The
              single option will cause the audit daemon to put the computer
              system in single user mode.  halt option will cause the audit
              daemon to shutdown the computer system.

       max_restarts
              This is a non-negative number that tells the audit event
              dispatcher how many times it can try to restart a crashed plugin.
              The default is 10.

       plugin_dir
              This is the location that auditd will use to search for its plugin
              configuration files.

       end_of_event_timeout
              This is a non-negative number of seconds used by the userspace
              auparse() library routines and the aureport(8) , ausearch(8)
              utilities to consider an event is complete when parsing an event
              log stream. For an event stream being processed, if the time of
              the current event is over end_of_event_timeout seconds old,
              compared to co-located events, then the event is considered
              complete. See the NOTES section for more detail.

NOTES
       In a CAPP environment, the audit trail is considered so important that
       access to system resources must be denied if an audit trail cannot be
       created. In this environment, it would be suggested that /var/log/audit
       be on its own partition. This is to ensure that space detection is
       accurate and that no other process comes along and consumes part of it.

       The flush parameter should be set to sync or data.

       Max_log_file and num_logs need to be adjusted so that you get complete
       use of your partition. It should be noted that the more files that have
       to be rotated, the longer it takes to get back to receiving audit events.
       Max_log_file_action should be set to keep_logs.

       Space_left should be set to a number that gives the admin enough time to
       react to any alert message and perform some maintenance to free up disk
       space. This would typically involve running the aureport -t report and
       moving the oldest logs to an archive area. The value of space_left is
       site dependent since the rate at which events are generated varies with
       each deployment. The space_left_action is recommended to be set to email.
       If you need something like an snmp trap, you can use the exec option to
       send one.

       Admin_space_left should be set to the amount of disk space on the audit
       partition needed for admin actions to be recorded.
       Admin_space_left_action would be set to single so that use of the machine
       is restricted to just the console.

       The disk_full_action is triggered when no more room exists on the
       partition. All access should be terminated since no more audit capability
       exists. This can be set to either single or halt.

       The disk_error_action should be set to syslog, single, or halt depending
       on your local policies regarding handling of hardware malfunctions.

       Specifying a single allowed client port may make it difficult for the
       client to restart their audit subsystem, as it will be unable to recreate
       a connection with the same host addresses and ports until the connection
       closure TIME_WAIT state times out.


       Auditd events are made up of one or more records. The auditd system
       cannot guarantee that the set of records that make up an event will occur
       atomically, that is the stream will have interleaved records of different
       events, IE

              event0_record0
              event1_record0
              event2_record0
              event1_record3
              event2_record1
              event1_record4
              event3_record0

       The auditd system does not guarantee that the records that make up an
       event will appear in order. Thus, when processing event streams, we need
       to maintain a list of events with their own list of records hence List of
       List (LOL) event processing.

       When processing an event stream we define the end of an event via

              record type = AUDIT_EOE (audit end of event type record), or
              record type = AUDIT_PROCTITLE (we note the AUDIT_PROCTITLE is
              always the last record), or
              record type = AUDIT_KERNEL (kernel events are one record events),
              or
              record type < AUDIT_FIRST_EVENT (only single record events appear
              before this type), or
              record type >= AUDIT_FIRST_ANOM_MSG (only single record events
              appear after this type), or
              record type >= AUDIT_MAC_UNLBL_ALLOW && record type <=
              AUDIT_MAC_CALIPSO_DEL (these are also one record events), or
              for the stream being processed, the time of the event is over
              end_of_event_timeout seconds old.


FILES
       /etc/audit/auditd.conf
              Audit daemon configuration file


SEE ALSO
       auditd(8), audisp-remote.conf(5), auditd-plugins(5).


AUTHOR
       Steve Grubb



Red Hat                            August 2018                   AUDITD.CONF:(5)