OpenBSM - Open Source Basic Security Module (BSM) Audit Implementation
OpenBSM は、Sun の Basic Security Module にもとづくセキュリティイベントの監査フォーマットと API を実装した、オープンソースのプロジェクトである。現在は、FreeBSD の The TrustedBSD プロジェクト配下のプロジェクトとしてメンテナンスされている。もともとは McAfee Research がアップルコンピュータのために作ったフォーマットだったが、現在はオープンソースとして色々な団体の有志が加わってメンテナンスされている。
目次 |
幾つかの用語
以下のような用語が使われている。
- イベント(事象): 監査可能なイベントとは、audit のサブシステムがログを記録している事象のことである。セキュリティに関連するイベントの例としては、ファイルの作成、ネットワーク接続の確立、あるいはユーザのログインといったものがある。イベントは「帰属可能」であるか「帰属不能」であるかのどちらかであって、前者は認証されたユーザにまで追跡可能であることを意味しており、後者は認証されたユーザに帰属させられないという意味である。帰属不能なイベントの例としては、ログインのプロセスで認証前に起きる何らかのイベント、間違ったパスワードで認証を試みるイベントなどが当たる。
- クラス: イベントのクラスは、関係のあるイベントをまとめて名前をつけたものであり、選択式(selection expressions) で使う。よく使われるクラスには、"fc(ファイルの作成)", "ex(実行)", それから "lo(ログイン、ログアウト)" がある。
- レコード: レコードは、セキュリティ・イベンtのを記録している監査ログの1単位(1エントリ)である。レコードにはイベントの種別、何かをしたイベントの主体(ユーザ)に関する情報、日付や時刻の情報、イベントの対象や引数として渡された値、そして何かをした結果としての成否が含まれる。
- 証跡: 監査証跡あるいはログファイルは、セキュリティイベントを記録した一連の監査レコードである。たいていの証跡は、おおよそイベントが完了した時刻の順番で並んでいる。但し監査証跡へのコミットを許されているのは、認証プロセスのみである。
- 選択式: 選択式は、接頭辞と監査イベントのクラス名のリストを含む文字列であり、イベントにマッチさせるために使う。
- 予備選択プロセス: システムがイベントを特定する際に、監査レコードが記述するイベントのなかで無関係なものを除外して、管理者がほしい監査レコードだけを抽出するプロセスのこと。予備選択の設定は一連の選択式で行い、それによってどのユーザどういうイベントのクラスを監査すべきか特定したり、認証されたプロセスとそうでないプロセスに適用されるグローバル設定にも効力をもつ。
- 縮減プロセス: 既存の監査証跡から、あとで保存したり印刷したり分析するために、あらかじめ選んでおいて記録すること。ちょうど、監査証跡から目的外の監査レコードをあらかじめ取り除いておくようなものである。縮減プロセスを使って、管理者は監査データの保存ポリシーを実装できる。例えば、詳細な監査証跡は一ヶ月のあいだ保存できるかもしれないが、その分量を保管の目的でログイン情報だけに縮減できる。
インストール
またまた例によって FreeBSD 8.2 release 上での操作を想定する。
freebsd# cd /usr/ports/security/openbsm
freebsd# cat pkg-descr
OpenBSM is an open source implementation of Sun's Basic Security Module (BSM)
Audit API and file format. BSM, the de facto industry standard for Audit,
describes a set of system call and library interfaces for managing audit
records, as well as a token stream file format that permits extensible and
generalized audit trail processing. OpenBSM extends the BSM API and file
format in a number of ways to support features present in the Mac OS X and
FreeBSD operating systems, such as Mach task interfaces, sendfile(), and
Linux system calls present in the FreeBSD Linux emulation layer.
WWW: http://www.trustedbsd.org/openbsm.html
- Florent Thoumie
flz@FreeBSD.org
freebsd# make
===> Vulnerability check disabled, database not found
===> License check disabled, port has not defined LICENSE
=> openbsm-1.1-p2.tgz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://www.trustedbsd.org/downloads/openbsm-1.1-p2.tgz
openbsm-1.1-p2.tgz 0% of 533 kB 0 Bpsopenbsm-1.1-p2.tgz 5% of 533 kB 58 kBpsopenbsm-1.1-p2.tgz 62% of 533 kB 212 kBpsopenbsm-1.1-p2.tgz 100% of 533 kB 264 kBps
===> Extracting for openbsm-1.1.p2
=> SHA256 Checksum OK for openbsm-1.1-p2.tgz.
===> Patching for openbsm-1.1.p2
===> Configuring for openbsm-1.1.p2
checking whether to enable maintainer-specific portions of Makefiles... no
checking for mig... no
checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking build system type... i386-portbld-freebsd8.2
checking host system type... i386-portbld-freebsd8.2
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking how to run the C preprocessor... cpp
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking how to run the C++ preprocessor... c++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... (cached) 262144
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... freebsd8.2 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by c++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC
checking if c++ PIC flag -fPIC works... yes
checking if c++ static flag -static works... yes
checking if c++ supports -c -o file.o... yes
checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... freebsd8.2 ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking dependency style of c++... gcc3
checking for library containing dlsym... none required
checking for library containing clock_gettime... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking endian.h usability... no
checking endian.h presence... no
checking for endian.h... no
checking mach/mach.h usability... no
checking mach/mach.h presence... no
checking for mach/mach.h... no
checking machine/endian.h usability... yes
checking machine/endian.h presence... yes
checking for machine/endian.h... yes
checking sys/endian.h usability... yes
checking sys/endian.h presence... yes
checking for sys/endian.h... yes
checking for stdint.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for uid_t in sys/types.h... yes
checking for pid_t... yes
checking for size_t... yes
checking for struct stat.st_rdev... yes
checking for struct ipc_perm.__key... no
checking for struct ipc_perm._key... no
checking for struct ipc_perm.__seq... no
checking for struct ipc_perm._seq... no
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for unistd.h... (cached) yes
checking for working chown... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for alarm... yes
checking for working mktime... yes
checking return type of signal handlers... void
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether stat accepts an empty string... no
checking for strftime... yes
checking for bzero... yes
checking for clock_gettime... yes
checking for ftruncate... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for memset... yes
checking for strchr... yes
checking for strerror... yes
checking for strlcat... yes
checking for strlcpy... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoul... yes
checking for pthread_mutex_lock... yes
checking for /usr/include/mach/audit_triggers.defs... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bin/Makefile
config.status: creating bin/audit/Makefile
config.status: creating bin/auditd/Makefile
config.status: creating bin/auditfilterd/Makefile
config.status: creating bin/auditreduce/Makefile
config.status: creating bin/praudit/Makefile
config.status: creating bsm/Makefile
config.status: creating libauditd/Makefile
config.status: creating libbsm/Makefile
config.status: creating modules/Makefile
config.status: creating modules/auditfilter_noop/Makefile
config.status: creating man/Makefile
config.status: creating sys/Makefile
config.status: creating sys/bsm/Makefile
config.status: creating test/Makefile
config.status: creating test/bsm/Makefile
config.status: creating tools/Makefile
config.status: creating config/config.h
config.status: executing depfiles commands
===> Building for openbsm-1.1.p2
Making all in bsm
Making all in libauditd
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT auditd_lib.lo -MD -MP -MF .deps/auditd_lib.Tpo -c -o auditd_lib.lo auditd_lib.c
mkdir .libs
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT auditd_lib.lo -MD -MP -MF .deps/auditd_lib.Tpo -c auditd_lib.c -fPIC -DPIC -o .libs/auditd_lib.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT auditd_lib.lo -MD -MP -MF .deps/auditd_lib.Tpo -c auditd_lib.c -o auditd_lib.o >/dev/null 2>&1
mv -f .deps/auditd_lib.Tpo .deps/auditd_lib.Plo
/bin/sh ../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o libauditd.la -rpath /usr/local/lib auditd_lib.lo
cc -shared .libs/auditd_lib.o -Wl,-soname -Wl,libauditd.so.0 -o .libs/libauditd.so.0
(cd .libs && rm -f libauditd.so && ln -s libauditd.so.0 libauditd.so)
(cd .libs && rm -f libauditd.so && ln -s libauditd.so.0 libauditd.so)
ar cru .libs/libauditd.a auditd_lib.o
ranlib .libs/libauditd.a
creating libauditd.la
(cd .libs && rm -f libauditd.la && ln -s ../libauditd.la libauditd.la)
Making all in libbsm
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_audit.lo -MD -MP -MF .deps/bsm_audit.Tpo -c -o bsm_audit.lo bsm_audit.c
mkdir .libs
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_audit.lo -MD -MP -MF .deps/bsm_audit.Tpo -c bsm_audit.c -fPIC -DPIC -o .libs/bsm_audit.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_audit.lo -MD -MP -MF .deps/bsm_audit.Tpo -c bsm_audit.c -o bsm_audit.o >/dev/null 2>&1
mv -f .deps/bsm_audit.Tpo .deps/bsm_audit.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_class.lo -MD -MP -MF .deps/bsm_class.Tpo -c -o bsm_class.lo bsm_class.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_class.lo -MD -MP -MF .deps/bsm_class.Tpo -c bsm_class.c -fPIC -DPIC -o .libs/bsm_class.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_class.lo -MD -MP -MF .deps/bsm_class.Tpo -c bsm_class.c -o bsm_class.o >/dev/null 2>&1
mv -f .deps/bsm_class.Tpo .deps/bsm_class.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_control.lo -MD -MP -MF .deps/bsm_control.Tpo -c -o bsm_control.lo bsm_control.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_control.lo -MD -MP -MF .deps/bsm_control.Tpo -c bsm_control.c -fPIC -DPIC -o .libs/bsm_control.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_control.lo -MD -MP -MF .deps/bsm_control.Tpo -c bsm_control.c -o bsm_control.o >/dev/null 2>&1
mv -f .deps/bsm_control.Tpo .deps/bsm_control.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_domain.lo -MD -MP -MF .deps/bsm_domain.Tpo -c -o bsm_domain.lo bsm_domain.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_domain.lo -MD -MP -MF .deps/bsm_domain.Tpo -c bsm_domain.c -fPIC -DPIC -o .libs/bsm_domain.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_domain.lo -MD -MP -MF .deps/bsm_domain.Tpo -c bsm_domain.c -o bsm_domain.o >/dev/null 2>&1
mv -f .deps/bsm_domain.Tpo .deps/bsm_domain.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_errno.lo -MD -MP -MF .deps/bsm_errno.Tpo -c -o bsm_errno.lo bsm_errno.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_errno.lo -MD -MP -MF .deps/bsm_errno.Tpo -c bsm_errno.c -fPIC -DPIC -o .libs/bsm_errno.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_errno.lo -MD -MP -MF .deps/bsm_errno.Tpo -c bsm_errno.c -o bsm_errno.o >/dev/null 2>&1
mv -f .deps/bsm_errno.Tpo .deps/bsm_errno.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_event.lo -MD -MP -MF .deps/bsm_event.Tpo -c -o bsm_event.lo bsm_event.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_event.lo -MD -MP -MF .deps/bsm_event.Tpo -c bsm_event.c -fPIC -DPIC -o .libs/bsm_event.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_event.lo -MD -MP -MF .deps/bsm_event.Tpo -c bsm_event.c -o bsm_event.o >/dev/null 2>&1
mv -f .deps/bsm_event.Tpo .deps/bsm_event.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_fcntl.lo -MD -MP -MF .deps/bsm_fcntl.Tpo -c -o bsm_fcntl.lo bsm_fcntl.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_fcntl.lo -MD -MP -MF .deps/bsm_fcntl.Tpo -c bsm_fcntl.c -fPIC -DPIC -o .libs/bsm_fcntl.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_fcntl.lo -MD -MP -MF .deps/bsm_fcntl.Tpo -c bsm_fcntl.c -o bsm_fcntl.o >/dev/null 2>&1
mv -f .deps/bsm_fcntl.Tpo .deps/bsm_fcntl.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_flags.lo -MD -MP -MF .deps/bsm_flags.Tpo -c -o bsm_flags.lo bsm_flags.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_flags.lo -MD -MP -MF .deps/bsm_flags.Tpo -c bsm_flags.c -fPIC -DPIC -o .libs/bsm_flags.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_flags.lo -MD -MP -MF .deps/bsm_flags.Tpo -c bsm_flags.c -o bsm_flags.o >/dev/null 2>&1
mv -f .deps/bsm_flags.Tpo .deps/bsm_flags.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_io.lo -MD -MP -MF .deps/bsm_io.Tpo -c -o bsm_io.lo bsm_io.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_io.lo -MD -MP -MF .deps/bsm_io.Tpo -c bsm_io.c -fPIC -DPIC -o .libs/bsm_io.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_io.lo -MD -MP -MF .deps/bsm_io.Tpo -c bsm_io.c -o bsm_io.o >/dev/null 2>&1
mv -f .deps/bsm_io.Tpo .deps/bsm_io.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_mask.lo -MD -MP -MF .deps/bsm_mask.Tpo -c -o bsm_mask.lo bsm_mask.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_mask.lo -MD -MP -MF .deps/bsm_mask.Tpo -c bsm_mask.c -fPIC -DPIC -o .libs/bsm_mask.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_mask.lo -MD -MP -MF .deps/bsm_mask.Tpo -c bsm_mask.c -o bsm_mask.o >/dev/null 2>&1
mv -f .deps/bsm_mask.Tpo .deps/bsm_mask.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_socket_type.lo -MD -MP -MF .deps/bsm_socket_type.Tpo -c -o bsm_socket_type.lo bsm_socket_type.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_socket_type.lo -MD -MP -MF .deps/bsm_socket_type.Tpo -c bsm_socket_type.c -fPIC -DPIC -o .libs/bsm_socket_type.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_socket_type.lo -MD -MP -MF .deps/bsm_socket_type.Tpo -c bsm_socket_type.c -o bsm_socket_type.o >/dev/null 2>&1
mv -f .deps/bsm_socket_type.Tpo .deps/bsm_socket_type.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_token.lo -MD -MP -MF .deps/bsm_token.Tpo -c -o bsm_token.lo bsm_token.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_token.lo -MD -MP -MF .deps/bsm_token.Tpo -c bsm_token.c -fPIC -DPIC -o .libs/bsm_token.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_token.lo -MD -MP -MF .deps/bsm_token.Tpo -c bsm_token.c -o bsm_token.o >/dev/null 2>&1
mv -f .deps/bsm_token.Tpo .deps/bsm_token.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_user.lo -MD -MP -MF .deps/bsm_user.Tpo -c -o bsm_user.lo bsm_user.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_user.lo -MD -MP -MF .deps/bsm_user.Tpo -c bsm_user.c -fPIC -DPIC -o .libs/bsm_user.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_user.lo -MD -MP -MF .deps/bsm_user.Tpo -c bsm_user.c -o bsm_user.o >/dev/null 2>&1
mv -f .deps/bsm_user.Tpo .deps/bsm_user.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_notify.lo -MD -MP -MF .deps/bsm_notify.Tpo -c -o bsm_notify.lo bsm_notify.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_notify.lo -MD -MP -MF .deps/bsm_notify.Tpo -c bsm_notify.c -fPIC -DPIC -o .libs/bsm_notify.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_notify.lo -MD -MP -MF .deps/bsm_notify.Tpo -c bsm_notify.c -o bsm_notify.o >/dev/null 2>&1
mv -f .deps/bsm_notify.Tpo .deps/bsm_notify.Plo
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_wrappers.lo -MD -MP -MF .deps/bsm_wrappers.Tpo -c -o bsm_wrappers.lo bsm_wrappers.c
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_wrappers.lo -MD -MP -MF .deps/bsm_wrappers.Tpo -c bsm_wrappers.c -fPIC -DPIC -o .libs/bsm_wrappers.o
cc -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../sys -O2 -pipe -fno-strict-aliasing -MT bsm_wrappers.lo -MD -MP -MF .deps/bsm_wrappers.Tpo -c bsm_wrappers.c -o bsm_wrappers.o >/dev/null 2>&1
mv -f .deps/bsm_wrappers.Tpo .deps/bsm_wrappers.Plo
/bin/sh ../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o libbsm.la -rpath /usr/local/lib bsm_audit.lo bsm_class.lo bsm_control.lo bsm_domain.lo bsm_errno.lo bsm_event.lo bsm_fcntl.lo bsm_flags.lo bsm_io.lo bsm_mask.lo bsm_socket_type.lo bsm_token.lo bsm_user.lo bsm_notify.lo bsm_wrappers.lo
cc -shared .libs/bsm_audit.o .libs/bsm_class.o .libs/bsm_control.o .libs/bsm_domain.o .libs/bsm_errno.o .libs/bsm_event.o .libs/bsm_fcntl.o .libs/bsm_flags.o .libs/bsm_io.o .libs/bsm_mask.o .libs/bsm_socket_type.o .libs/bsm_token.o .libs/bsm_user.o .libs/bsm_notify.o .libs/bsm_wrappers.o -Wl,-soname -Wl,libbsm.so.0 -o .libs/libbsm.so.0
(cd .libs && rm -f libbsm.so && ln -s libbsm.so.0 libbsm.so)
(cd .libs && rm -f libbsm.so && ln -s libbsm.so.0 libbsm.so)
ar cru .libs/libbsm.a bsm_audit.o bsm_class.o bsm_control.o bsm_domain.o bsm_errno.o bsm_event.o bsm_fcntl.o bsm_flags.o bsm_io.o bsm_mask.o bsm_socket_type.o bsm_token.o bsm_user.o bsm_notify.o bsm_wrappers.o
ranlib .libs/libbsm.a
creating libbsm.la
(cd .libs && rm -f libbsm.la && ln -s ../libbsm.la libbsm.la)
Making all in bin
Making all in auditfilterd
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditfilterd_conf.o -MD -MP -MF .deps/auditfilterd_conf.Tpo -c -o auditfilterd_conf.o auditfilterd_conf.c
mv -f .deps/auditfilterd_conf.Tpo .deps/auditfilterd_conf.Po
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditfilterd.o -MD -MP -MF .deps/auditfilterd.Tpo -c -o auditfilterd.o auditfilterd.c
mv -f .deps/auditfilterd.Tpo .deps/auditfilterd.Po
/bin/sh ../../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o auditfilterd auditfilterd_conf.o auditfilterd.o ../../libbsm/libbsm.la
mkdir .libs
cc -O2 -pipe -fno-strict-aliasing -o .libs/auditfilterd auditfilterd_conf.o auditfilterd.o ../../libbsm/.libs/libbsm.so -Wl,--rpath -Wl,/usr/local/lib
creating auditfilterd
Making all in auditreduce
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditreduce.o -MD -MP -MF .deps/auditreduce.Tpo -c -o auditreduce.o auditreduce.c
mv -f .deps/auditreduce.Tpo .deps/auditreduce.Po
/bin/sh ../../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o auditreduce auditreduce.o ../../libbsm/libbsm.la
mkdir .libs
cc -O2 -pipe -fno-strict-aliasing -o .libs/auditreduce auditreduce.o ../../libbsm/.libs/libbsm.so -Wl,--rpath -Wl,/usr/local/lib
creating auditreduce
Making all in praudit
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT praudit.o -MD -MP -MF .deps/praudit.Tpo -c -o praudit.o praudit.c
mv -f .deps/praudit.Tpo .deps/praudit.Po
/bin/sh ../../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o praudit praudit.o ../../libbsm/libbsm.la
mkdir .libs
cc -O2 -pipe -fno-strict-aliasing -o .libs/praudit praudit.o ../../libbsm/.libs/libbsm.so -Wl,--rpath -Wl,/usr/local/lib
creating praudit
Making all in audit
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT audit.o -MD -MP -MF .deps/audit.Tpo -c -o audit.o audit.c
mv -f .deps/audit.Tpo .deps/audit.Po
/bin/sh ../../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o audit audit.o ../../libbsm/libbsm.la
mkdir .libs
cc -O2 -pipe -fno-strict-aliasing -o .libs/audit audit.o ../../libbsm/.libs/libbsm.so -Wl,--rpath -Wl,/usr/local/lib
creating audit
Making all in auditd
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT audit_warn.o -MD -MP -MF .deps/audit_warn.Tpo -c -o audit_warn.o audit_warn.c
mv -f .deps/audit_warn.Tpo .deps/audit_warn.Po
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditd.o -MD -MP -MF .deps/auditd.Tpo -c -o auditd.o auditd.c
mv -f .deps/auditd.Tpo .deps/auditd.Po
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditd_fbsd.o -MD -MP -MF .deps/auditd_fbsd.Tpo -c -o auditd_fbsd.o auditd_fbsd.c
mv -f .deps/auditd_fbsd.Tpo .deps/auditd_fbsd.Po
/bin/sh ../../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -o auditd audit_warn.o auditd.o auditd_fbsd.o ../../libbsm/libbsm.la ../../libauditd/libauditd.la
mkdir .libs
cc -O2 -pipe -fno-strict-aliasing -o .libs/auditd audit_warn.o auditd.o auditd_fbsd.o ../../libbsm/.libs/libbsm.so ../../libauditd/.libs/libauditd.so -Wl,--rpath -Wl,/usr/local/lib
creating auditd
Making all in man
Making all in modules
Making all in auditfilter_noop
/bin/sh ../../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditfilter_noop.lo -MD -MP -MF .deps/auditfilter_noop.Tpo -c -o auditfilter_noop.lo auditfilter_noop.c
mkdir .libs
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditfilter_noop.lo -MD -MP -MF .deps/auditfilter_noop.Tpo -c auditfilter_noop.c -fPIC -DPIC -o .libs/auditfilter_noop.o
cc -DHAVE_CONFIG_H -I. -I../../config -I../.. -I../.. -I../../sys -O2 -pipe -fno-strict-aliasing -MT auditfilter_noop.lo -MD -MP -MF .deps/auditfilter_noop.Tpo -c auditfilter_noop.c -o auditfilter_noop.o >/dev/null 2>&1
mv -f .deps/auditfilter_noop.Tpo .deps/auditfilter_noop.Plo
/bin/sh ../../libtool --tag=CC --mode=link cc -O2 -pipe -fno-strict-aliasing -module -o auditfilter_noop.la -rpath /usr/local/lib auditfilter_noop.lo
cc -shared .libs/auditfilter_noop.o -Wl,-soname -Wl,auditfilter_noop.so.0 -o .libs/auditfilter_noop.so.0
(cd .libs && rm -f auditfilter_noop.so && ln -s auditfilter_noop.so.0 auditfilter_noop.so)
(cd .libs && rm -f auditfilter_noop.so && ln -s auditfilter_noop.so.0 auditfilter_noop.so)
ar cru .libs/auditfilter_noop.a auditfilter_noop.o
ranlib .libs/auditfilter_noop.a
creating auditfilter_noop.la
(cd .libs && rm -f auditfilter_noop.la && ln -s ../auditfilter_noop.la auditfilter_noop.la)
Making all in sys
Making all in bsm
freebsd# make instaiill clean
===> Installing for openbsm-1.1.p2
===> Generating temporary packing list
===> Checking if security/openbsm already installed
Making install in bsm
test -z "/usr/local/include/bsm" || ../config/install-sh -c -d "/usr/local/include/bsm"
install -o root -g wheel -m 444 'audit_filter.h' '/usr/local/include/bsm/audit_filter.h'
install -o root -g wheel -m 444 'audit_uevents.h' '/usr/local/include/bsm/audit_uevents.h'
install -o root -g wheel -m 444 'auditd_lib.h' '/usr/local/include/bsm/auditd_lib.h'
install -o root -g wheel -m 444 'libbsm.h' '/usr/local/include/bsm/libbsm.h'
Making install in libauditd
test -z "/usr/local/lib" || ../config/install-sh -c -d "/usr/local/lib"
/bin/sh ../libtool --mode=install /usr/bin/install -c -o root -g wheel 'libauditd.la' '/usr/local/lib/libauditd.la'
/usr/bin/install -c -o root -g wheel .libs/libauditd.so.0 /usr/local/lib/libauditd.so.0
(cd /usr/local/lib && { ln -s -f libauditd.so.0 libauditd.so || { rm -f libauditd.so && ln -s libauditd.so.0 libauditd.so; }; })
(cd /usr/local/lib && { ln -s -f libauditd.so.0 libauditd.so || { rm -f libauditd.so && ln -s libauditd.so.0 libauditd.so; }; })
/usr/bin/install -c -o root -g wheel .libs/libauditd.lai /usr/local/lib/libauditd.la
/usr/bin/install -c -o root -g wheel .libs/libauditd.a /usr/local/lib/libauditd.a
chmod 644 /usr/local/lib/libauditd.a
ranlib /usr/local/lib/libauditd.a
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/local/man/man3" || ../config/install-sh -c -d "/usr/local/man/man3"
install -o root -g wheel -m 444 './libauditd.3' '/usr/local/man/man3/libauditd.3'
Making install in libbsm
test -z "/usr/local/lib" || ../config/install-sh -c -d "/usr/local/lib"
/bin/sh ../libtool --mode=install /usr/bin/install -c -o root -g wheel 'libbsm.la' '/usr/local/lib/libbsm.la'
/usr/bin/install -c -o root -g wheel .libs/libbsm.so.0 /usr/local/lib/libbsm.so.0
(cd /usr/local/lib && { ln -s -f libbsm.so.0 libbsm.so || { rm -f libbsm.so && ln -s libbsm.so.0 libbsm.so; }; })
(cd /usr/local/lib && { ln -s -f libbsm.so.0 libbsm.so || { rm -f libbsm.so && ln -s libbsm.so.0 libbsm.so; }; })
/usr/bin/install -c -o root -g wheel .libs/libbsm.lai /usr/local/lib/libbsm.la
/usr/bin/install -c -o root -g wheel .libs/libbsm.a /usr/local/lib/libbsm.a
chmod 644 /usr/local/lib/libbsm.a
ranlib /usr/local/lib/libbsm.a
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/local/man/man3" || ../config/install-sh -c -d "/usr/local/man/man3"
install -o root -g wheel -m 444 './au_class.3' '/usr/local/man/man3/au_class.3'
install -o root -g wheel -m 444 './au_control.3' '/usr/local/man/man3/au_control.3'
install -o root -g wheel -m 444 './au_domain.3' '/usr/local/man/man3/au_domain.3'
install -o root -g wheel -m 444 './au_errno.3' '/usr/local/man/man3/au_errno.3'
install -o root -g wheel -m 444 './au_event.3' '/usr/local/man/man3/au_event.3'
install -o root -g wheel -m 444 './au_fcntl_cmd.3' '/usr/local/man/man3/au_fcntl_cmd.3'
install -o root -g wheel -m 444 './au_free_token.3' '/usr/local/man/man3/au_free_token.3'
install -o root -g wheel -m 444 './au_io.3' '/usr/local/man/man3/au_io.3'
install -o root -g wheel -m 444 './au_mask.3' '/usr/local/man/man3/au_mask.3'
install -o root -g wheel -m 444 './au_open.3' '/usr/local/man/man3/au_open.3'
install -o root -g wheel -m 444 './au_socket_type.3' '/usr/local/man/man3/au_socket_type.3'
install -o root -g wheel -m 444 './au_token.3' '/usr/local/man/man3/au_token.3'
install -o root -g wheel -m 444 './au_user.3' '/usr/local/man/man3/au_user.3'
install -o root -g wheel -m 444 './libbsm.3' '/usr/local/man/man3/libbsm.3'
Making install in bin
Making install in auditfilterd
test -z "/usr/local/sbin" || ../../config/install-sh -c -d "/usr/local/sbin"
/bin/sh ../../libtool --mode=install install -s -o root -g wheel -m 555 'auditfilterd' '/usr/local/sbin/auditfilterd'
install -o root -g wheel -m 555 -s .libs/auditfilterd /usr/local/sbin/auditfilterd
test -z "/usr/local/man/man8" || ../../config/install-sh -c -d "/usr/local/man/man8"
install -o root -g wheel -m 444 './auditfilterd.8' '/usr/local/man/man8/auditfilterd.8'
Making install in auditreduce
test -z "/usr/local/sbin" || ../../config/install-sh -c -d "/usr/local/sbin"
/bin/sh ../../libtool --mode=install install -s -o root -g wheel -m 555 'auditreduce' '/usr/local/sbin/auditreduce'
install -o root -g wheel -m 555 -s .libs/auditreduce /usr/local/sbin/auditreduce
test -z "/usr/local/man/man1" || ../../config/install-sh -c -d "/usr/local/man/man1"
install -o root -g wheel -m 444 './auditreduce.1' '/usr/local/man/man1/auditreduce.1'
Making install in praudit
test -z "/usr/local/sbin" || ../../config/install-sh -c -d "/usr/local/sbin"
/bin/sh ../../libtool --mode=install install -s -o root -g wheel -m 555 'praudit' '/usr/local/sbin/praudit'
install -o root -g wheel -m 555 -s .libs/praudit /usr/local/sbin/praudit
test -z "/usr/local/man/man1" || ../../config/install-sh -c -d "/usr/local/man/man1"
install -o root -g wheel -m 444 './praudit.1' '/usr/local/man/man1/praudit.1'
Making install in audit
test -z "/usr/local/sbin" || ../../config/install-sh -c -d "/usr/local/sbin"
/bin/sh ../../libtool --mode=install install -s -o root -g wheel -m 555 'audit' '/usr/local/sbin/audit'
install -o root -g wheel -m 555 -s .libs/audit /usr/local/sbin/audit
test -z "/usr/local/man/man8" || ../../config/install-sh -c -d "/usr/local/man/man8"
install -o root -g wheel -m 444 './audit.8' '/usr/local/man/man8/audit.8'
Making install in auditd
test -z "/usr/local/sbin" || ../../config/install-sh -c -d "/usr/local/sbin"
/bin/sh ../../libtool --mode=install install -s -o root -g wheel -m 555 'auditd' '/usr/local/sbin/auditd'
install -o root -g wheel -m 555 -s .libs/auditd /usr/local/sbin/auditd
test -z "/usr/local/man/man8" || ../../config/install-sh -c -d "/usr/local/man/man8"
install -o root -g wheel -m 444 './auditd.8' '/usr/local/man/man8/auditd.8'
Making install in man
test -z "/usr/local/man/man2" || ../config/install-sh -c -d "/usr/local/man/man2"
install -o root -g wheel -m 444 './audit.2' '/usr/local/man/man2/audit.2'
install -o root -g wheel -m 444 './auditctl.2' '/usr/local/man/man2/auditctl.2'
install -o root -g wheel -m 444 './auditon.2' '/usr/local/man/man2/auditon.2'
install -o root -g wheel -m 444 './getaudit.2' '/usr/local/man/man2/getaudit.2'
install -o root -g wheel -m 444 './getauid.2' '/usr/local/man/man2/getauid.2'
install -o root -g wheel -m 444 './setaudit.2' '/usr/local/man/man2/setaudit.2'
install -o root -g wheel -m 444 './setauid.2' '/usr/local/man/man2/setauid.2'
test -z "/usr/local/man/man5" || ../config/install-sh -c -d "/usr/local/man/man5"
install -o root -g wheel -m 444 './audit.log.5' '/usr/local/man/man5/audit.log.5'
install -o root -g wheel -m 444 './audit_class.5' '/usr/local/man/man5/audit_class.5'
install -o root -g wheel -m 444 './audit_control.5' '/usr/local/man/man5/audit_control.5'
install -o root -g wheel -m 444 './audit_event.5' '/usr/local/man/man5/audit_event.5'
install -o root -g wheel -m 444 './audit_user.5' '/usr/local/man/man5/audit_user.5'
install -o root -g wheel -m 444 './audit_warn.5' '/usr/local/man/man5/audit_warn.5'
Making install in modules
Making install in auditfilter_noop
test -z "/usr/local/lib" || ../../config/install-sh -c -d "/usr/local/lib"
/bin/sh ../../libtool --mode=install /usr/bin/install -c -o root -g wheel 'auditfilter_noop.la' '/usr/local/lib/auditfilter_noop.la'
/usr/bin/install -c -o root -g wheel .libs/auditfilter_noop.so.0 /usr/local/lib/auditfilter_noop.so.0
(cd /usr/local/lib && { ln -s -f auditfilter_noop.so.0 auditfilter_noop.so || { rm -f auditfilter_noop.so && ln -s auditfilter_noop.so.0 auditfilter_noop.so; }; })
(cd /usr/local/lib && { ln -s -f auditfilter_noop.so.0 auditfilter_noop.so || { rm -f auditfilter_noop.so && ln -s auditfilter_noop.so.0 auditfilter_noop.so; }; })
/usr/bin/install -c -o root -g wheel .libs/auditfilter_noop.lai /usr/local/lib/auditfilter_noop.la
/usr/bin/install -c -o root -g wheel .libs/auditfilter_noop.a /usr/local/lib/auditfilter_noop.a
chmod 644 /usr/local/lib/auditfilter_noop.a
ranlib /usr/local/lib/auditfilter_noop.a
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Making install in sys
Making install in bsm
test -z "/usr/local/include/bsm" || ../../config/install-sh -c -d "/usr/local/include/bsm"
install -o root -g wheel -m 444 'audit.h' '/usr/local/include/bsm/audit.h'
install -o root -g wheel -m 444 'audit_domain.h' '/usr/local/include/bsm/audit_domain.h'
install -o root -g wheel -m 444 'audit_errno.h' '/usr/local/include/bsm/audit_errno.h'
install -o root -g wheel -m 444 'audit_fcntl.h' '/usr/local/include/bsm/audit_fcntl.h'
install -o root -g wheel -m 444 'audit_internal.h' '/usr/local/include/bsm/audit_internal.h'
install -o root -g wheel -m 444 'audit_kevents.h' '/usr/local/include/bsm/audit_kevents.h'
install -o root -g wheel -m 444 'audit_record.h' '/usr/local/include/bsm/audit_record.h'
install -o root -g wheel -m 444 'audit_socket_type.h' '/usr/local/include/bsm/audit_socket_type.h'
===> Compressing manual pages for openbsm-1.1.p2
===> Running ldconfig
/sbin/ldconfig -m /usr/local/lib
===> Registering installation for openbsm-1.1.p2
===> Cleaning for openbsm-1.1.p2
freebsd#
デーモンを起動する
まず、使っている OS のカーネルがサポートしているかどうかを確認すること。ディフォールトでは AUDIT をサポートしているが、場合によってはサポートしていない環境で動かすことになるかもしれないため、明示的にカーネルの configuration ファイルで、
options AUDIT
を記述してからカーネルをコンパイルしなおすのが望ましい。
次に、/etc/rc.conf を開いて、
auditd_enable="YES"
の行を追加してから、
freebsd# /etc/rc.d/auditid start
でデーモンが起動する。
設定ファイル
設定ファイルは以下の場所に展開されている。
freebsd# cd /etc/security freebsd# ls -la total 38 drwxr-xr-x 2 root wheel 512 Feb 18 2011 . drwxr-xr-x 20 root wheel 2048 Oct 7 17:37 .. -r--r--r-- 1 root wheel 708 Feb 18 2011 audit_class -rw------- 1 root wheel 262 Feb 18 2011 audit_control -r--r--r-- 1 root wheel 25944 Feb 18 2011 audit_event -rw------- 1 root wheel 174 Feb 18 2011 audit_user -r-x------ 1 root wheel 220 Feb 18 2011 audit_warn freebsd#
それぞれ以下の目的がある。
- audit_class
- 監査クラスの定義を含む。
- audit_control
- 監査サブシステムの幾つかの点をコントロールする。例えば、ディフォールトの監査クラスを定義したり、監査ログの容量に使える最小のディスクスペースを定義したり、最大の監査証跡サイズを定義するといったことである。
- audit_event
- システムの監査イベントについてテキストでの名前や説明を定義し、どのイベントがどのクラスに属しているかを紐付けるリスト。
- audit_user
- ユーザごとに設定する監査要求。これはログインしたときにグローバルな設定と組み合わせられる。
- audit_warn
- auditd が使うカスタマイズ可能なシェルスクリプト。これによって、例外的な状況、例えば監査レコードの保存領域が少ないとか、監査証跡ファイルが更新されたといった場合に、警告メッセージを生成する。
イベント選択式
イベントの選択式は、さまざまな箇所で「どのイベントを監査するか」を指定するために使われる。選択式はイベントクラスのリストから成っていて、左から右へ評価され、二つの選択式があると第一の選択式に第二の選択式を追加(append)するように組み合わせられる。
audit_class ファイルで与えられるディフォールトのイベントクラスは、以下のとおりである。これらをカスタマイズするには、audit_class, audit_event を編集する。
- all - all
- 全てのイベントクラスにマッチする。
- ad - administrative
- システム全体の挙動にかかわる管理的なアクション。
- ap - application
- アプリケーションによって定義されるアクション。
- cl - file close
- close のシステムコールを呼び出した場合の監査。
- ex - exec
- プログラムの実行時の監査。コマンドラインの引数と環境変数の監査は audit_control でコントロールされ、ポリシー設定に対して argv と envv パラメータを使う。
- fa - file attribute access
- stat(1), pathconf(2) あるいは類似のイベントのような、オブジェクトの属性に対するアクセスを監査する。
- fc - file create
- どこかにファイルが作成されるイベントを、結果について監査する。
- fd - file delete
- ファイルの削除というイベントを監査する。
- fm - file attribute modify
- ファイルの属性変更が起きたとき、例えば chown(8), chflags(1), flock(2) などが生じたというイベントを監査する。
- fr - file read
- 何らかのデータが読み取られるイベント、つまりファイルがオープンされるといった場合を監査する。
- fw - file write
- データに書き込みが発生するイベント、つまりファイルが書き込まれたり変更されたりしたイベントを監査する。
- io - ioctl
- ioctl(2) のシステムコールが呼び出されたイベントを監査する。
- ip - ipc
- 様々な形式のプロセス内通信、POSIX パイプや System C IPC オペレーションが発生した場合に監査する。
- lo - login_logout
- login(1) と logout(1) イベントがシステム上で発生した場合に監査する。
- na - non attributable
- 帰属不能のイベントを監査する。
- no - invalid class
- 監査イベントでないものにマッチする。
- nt - network
- ネットワークに関するアクション、例えば connect(2) や accept(2) というイベントを監査する。
- ot - other
- その他のイベントを監査する。
- pc - process
- プロセス操作、例えば exec(3) や exit(3) を監査する。
そして、イベントクラスの選択式には以下のような接頭辞を追加できる。
- (接頭辞なし)
- そのイベントのインスタンスが成功しても失敗しても監査する。
- +
- そのクラスで成功したイベントを監査する。
- -
- そのクラスで失敗したイベントを監査する。
- ^
- そのクラスで成功も失敗もしていないイベントを監査する。
- ^+
- そのクラスで成功したイベントを監査しない。
- ^-
- そのクラスで失敗したイベントを監査しない。
ただし、実際に audit_class を見ればわかるが、この接頭辞は殆ど使われていない。
audit_control と audit_user
audit_control はシステム全域の設定であり、audit_user はユーザごとに最適化した設定として使う。
まず、audit_control を開いてみよう。
freebsd# cat audit_control # # $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $ # $FreeBSD: src/contrib/openbsm/etc/audit_control,v 1.6.2.1.6.1 2010/12/21 17:09:25 kensmith Exp $ # dir:/var/audit flags:lo,aa minfree:5 naflags:lo,aa policy:cnt,argv filesz:2M expire-after:10M freebsd#
dir オプションには、監査ログが格納されている一つ以上のディレクトリを指定する。或るディレクトリに一つ以上のログがあるとき、それらのログは格納されている順番に使われる。
The dir option is used to set one or more directories where audit logs will be stored. If more than one directory entry appears, they will be used in order as they fill. It is common to configure audit so that audit logs are stored on a dedicated file system, in order to prevent interference between the audit subsystem and other subsystems if the file system fills.
The flags field sets the system-wide default preselection mask for attributable events. In the example above, successful and failed login and logout events are audited for all users.
The minfree option defines the minimum percentage of free space for the file system where the audit trail is stored. When this threshold is exceeded, a warning will be generated. The above example sets the minimum free space to twenty percent.
The naflags option specifies audit classes to be audited for non-attributed events, such as the login process and system daemons.
The policy option specifies a comma-separated list of policy flags controlling various aspects of audit behavior. The default cnt flag indicates that the system should continue running despite an auditing failure (this flag is highly recommended). Another commonly used flag is argv, which causes command line arguments to the execve(2) system call to be audited as part of command execution.
The filesz option specifies the maximum size in bytes to allow an audit trail file to grow to before automatically terminating and rotating the trail file. The default, 0, disables automatic log rotation. If the requested file size is non-zero and below the minimum 512k, it will be ignored and a log message will be generated.
The audit_user file permits the administrator to specify further audit requirements for specific users. Each line configures auditing for a user via two fields: the first is the alwaysaudit field, which specifies a set of events that should always be audited for the user, and the second is the neveraudit field, which specifies a set of events that should never be audited for the user.
The following example audit_user file audits login/logout events and successful command execution for the root user, and audits file creation and successful command execution for the www user. If used with the example audit_control file above, the lo entry for root is redundant, and login/logout events will also be audited for the www user.
参考
- FreeBSD Handbook: "Chapter 18 Security Event Auditing"(日本語版のハンドブックでは訳出されていない)
リンク
- セキュリティ関連メモ のトップページへ
- メインページへ