FreeBSD/POSIX.1e
< FreeBSD
FreeBSDは、POSIX.1e (POSIX.1e-1997, also known as "POSIX for security")の一部機能を実装していますが、完全な実装には至っていません。POSIX.1eは、セキュリティ強化を目的として、アクセス制御リスト(ACL)、能力(Capabilities)、強化された監査(Auditing)などの仕様を導入する規格です。
以下は、FreeBSDにおけるPOSIX.1eの主要な実装状況についての概要です。
ACL (Access Control Lists)
編集- FreeBSDはPOSIX.1e ACLをサポートしています。
- ファイルシステムごとにACLを有効にできます。たとえば、UFS2やZFSはACLをサポートしています。
- getfacl と setfacl コマンドを使用してACLを操作できます。
- マウント時に
acl
オプションを指定することで、ACLの利用を有効化します。
# mount -o acl /dev/ada0p2 /mnt
- 使用例
- ACLを確認する:
# getfacl ファイル名
- ACLを設定する
# setfacl -m u:ユーザー名:rwx ファイル名
Capabilities (能力)
編集- POSIX.1eで定義されるプロセスやファイルの特定の「能力」について、FreeBSDは直接のサポートを提供していません。
- ただし、FreeBSDのCapsicumフレームワークは、POSIX.1eの能力とは異なる形で、より細粒度の権限委譲を実現しています。
- Capsicumは、特定のシステムコールやファイルディスクリプタに基づく権限制御を提供します。
- libcasper ライブラリを使って簡潔に実装できます。
- Capsicumを使用する例(カプサムモードへの移行)
cap_enter(); // プロセスをカプサムモードに移行
Auditing (監査)
編集- FreeBSDは、セキュリティ監査機能としてOpenBSM (Basic Security Module)を採用しています。
- OpenBSMは、POSIX.1e監査機能をベースにした高度な監査フレームワークです。
- 監査ログは
/var/audit/
ディレクトリに保存され、auditreduce
やpraudit
ツールを用いて解析可能です。
- 監査システムを有効にする手順
/etc/rc.conf
に以下を追加:auditd_enable="YES"
- サービスを起動
# service auditd start
未実装部分
編集- POSIX.1e全体の機能の中で、特に「Capabilities」の正式サポートが欠けています。
- FreeBSDコミュニティでは、セキュリティ機能の設計において、POSIX.1eを直接追従するのではなく、独自の方法(例えばCapsicum)で代替する方針が取られることが多いです。
参考情報
編集FreeBSDのPOSIX.1e対応状況は、公式ドキュメントやFreeBSDセキュリティチームのリリースノートに記載されています。また、以下のマニュアルページが役立ちます:
- acl(9): ACLに関する詳細
- audit(4): 監査サブシステム
- capsicum(4): Capsicumフレームワーク
詳しい情報が必要であれば、具体的なユースケースや目的に応じて調査を進めますので教えてください!