Hello all,

I'm working on transitioning of auditd(1M) configuration into SMF. While
configuration directives like audit policy, masks etc. would map to SMF
properties in a quite straightforward way, I'm not sure how to map more complex
configuration related to audit plugins.

Problem:
  - auditd can load various plugins (they are .so objects loaded at runtime via
    dlopen) based on its configuration
  - each plugin has different configuration directives in general
  - plugin should not depend on smf (ie. should not be smf-aware code, its
    configuration is supplied on the plugin initialization by auditd)


Proposal:
  - smf docs mentions <property_group> tags which seem to me the best approach
    how to group each plugin configuration into a logical group. Below is a
    sample of smf manifest.
  - each plugin has its own property group of type 'SUNW,audit_plugin'. auditd
    will iterate over all property groups of type containing audit_plugin
    (allowing possible 3rd party plugins to be used as well).
  - each plugin property group will have known properties recognized by auditd,
    like name (for library path), enabled (if this plugin should be loaded at
    all) and attributes, ie. configuration depending on the plugin of type
    string list

My questions:
  - is it right to use <property_group>s for this purpose?
  - is type='SUNW,audit_plugin' correct?
  - wouldn't it be better to drop plugin's 'attributes' list in favor of
    several plugin specific attributes with names beginning with eg. p_ to be
    recognizable by auditd and passed to a plugin upon initialization?

Note the plugin configuration is sensitive and should be readable only for
solaris.audit.config authorization.


Thanks for help,

--
Tomas

Reply via email to