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を有効にできます。たとえば、UFS2ZFSはACLをサポートしています。
  • getfaclsetfacl コマンドを使用して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/ ディレクトリに保存され、auditreducepraudit ツールを用いて解析可能です。
監査システムを有効にする手順
/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フレームワーク

詳しい情報が必要であれば、具体的なユースケースや目的に応じて調査を進めますので教えてください!