freebsd-src/contrib/openbsm
Robert Watson bb97b41819 Vendor import of OpenBSM 1.0 alpha 11, with the following change history
notes since the last import:

OpenBSM 1.0 alpha 11

- Reclassify certain read/write operations as having no class rather than the
  fr/fw class; our default classes audit intent (open) not operations (read,
  write).
- Introduce AUE_SYSCTL_WRITE event so that BSD/Darwin systems can audit reads
  and writes of sysctls as separate events.  Add additional kernel
  environment and jail events for FreeBSD.
- Break AUDIT_TRIGGER_OPEN_NEW into two events, AUDIT_TRIGGER_ROTATE_USER
  (issued by the user audit(8) tool) and AUDIT_TRIGGER_ROTATE_KERNEL (issued
  by the kernel audit implementation) so that they can be distinguished.
- Disable rate limiting of rotate requests; as the kernel doesn't retransmit
  a dropped request, the log file will otherwise grow indefinitely if the
  trigger is dropped.
- Improve auditd debugging output.
- Fix a number of threading related bugs in audit_control file reading
  routines.
- Add APIs au_poltostr() and au_strtopol() to convert between text
  representations of audit_control policy flags and the flags passed to
  auditon(A_SETPOLICY) and retrieved from auditon(A_GETPOLICY).
- Add API getacpol() to return the 'policy:' entry from audit_control, an
  extension to the Solaris file format to allow specification of policy
  persistent flags.
- Update audump to print the audit_control policy field.
- Update auditd to read the audit_control policy field and set the kernel
  policy to match it when configuring/reconfiguring.  Remove the -s and -h
  arguments as these policies are now set via the configuration file.  If a
  policy line is not found in the configuration file, continue with the
  current default of setting AUDIT_CNT.
- Fix bugs in the parsing of large execve(2) arguments and environmental
  variable tokens; increase maximum parsed argument and variable count.
- configure now detects strlcat(), used by policy-related functions.
- Reference token and record sample files added to test tree.

Obtained from:	TrustedBSD Project
2006-09-21 07:07:33 +00:00
..
bin Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
bsm Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
compat Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
config Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
etc Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
libbsm Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
man Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
modules Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
test Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
tools Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
aclocal.m4 Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 5: 2006-03-04 16:45:52 +00:00
autogen.sh Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 5: 2006-03-04 16:45:52 +00:00
CHANGELOG CVS import OpenBSM 1.0 alpha 4: 2006-02-11 00:39:23 +00:00
configure Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
configure.ac Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
HISTORY Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
LICENSE Initial vendor import of the TrustedBSD OpenBSM distribution, version 2006-01-31 19:40:12 +00:00
Makefile Initial vendor import of the TrustedBSD OpenBSM distribution, version 2006-01-31 19:40:12 +00:00
Makefile.am Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 6: 2006-06-05 10:52:12 +00:00
Makefile.in Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 6: 2006-06-05 10:52:12 +00:00
README Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
TODO Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00
VERSION Vendor import of OpenBSM 1.0 alpha 11, with the following change history 2006-09-21 07:07:33 +00:00

OpenBSM 1.0

  Introduction

OpenBSM provides an open source implementation of Sun's BSM Audit API. 
Originally created under contract to Apple Computer by McAfee Research, 
this implementation is now maintained by volunteers and the generous 
contribution of several organizations.  Coupled with a kernel audit 
implementation, OpenBSM can be used to maintain system audit streams, and 
is a foundation for an Audit-enabled system.

  Contents

OpenBSM consists of several directories:

    bin/           Audit-related command line tools
    bsm/           System include files for BSM
    etc/           Sample /etc/security configuration files
    libbsm/        Implementation of BSM library interfaces and man pages
    man/           System call and configuration file man pages

OpenBSM currently builds on FreeBSD and Darwin.  With Makefile adjustment
and minor tweaks, it should build without problems on a broad range of
POSIX-like systems.

  Building

OpenBSM is currently built using autoconf and automake, which should allow
for building on a range of operating systems, including FreeBSD, Mac OS X,
and Linux.  Depending on the availability of audit facilities in the
underlying operating system, some components that depend on kernel audit
support are built conditionally.  Typically, build will be performed using

    ./configure
    make

To install, use:

    make install

You may wish to specify that the OpenBSM components not be installed in the
base system, rather in a specific directory.  This may be done using the
--prefix argument to configure.  If installing to a specific directory,
remember to update your library path so that running tools from that
directory the correct libbsm is used:

    ./configure --prefix=/home/rwatson/openbsm
    make
    make install
    LD_LIBRARY_PATH=/home/rwatson/openbsm/libbsm ; export LD_LIBRARY_PATH

You will need to manually propagate openbsm/etc/* into /etc on your system;
this is not done automatically so as to avoid disrupting the current
configuration.  Currently, the locations of these files is not
configurable.

  Credits

The following organizations and individuals have contributed substantially 
to the development of OpenBSM:

    Apple Computer, Inc.
    McAfee Research, McAfee, Inc.
    SPARTA, Inc.
    Robert Watson
    Wayne Salamon
    Suresh Krishnaswamy
    Kevin Van Vechten
    Tom Rhodes
    Wojciech Koszek
    Chunyang Yuan
    Poul-Henning Kamp
    Christian Brueffer
    Olivier Houchard
    Christian Peron
    Martin Fong
    Pawel Worach
    Martin Englund

In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel
Software's FlexeLint tool were used to identify a number of bugs in the
OpenBSM implementation.

  Contributions

The TrustedBSD Project would appreciate the contribution of bug fixes, 
enhancements, etc, under identically or substantially similar licenses to 
those present on the remainder of the OpenBSM source code.

  Location

Information on OpenBSM may be found on the OpenBSM home page:

    http://www.OpenBSM.org/

Information on TrustedBSD may be found on the TrustedBSD home page:

    http://www.TrustedBSD.org/

$P4: //depot/projects/trustedbsd/openbsm/README#19 $