Commit Graph

36 Commits

Author SHA1 Message Date
rwatson
3ea08baaf6 Note removal of certain contrib/openbsm/bsm include files from
FreeBSD development branches, they exist only in the vendor branch.

Obtained from:	TrustedBSD Project
2006-09-02 09:56:28 +00:00
rwatson
e86b2a5131 This commit was generated by cvs2svn to compensate for changes in r161863,
which included commits to RCS files with non-trunk default branches.
2006-09-02 09:37:14 +00:00
rwatson
24713adf43 Vendor import of OpenBSM 1.0 alpha 10, with the following changes:
- auditd now generates complete audit records for its events, as required for
  application-submitted audit records in the the FreeBSD kernel audit
  implementation.

This also restores contrib/openbsm/bsm/audit_record to the vendor version
after the build fixes previously committed; however, this file is not used
in the build.

Obtained from:	TrustedBSD Project
2006-09-02 09:37:14 +00:00
rwatson
7dd78d9e52 Back out imp's quick build fix for OpenBSM now that the prototypes and
functions are in sync between the kernel and user space.

This restores bsm_token.c as found in OpenBSM 1.0 alpha 9.
2006-09-01 15:47:07 +00:00
rwatson
d7c02001bc This commit was generated by cvs2svn to compensate for changes in r161818,
which included commits to RCS files with non-trunk default branches.
2006-09-01 15:47:07 +00:00
rwatson
3d2ffbe140 Remove duplicated include files from HEAD that appear in both
contrib/openbsm/bsm and sys/bsm.  This will help avoid triggering
problems due to an inconsistent include order between the base and
lib32 builds.  We will continue to import these files on the vendor
branch.  Files used purely in user space (audit_uevents.h) are not
removed.

Suggested by:	ru
2006-09-01 04:58:39 +00:00
imp
1b7c0c7165 Import on vendor branch two files that have been tweaked to unbreak
the build.  The openbsm folks are free to fix it in any other way they
see fit once they resurface.

Basically, make everything always be const char **, even though const
char ** usually should be 'const char * const *' in most cases.  This
makes the three different definitions consistant and allows world to
build.
2006-08-28 17:26:38 +00:00
imp
603e2aafcd This commit was generated by cvs2svn to compensate for changes in r161701,
which included commits to RCS files with non-trunk default branches.
2006-08-28 17:26:38 +00:00
rwatson
61b3c1383b Update FreeBSD upgrade notes for OpenBSM.
Obtained from:	TrustedBSD Project
2006-08-26 10:35:54 +00:00
rwatson
8846902a40 Update for OpenBSM 1.0 alpha 9.
Obtained from:	TrustedBSD Project
2006-08-26 08:12:17 +00:00
rwatson
8eb051b933 Resolove conflicts from OpenBSM 1.0 alpha 9 into audit_event.
Obtained from:	TrustedBSD Project
2006-08-26 08:08:47 +00:00
rwatson
3dabba580b Vendor import of OpenBSM 1.0 alpha 9, with the following change history
notes since the last import:

OpenBSM 1.0 alpha 9

- Rename many OpenBSM-specific constants and API elements containing the
  strings "BSM" and "bsm" to "AUDIT" and "audit", observing that this is true
  for almost all existing constants and APIs.
- Instead of passing a per-instance cookie directly into all audit filter
  APIs, pass in the audit filter daemon state pointer, which is then used by
  the module using an audit_filter_{get,set}cookie() API.  This will allow
  future service APIs provided by the filter daemon to maintain their own
  state -- for example, per-module preselection state.

OpenBSM 1.0 alpha 8

- Correct typo in definition of AUR_INT.
- Adopt OpenSolaris constant values for AUDIT_* configuration flags.
- Arguments to au_to_exec_args() and au_to_exec_env() no longer const.
- Add kernel versions of au_to_exec_args() and au_to_exec_env().
- Fix exec argument type that is printed for env strings from 'arg' to 'env'.
- New OpenBSM token version number assigned, constants added for other
  commonly seen version numbers.
- OpenBSM-specific events assigned numbers in the 43xxx range to avoid future
  collisions with Solaris.  Darwin events renamed to AUE_DARWIN_foo, as they
  are now deprecated numberings.
- autoconf now detects clock_gettime(), which is not available on Darwin.
- praudit output fixes relating to arg32 and arg64 tokens.
- Maximum record size updated to 64k-1 to match Solaris record size limit.
- Various style and comment cleanups in include files.

This is an MFC candidate to RELENG_6.

Obtained from:	TrustedBSD Project
2006-08-26 08:04:15 +00:00
rwatson
d2770d13ee This commit was generated by cvs2svn to compensate for changes in r161630,
which included commits to RCS files with non-trunk default branches.
2006-08-26 08:04:15 +00:00
rwatson
e3f66d999d Resolve conflicts from OpenBSM 1.0 alpha 7 import.
Obtained from:	TrustedBSD Project
2006-06-27 18:09:54 +00:00
rwatson
02d6c5b525 Vendor import of OpenBSM 1.0 alpha 7, with the following change history
notes:

- Adopted Solaris-compatible format for subject32_ex and subject64_ex
  tokens, which previously did not correctly implement variable length
  address storage.
- Prefer inttypes.h to stdint.h; enhance queue.h detection to test for
  TAILQ_FOREACH_SAFE(), which is present in recent BSD queue.h's, but not
  older ones.  OpenBSM now builds on some FreeBSD 4.x version.
- New event types for extended attributes, ACLs, and scheduling.

Obtained from:	TrustedBSD Project
2006-06-27 18:06:41 +00:00
rwatson
8dc785807f This commit was generated by cvs2svn to compensate for changes in r159985,
which included commits to RCS files with non-trunk default branches.
2006-06-27 18:06:41 +00:00
rwatson
5aa3857899 Modify import instructions to include "-n" in the sample command line for
the CVS import, and suggest removing it for the real import, rather than
suggesting it for testing.  This will hopefully prevent me (and others)
from making errors.
2006-06-27 17:55:38 +00:00
rwatson
1c26f878c2 Regenerate config.h from OpenBSM 1.0 alpha 6 import.
Obtained from:	TrustedBSD Project
2006-06-05 11:06:32 +00:00
rwatson
f7669e6417 Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 6:
- Use AU_TO_WRITE and AU_NO_TO_WRITE for the 'keep' argument to au_close();
  previously we used hard-coded 0 and 1 values.
- Add man page for au_open(), au_write(), au_close(), and
  au_close_buffer().
- Support a more complete range of data types for the arbitrary data token:
  add AUR_CHAR (alias to AUR_BYTE), remove AUR_LONG, add AUR_INT32 (alias
  to AUR_INT), add AUR_INT64.
- Add au_close_token(), which allows writing a single token_t to a memory
  buffer.  Not likely to be used much by applications, but useful for
  writing test tools.
- Modify au_to_file() so that it accepts a timeval in user space, not just
  kernel -- this is not a Solaris BSM API so can be modified without
  causing compatibility issues.
- Define a new API, au_to_header32_tm(), which adds a struct timeval
  argument to the ordinary au_to_header32(), which is now implemented by
  wrapping au_to_header32_tm() and calling gettimeofday().  #ifndef KERNEL
  the APIs that invoke gettimeofday(), rather than having a variable
  definition.  Don't try to retrieve time zone information using
  gettimeofday(), as it's not needed, and introduces possible failure
  modes.
- Don't perform byte order transformations on the addr/machine fields of
  the terminal ID that appears in the process32/subject32 tokens.  These
  are assumed to be IP addresses, and as such, to be in network byte
  order.
- Universally, APIs now assume that IP addresses and ports are provided
  in network byte order.  APIs now generally provide these types in
  network byte order when decoding.
- Beginnings of an OpenBSM test framework can now be found in openbsm/test.
  This code is not built or installed by default.
- auditd now assigns more appropriate syslog levels to its debugging and
  error information.
- Support for audit filters introduced: audit filters are dynamically
  loaded shared objects that run in the context of a new daemon,
  auditfilterd.  The daemon reads from an audit pipe and feeds both BSM and
  parsed versions of records to shared objects using a module API.  This
  will provide a framework for the writing of intrusion detection services.
- New utility API, audit_submit(), added to capture common elements of audit
  record submission for many applications.

Obtained from:	TrustedBSD Project
2006-06-05 10:52:12 +00:00
rwatson
4c355f6b7d This commit was generated by cvs2svn to compensate for changes in r159248,
which included commits to RCS files with non-trunk default branches.
2006-06-05 10:52:12 +00:00
rwatson
b8703f4120 Take contrib/openbsm/etc configuration files off the vendor branch in
order to add $FreeBSD$ tags, which helps mergemaster better manage
updating them.

Requested by:	several
Obtained from:	TrustedBSD Project
2006-03-26 01:44:35 +00:00
rwatson
6b00bc1c16 Fix spelling error.
Submitted by:	remko
2006-03-05 13:30:37 +00:00
rwatson
67e8784696 Delete file from FreeBSD vendor branch of OpenBSM that has been removed
from the TrustedBSD OpenBSM distribution.

Obtained from:	TrustedBSD Project
2006-03-04 17:14:22 +00:00
rwatson
736123b8c2 Update FreeBSD import instructions for OpenBSM based on the new autoconf
and automake OpenBSM world order.

Obtained from:	TrustedBSD Project
2006-03-04 16:50:04 +00:00
rwatson
5f5f9b26a6 Add generated config.h for FreeBSD.
Obtained from:	TrustedBSD Project
2006-03-04 16:49:24 +00:00
rwatson
ab4767c6f6 Remove files deleted in the OpenBSM distribution from the OpenBSM
vendor branch.

Obtained from:	TrustedBSD Project
2006-03-04 16:48:36 +00:00
rwatson
ab71945909 Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 5:
- Update install notes to indicate /etc files are to be installed manually.
- On systems without LOG_SECURITY, use LOG_AUTH.
- Convert to autoconf/automake in order to move to a more portable (not
  BSD-specific) build infrastructure, and more easy conditional building of
  components.  Currently, the primary feature loss is that automake does
  not have native support for manual symlinks.  This will be addressed in a
  future OpenBSM release.
- Add compat/queue.h, to be used on systems dated BSD queue macro libraries
  (as found on Linux).
- Rename CHANGELOG to HISTORY, as our change log doesn't follow some of the
  existing conventions for a CHANGELOG.
- Some private data structures moved from audit.h to audit_internal.h to
  prevent inappropriate use by applications and name space pollution.
- Improved detection and use of endian macros using autoconf.
- Avoid non-portable use of struct in6_addr, which is largely opaque.
- Avoid leaking BSD kernel socket related token code to user space in
  bsm_token.c.
- Teach System V IPC calls to look for Linux naming variations for certain
  struct ipc_perm fields.
- Test for audit system calls, and if not present, don't build
  bsm_wrappers.c, bsm_notify.c, audit(8), and auditd(8), which rely on
  those system calls.
- au_close() is not implemented on systems that don't have audit system
  calls, but au_close_buffer() is.
- Work around missing BSDisms in bsm_wrapper.c.
- Fix nested includes so including libbsm.h in an application on Linux
  picks up the necessary definitions.

Obtained from:	TrustedBSD Project
2006-03-04 16:45:52 +00:00
rwatson
a8790234d5 This commit was generated by cvs2svn to compensate for changes in r156283,
which included commits to RCS files with non-trunk default branches.
2006-03-04 16:45:52 +00:00
rwatson
0b2cf89651 CVS import OpenBSM 1.0 alpha 4:
- Remove "audit" user example from audit_user, as it's not present on most
  systems.
- Add cannot_audit() function non-Darwin systems that wraps auditon();
  required by OpenSSH BSM support.  Convert Darwin cannot_audit() into a
  function rather than a macro.
- Library build fixed on Darwin following include file tweaks.  The native
  Darwin sys/audit.h conflicts with bsm/audit.h due to duplicate types, so
  for now we force bsm_wrappers.c to not perform a nested include of
  sys/audit.h.

Obtained from:	TrustedBSD Project
2006-02-11 00:39:23 +00:00
rwatson
c1c4403ced This commit was generated by cvs2svn to compensate for changes in r155518,
which included commits to RCS files with non-trunk default branches.
2006-02-11 00:39:23 +00:00
rwatson
4fae3f6a4a Vendor branch import of OpenBSM 1.0 alpha 3:
- Man page formatting, cross reference, mlinks, and accuracy improvements.
- auditd and tools now compile and run on FreeBSD/arm.
- auditd will now fchown() the trail file to the audit review group, if
  defined at compile-time.
- Added AUE_SYSARCH for FreeBSD.
- Definition of AUE_SETFSGID fixed for Linux.

Many thanks to:	brueffer, cognet
Obtained from:	TrustedBSD Project
2006-02-06 00:06:04 +00:00
rwatson
6d05b5ade5 This commit was generated by cvs2svn to compensate for changes in r155364,
which included commits to RCS files with non-trunk default branches.
2006-02-06 00:06:04 +00:00
rwatson
57234d7f8c Correct typo in sample CVS import line: must specify full path to the
CVS repository on repoman.
2006-02-06 00:03:39 +00:00
rwatson
1f5e50bc47 Add a brief FREEBSD-upgrade file to provide direction on how to perform
OpenBSM upgrades.  Right now, this is very easy, but in the future it
will probably become more complicated.
2006-02-04 18:29:51 +00:00
rwatson
1aa0e1022d Import OpenBSM 1.0 alpha 2, a minor update on alpha 1:
- Man page formatting improvements.
- A number of new audit event identifiers for FreeBSD, Linux, and POSIX.1b
  events.
- Remove 'tfm' class, unused in OpenBSM.

Obtained from:	TrustedBSD Project
2006-02-04 13:17:48 +00:00
rwatson
3fdf6fa244 Initial vendor import of the TrustedBSD OpenBSM distribution, version
1.0 alpha 1, an implementation of the documented Sun Basic Security
Module (BSM) Audit API and file format, as well as local extensions to
support the Mac OS X and FreeBSD operating systems.  Also included are
command line tools for audit trail reduction and conversion to text,
as well as documentation of the commands, file format, and APIs.  This
distribution is the foundation for the TrustedBSD Audit implementation,
and is a pre-release.

This is the first in a series of commits to introduce support for
Common Criteria CAPP security event audit support.

This software has been made possible through the generous
contributions of Apple Computer, Inc., SPARTA, Inc., as well as
members of the TrustedBSD Project, including Wayne Salamon <wsalamon>
and Tom Rhodes <trhodes>.  The original OpenBSM implementation was
created by McAfee Research under contract to Apple Computer, Inc., as
part of their CC CAPP security evaluation.

Many thanks to:	wsalamon, trhodes
Obtained from:	TrustedBSD Project
2006-01-31 19:40:12 +00:00