I'm sponsoring this case for Jan Friedel and the Solaris Audit project team.
It is the second phase of converting the audit service configuration to
SMF.  The first phase was PSARC/2009/022 audit_startup(1m) EOL and removal.

PSARC/2008/787 Obsolete of some Solaris Audit commands and PSARC/2009/636
Obsolete getacinfo(3bsm) announced Obsolescence (EOF) of a number Solaris
Audit interfaces in the next Patch release.

When the audit service, auditd(1m), was created (6232332 auditd should run
under SMF) as part of the conversion from /etc/rc scripts to SMF
(PSARC/2002/547 Greenline) the configuration information in audit_startup(1m)
and audit_control(4) were not converted.  This case proposes to provide the
configuration information contained in audit_control in audit service private
properties and to remove audit_control(4) in a Minor release.

Copies of the Obsolete audit_control(4) and getacinfo(3bsm) man pages, a
diff marked auditconfig(1m) man page and the new proposed audit_flags(5)
man page, as well as the delivered audit_control file are in the case
directory.

The interface taxonomy of auditconfig(1m) is unchange (Committed).

For reference purposes a "references" subdirectory is provided with other
related man pages and a prototype audit service manifest.

The timer is set for 19 Jan 2010.

Gary..
+++++++++++++++++++++++++++++++++

Background:
==========
audit_control(4) is a file that contains configuration of the default
audit classes (flags: and naflags: keywords) [see audit_flags(5) and
audit_class(4)] and audit trail destinations (plugin: keyword) [the dir:
and minfree: keywords were effectively EOLed but not removed by PSARC/2002/150
Secure Remote Audit Log -- "Secure" a misnomer here].  An administrator can
configure these by editing the audit_control file.

Proposal:
========
Project Private properties are added to auditd(1m).

    1) Remove the Obsolete Committed audit_control(4) file from the system.
    2) As the audit_control(4) file was not world readable,
       add Project Private read protected SMF property groups (PSARC/2007/177
       SMF Read-Protected Property Storage) to contain the persistent
       values for the default audit flags and audit trail destinations.
    3) Remove the Obsolete Committed getacinfo(3bsm) APIs from the system.
       These interfaces are used to access fields in the audit_control file.
    4) Add project private properties to the audit service to contain
       the information in the removed audit_control file.
    5) Add auditconfig(1m) subcommands -getflags, -getnaflags, -getplugin,
       -setflags, -setnaflags, -setplugin to display and set the default
       audit classes and audit trail destinations.
    6) Modify auditd(1m) to initialize the default audit classes and audit
       trail destinations from audit service properties.
    7) Deliver the service manifest with slightly different default
       configuration from what audit_control contained (flags lo, naflags lo,
       plugin audit_binfile(5) active).  audit_control flags were empty and
       naflags were lo, which would audit for failed events of the "login"
       class, but not for successful ones.  The change is to audit both
       successful and failed logins when auditing is enabled.  audit_binfile
       default is unchanged.
    8) Update au_user_mask(3bsm) to use default audit classes configured in
       the audit service.

auditconfig(1m):
NAME
     auditconfig - configure auditing

SYNOPSIS
     auditconfig subcommand ...

  SUBCOMMANDS

+    -getflags
+        Display the default audit preselection flags.

+    -getnaflags
+        Display the non-attributable audit mask.

+    -getplugin [name]
+        Display information about the plugin name.  If name is not
+        specified, display all plugins.

+    -setflags audit_flags
+        Set the default audit classes, see audit_flags(5).  The default
+        audit classes are combined with the user's specific audit
+        flags to form the user's process audit preselection mask.
         
+    -setnaflags audit_flags
+        Set the non-attributable audit classes, see audit_flags(5).
+        Non-attributable audit classes define what classes of events
+        are to be audited when the action cannot be attributed to
+        an authenticated user.  Failed login is an example of an
+        event that is non-attributable.

+    -setplugin name active | inactive [ attributes [ qsize]]
+        Configure the plugin name to be "active" or "inactive".
+        Optionally configure the attributes and number of
+        unprocessed audit records to queue for the plugin.
+        See the audit plugin man pages and auditd(1m).

NOTES

+    The change to plugins (-setplugin) settings do not take effect
+    (such as becoming active or inactive, changing the active attribute
+    or queue size values) until the audit service is refreshed.  Use
+    audit(1M) to refresh the audit service.

Notes:
======
    1) Activation of updates (except for flags:) to the current
       audit_control(4) required refreshing the audit service.
    2) The removed audit_control(4) man page contained the primary
       description of the syntax for specifying user audit flags.
       audit_flags(5) is proposed to provide that information.
    3) New audit service plugins may be added within the Solaris
       distribution by distributing an updated service manifest.
       3rd party audit service plugins may be added by using svccfg(1m)
       to add the appropriate property group information.
    4) Activation of both flags (-setflags) and naflags (-setnaflags)
       requires no additional steps.  Activation of plugins (-setplugin
       <name> active) still requires refreshing the audit service.
       See 1) above.

Issues:
=======
    1) Many man pages refer to audit_control(4).  The project team plans
       to use this as an opportunity to refresh and align these man pages.
       The updates are not documented as part of this case.
    2) audit_control(4) will not be automatically converted.  The currently
       understood conversion for Solaris 10 to Solaris next is a fresh
       install.  "What's New" documentation will be provided:

            If you have modified the audit_control(4) file, you will
            need to use auditconfig(1M) to configure the audit service
            with your modifications.
            o use auditconfig -getflags, -getnaflags, -getplugin
              to display the current configuration
            o use auditconfig -setflags <the value of the audit_control(4)
              flags:>
            o use auditconfig -setnaflags <the value of the audit_control(4)
              naflags:>
            o for any audit_control(4) plugin: configured, use
              auditconfig -setplugin to activate and configure the same
              attributes (p_* values), and qsize
            o if the audit_control(4) obsolete dir: and/or minfree: are
              configured, use
              auditconfig -setplugin binfile active "p_dir=<dir: value>;
              p_minfree=<minfree: value>"

    3) The policy for read protected properties states that values should
       not be delivered in the manifest.
       The project team believes that compatibility with the existing
       default which is openly documented in the Solaris Auditing section
       of the System Administration Guide section of the Solaris Security
       Services document is sufficient motivation for delivering audit_binfile
       configured and active.
http://docs.sun.com/app/docs/doc/816-4557/auditref-12?l=en&a=view&q=audit_control

Reply via email to