EN JA
LIBBSM(3)
LIBBSM(3) FreeBSD Library Functions Manual LIBBSM(3)

名称

libbsmBasic Security Module (BSM) 監査 API

ライブラリ

Basic Security Module User Library (libbsm, -lbsm)

書式

#include < bsm/libbsm.h>

解説

libbsm ライブラリルーチンは、新しい監査レコードとストリームの作成と同様に、既存の監査ストリームの構文解析の両方を許す、BSM 監査レコードストリームへのインタフェースを提供します。

インタフェース

libbsm ライブラリは、いくつかのクラスの多くの監査プログラミングインタフェースを提供します: イベントストリームインタフェース、クラスインタフェース、制御インタフェース、イベントインタフェース、I/O インタフェース、マスクインタフェース、通知インタフェース、トークンインタフェースとユーザインタフェースです。これらは、それぞれ au_class(3), au_control(3), au_event(3), au_mask(3), au_notify(3), au_stream(3), au_token(3)au_user(3) マニュアルページに説明されています。

監査イベントストリームインタフェース

監査イベントストリームインタフェースは、ファイルに裏付けられた監査イベントストリームとのやりとりをサポートします: au_close(3), au_close_buffer(3), au_free_token(3), au_open(3), au_write(3), audit_submit(3) です。

監査クラスインタフェース

監査クラスインタフェースは、 audit_class(5) データベースからの情報の検索をサポートします: endauclass(3), getauclassent(3), getauclassent_r(3), getauclassnam(3), getauclassnam_r(3), setauclass(3) です。

監査制御インタフェース

監査制御インタフェースは、 audit_control(5) データベースからの情報の検索をサポートします: endac(3), setac(3), getacdir(3), getacfilesz(3), getacflg(3), getacmin(3), getacna(3), getacpol(3), au_poltostr(3), au_strtopol(3) です。

監査イベントインタフェース

監査イベントインタフェースは、 audit_event(5) データベースからの情報の検索をサポートします: endauevent(3), setauevent(3), getauevent(3), getauevent_r(3), getauevnam(3), getauevnam_r(3), getauevnonam(3), getauevnonam_r(3), getauevnum(3), getauevnum_r(3) です。

監査 I/O インタフェース

監査 I/O インタフェースは、監査レコードの読み込みと同様に、トークンの処理と印刷 (表示) をサポートします: au_fetch_tok(3), au_print_tok(3), au_read_rec(3) です。

監査マスクインタフェース

監査マスクインタフェース変換は、文字列と au_mask_t 値の間の変換をサポートします。また、それらは、特定の監査イベントがマスクと適合されるかどうか決定するために使用されます: au_preselect(3), getauditflagsbin(3), getauditflagschar(3) です。

監査通知インタフェース

監査通知ルーチンは、カーネル監査状態をチェックするための頻繁なシステムコールを避けて、効率的な更新を可能にする形式で監査状態を追跡します: au_get_state(3), au_notify_initialize(3), au_notify_terminate(3) です。これらのインタフェースは、Darwin/Mac OS X のためだけに実装されています。

監査ユーザインタフェース

監査ユーザインタフェースは、 audit_user(5) データベースからの情報の検索をサポートします: au_user_mask(3), endauuser(3), setauuser(3), getauuserent(3), getauuserent_r(3), getauusernam(3), getauusernam_r(3), getfauditflags(3) です。

監査定数変換インタフェース

これらの関数は、 errno(2) 番号、ソケットタイプ、とプロトコル famil 空間を含んで、 BSM とローカル定数の間で変換し、BSM リターンと拡張ソケットトークンを生成して解釈するために使用しなければなりません: au_bsm_to_domain(3), au_bsm_to_errno(3), au_bsm_to_fcntl_cmd(3), au_bsm_to_socket_type(3), au_domain_to_bsm(3), au_errno_to_bsm(3), au_fcntl_cmd_to_bsm(3), au_socket_type_to_bsm(3) です。

歴史

OpenBSM 実装は、2004 年に Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ部門、McAfee Research によって作成されました。その後にそれは、OpenBSM 配布のための基盤として TrustedBSD Project によって採用されました。

作者

このソフトウェアは、Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ研究部門、McAfee Research のために Robert Watson, Wayne SalamonSuresh Krishnaswamy によって作成されました。

レコードを監査し、イベントストリーム形式を監査する Basic Security Module (BSM) インタフェースは、Sun Microsystems によって定義されました。

バグ

バグはありそうもなくないでしょう。

libbsm ライブラリの実装は、一般的にリエントラントではなく、スレッドセーフです。

特別に決定されているので、クラスへのルーチンの代入は、いくらかの作業を使用するかもしれません。例えば、 au_read_rec() は、たぶんストリームルーチンであると見なされるべきです。

March 5, 2009 FreeBSD