FYI, I have just completed the merge of the OpenBSM 1.0 alpha 12 release to RELENG_6. This is very likely the version of OpenBSM that will ship in 6.2-RELEASE. Most of the changes are bug fixes based on the feedback from users (thanks!), but there are a couple of minor features. The four important ones are: - extensions to the /etc/security/audit_control file format to allow specification of policy flags persistently there (such as the argv and envv flags, which control the level of auditing for execve(2) events), - the filesz paramater, which controls automated rotation of the audit log based on file size, and - A tweak to the audit_user(5) invocation event set to include an event for audit log rotate. This makes it easy to do things like configure automatic compression of archiving of terminated trails, etc. - auditreduce can now filter paths using regular expressions, not just simple string matching. Please report any bugs/problems. The above/below changes will appear in 6.2-BETA2, and should already be available via cvsup. Thanks, Robert N M Watson Computer Laboratory University of Cambridge ---------- Forwarded message ---------- Date: Fri, 29 Sep 2006 22:41:55 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/contrib/openbsm HISTORY TODO VERSION configure configure.ac src/contrib/openbsm/bin/audit audit.c src/contrib/openbsm/bin/auditd audit_warn.c auditd.8 auditd.c auditd.h src/contrib/openbsm/bin/auditreduce auditreduce.1 ... rwatson 2006-09-29 22:41:55 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) contrib/openbsm HISTORY TODO VERSION configure configure.ac contrib/openbsm/bin/audit audit.c contrib/openbsm/bin/auditd audit_warn.c auditd.8 auditd.c auditd.h contrib/openbsm/bin/auditreduce auditreduce.1 auditreduce.c auditreduce.h contrib/openbsm/bsm libbsm.h contrib/openbsm/config config.h config.h.in contrib/openbsm/etc audit_control audit_event contrib/openbsm/libbsm au_control.3 au_open.3 bsm_control.c bsm_io.c bsm_token.c libbsm.3 contrib/openbsm/man audit_control.5 auditon.2 contrib/openbsm/tools audump.c Added files: (Branch: RELENG_6) contrib/openbsm/compat strlcat.h contrib/openbsm/test/reference arg32_record arg32_token data_record data_token file_record file_token header32_token in_addr_record in_addr_token ip_record ip_token ipc_record ipc_token iport_record iport_token opaque_record opaque_token path_record path_token process32_record process32_token process32ex_record process32ex_token return32_record return32_token seq_record seq_token subject32_record subject32_token subject32ex_record subject32ex_token-IPv4 subject32ex_token-IPv6 text_record text_token trailer_token contrib/openbsm/test/samples execve-long-args.trail Log: Merge OpenBSM 1.0 alpha 12 from HEAD to RELENG_6, which includes a broad range of bug fixes made as a result of reports on 6.x, as well as some minor enhancements: OpenBSM 1.0 alpha 12 - Correct bug in auditreduce which prevented the -c option from working correctly when the user specifies to process successful or failed events. The problem stemmed from not having access to the return token at the time the initial preselection occurred, but now a second preselection process occurs while processing the return token. - getacfilesz(3) API added to read new audit_control(5) filesz setting, which auditd(8) now sets the kernel audit trail rotation size to. - auditreduce(1) now uses stdin if no file names are specified on the command line; this was the documented behavior previously, but it was not implemented. Be more specific in auditreduce(1)'s examples section about what might be done with the output of auditreduce. - Add audit_warn(5) closefile event so that administrators can hook termination of an audit trail file. For example, this might be used to compress the trail file after it is closed. - auditreduce(1) now uses regular expressions for pathname matching. Users can now supply one or more (comma delimited) regular expressions for searching the pathnames. If one of the regular expressions is prefixed with a tilde (~), and a path matches, it will be excluded from the search results. 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. Approved by: re (kensmith) Revision Changes Path 1.1.1.5.2.2 +56 -1 src/contrib/openbsm/HISTORY 1.1.1.3.2.2 +3 -1 src/contrib/openbsm/TODO 1.1.1.6.2.2 +1 -1 src/contrib/openbsm/VERSION 1.1.1.4.2.2 +2 -2 src/contrib/openbsm/bin/audit/audit.c 1.1.1.2.2.2 +16 -1 src/contrib/openbsm/bin/auditd/audit_warn.c 1.1.1.2.2.2 +14 -8 src/contrib/openbsm/bin/auditd/auditd.8 1.1.1.7.2.2 +101 -42 src/contrib/openbsm/bin/auditd/auditd.c 1.1.1.2.2.2 +4 -2 src/contrib/openbsm/bin/auditd/auditd.h 1.1.1.3.2.2 +36 -7 src/contrib/openbsm/bin/auditreduce/auditreduce.1 1.1.1.3.2.2 +103 -17 src/contrib/openbsm/bin/auditreduce/auditreduce.c 1.1.1.1.2.2 +8 -1 src/contrib/openbsm/bin/auditreduce/auditreduce.h 1.1.1.6.2.2 +22 -7 src/contrib/openbsm/bsm/libbsm.h 1.1.1.1.2.1 +66 -0 src/contrib/openbsm/compat/strlcat.h (new) 1.3.2.2 +7 -4 src/contrib/openbsm/config/config.h 1.1.1.3.2.2 +3 -0 src/contrib/openbsm/config/config.h.in 1.1.1.5.2.2 +13 -12 src/contrib/openbsm/configure 1.1.1.5.2.2 +3 -3 src/contrib/openbsm/configure.ac 1.2.2.2 +4 -2 src/contrib/openbsm/etc/audit_control 1.4.2.2 +14 -7 src/contrib/openbsm/etc/audit_event 1.1.1.2.2.2 +47 -4 src/contrib/openbsm/libbsm/au_control.3 1.1.1.1.2.2 +6 -4 src/contrib/openbsm/libbsm/au_open.3 1.1.1.1.2.2 +310 -69 src/contrib/openbsm/libbsm/bsm_control.c 1.1.1.4.2.2 +10 -4 src/contrib/openbsm/libbsm/bsm_io.c 1.1.1.7.2.2 +1 -2 src/contrib/openbsm/libbsm/bsm_token.c 1.1.1.3.2.2 +12 -4 src/contrib/openbsm/libbsm/libbsm.3 1.1.1.2.2.2 +69 -2 src/contrib/openbsm/man/audit_control.5 1.1.1.2.2.2 +2 -2 src/contrib/openbsm/man/auditon.2 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/arg32_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/arg32_token (new) 1.1.1.1.2.1 +3 -0 src/contrib/openbsm/test/reference/data_record (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/data_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/file_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/file_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/header32_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/in_addr_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/in_addr_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/ip_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/ip_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/ipc_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/ipc_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/iport_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/iport_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/opaque_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/opaque_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/path_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/path_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/process32_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/process32_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/process32ex_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/process32ex_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/return32_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/return32_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/seq_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/seq_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/subject32_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/subject32_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/subject32ex_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/subject32ex_token-IPv4 (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/subject32ex_token-IPv6 (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/reference/text_record (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/text_token (new) 1.1.1.1.2.1 +1 -0 src/contrib/openbsm/test/reference/trailer_token (new) 1.1.1.1.2.1 +2 -0 src/contrib/openbsm/test/samples/execve-long-args.trail (new) 1.1.1.2.2.2 +13 -3 src/contrib/openbsm/tools/audump.c