Tetsuo Handa
from-****@I-lov*****
2010年 12月 31日 (金) 20:09:43 JST
tomoyo-dev-en に Jamie Nguyen さんというパワーユーザが登場し、主にアクセス ログの仕様について議論が行われました。 1.8.0 のリリース後に互換性の無い変更を 加えることになってしまって申し訳ないのですが、使いやすくするために仕様を一部 変更させていただきました。 http://sourceforge.jp/frs/redir.php?f=/tomoyo/49684/ccs-patch-1.8.0-20101231.tar.gz http://sourceforge.jp/frs/redir.php?f=/tomoyo/49684/ccs-patch-1.8.0-20101231.tar.gz.asc http://sourceforge.jp/frs/redir.php?f=/tomoyo/49693/ccs-tools-1.8.0-20101231.tar.gz http://sourceforge.jp/frs/redir.php?f=/tomoyo/49693/ccs-tools-1.8.0-20101231.tar.gz.asc カーネルパッチに関して アクセスログを読み出すためのインタフェースである /proc/ccs/grant_log および /proc/ccs/reject_log を /proc/ccs/audit に統合し、アクセスログのヘッダ行に granted=yes または granted=no を埋め込むようにしました。 /proc/ccs/profile での max_grant_log= および max_reject_log= パラメータは max_audit_log= パラメータに名称変更されました。 カーネル 2.6.38 への対応を追加しました。 ツールに関して ポリシーファイルの保存場所が /etc/ccs/ ディレクトリ直下から /etc/ccs/policy/YY-MM-DD.hh:mm:ss/ ディレクトリへと移動しました。 最新のポリシーファイルを指すシンボリックリンクである /etc/ccs/policy/current と、1つ前のポリシーファイルを指すシンボリックリンクである /etc/ccs/policy/current/previous を作成するようにしました。これにより、 バックアップをロードしたい場合にはシンボリックリンクを切り替えるだけで 済むようになりました。 互換性のために、 /etc/ccs/ ディレクトリ直下には /etc/ccs/policy/current/ ディレクトリにあるポリシーファイルを参照する domain_policy.conf exception_policy.conf profile.conf manager.conf というシンボリックリンクが 用意されています。 ccs-tools パッケージに含まれているコマンドが使用する設定ファイルは /usr/lib/ccs/ccstools.conf から /etc/ccs/tools/ ディレクトリ直下へと 移動しました。現時点では editpolicy.conf auditd.conf patternize.conf notifyd.conf の4個が作成されます。 今までコマンドラインで指定していたパラメータの多くは設定ファイルで 指定するように変更されました。そのため、サポートされるコマンドライン オプションが変更されていますのでご注意ください。 /usr/sbin/ccs-patternize に関して TOMOYO 1.8 ではカーネル内で file_pattern キーワードのサポートを 除去しました。これは、ユーザ空間でも行うことが可能な処理である上、 ユーザ空間で行う方が柔軟な指定が可能であるためです。 今回の仕様変更により、特定のドメイン以下だけを対象にパターン化を 行ったり、特定のディレクティブだけを対象にパターン化を行ったり することができるようになりました。 構文については /etc/ccs/tools/patternize.conf を参照してください。 /usr/sbin/ccs-auditd に関して 今までは ccs-auditd にはフィルタリング機能が存在しなかったため、 全てのアクセスログを一度ファイルに保存してから抽出する必要がありました。 今回の仕様変更により、アクセスログのヘッダ行、ドメイン行、ACL行に 含まれている文字列に対して fgrep 相当のフィルタリング機能が追加されました。 そのため、プロファイル番号ごとにアクセスログを分離したり、 特定のドメイン以下のアクセスログを別ファイルに保存したりすることが できるようになりました。 構文については /etc/ccs/tools/auditd.conf を参照してください。 なお、アクセスログの読み出し口が /proc/ccs/audit に変更されているため、 カーネルパッチと一緒にアップデートしないと動作しませんのでご了承ください。 /usr/sbin/ccs-editpolicy に関して 設定ファイルとして /usr/lib/ccs/ccstools.conf ではなく /etc/ccs/tools/editpolicy.conf を使うように変更されました。 メモリ使用状況を読み出すためのインタフェースである /proc/ccs/meminfo ではなく、メモリ使用状況およびポリシー違反の発生状況の両方を読み出すための インタフェースである /proc/ccs/stat を使用するように変更されました。 /usr/sbin/ccs-diffpolicy に関して ドメインポリシーの差分を計算するためのツールです。 ccs-patternize により どのようにパターン化が行われたのかを確認するために利用してください。 /usr/sbin/ccs-savepolicy に関して /etc/ccs/policy/YY-MM-DD.hh:mm:ss/ の導入に伴い、それぞれのディレクトリが 完全なスナップショットを保持するようにするために、常に domain_policy.conf exception_policy.conf manager.conf profile.conf の4種類のポリシーファイルを 保存するように変更されました。 /usr/sbin/ccs-loadpolicy に関して 構文を単純にするために、常に標準入力からポリシーを読み込むように変更 されました。それに伴い、1回の実行で1種類のポリシーファイルしかロード できなくなりました。 /usr/sbin/ccs-notifyd に関して デーモンとして動作するように変更されました。そのため、 /etc/crontab から 定期的に実行する必要は無くなりました。 コマンドの場所が /usr/lib/ccs/ ディレクトリから /usr/sbin/ ディレクトリ へと移動しました。 構文については /etc/ccs/tools/notifyd.conf を参照してください。 /usr/lib/ccs/init_policy に関して ポリシーを /etc/ccs/policy/YY-MM-DD.hh:mm:ss/ ディレクトリに作成するように 変更しました。 ccs-tools パッケージに含まれているコマンドが使用するための設定ファイルを /etc/ccs/tools/ ディレクトリに作成するようにしました。 全てのパス名に一致する ANY_PATHNAME グループ、全てのディレクトリに一致する ANY_DIRECTORY グループ、 IOCTL リクエストで日常的に使われている 0x5401 に 一致する COMMON_IOCTL_CMDS グループを定義するようにしました。 /usr/lib/ccs/convert-audit-log に関して use_group 行の取り扱いミスを修正しました。 ccs-patternize の仕様については現在も議論が続いています。どのような構文が サポートされていると便利かなどのフィードバックやバグレポートなどを お待ちしています。 P.S. AKARI 1.0.6 もアップデートされています。 http://sourceforge.jp/frs/redir.php?f=/akari/49272/akari-1.0.6-20101231.tar.gz http://sourceforge.jp/frs/redir.php?f=/akari/49272/akari-1.0.6-20101231.tar.gz.asc