サンプルポリシーファイルを参考にポリシーを作成する |
次にサンプルポリシーファイルを開き、その中身を簡単に見ていこう。
冒頭部分は命令が記述されている。@@section GLOBALにはポリシーファイル全体への各変数の定義が記述されている。たとえば、グローバルセクションの中で「TWSKEY="/etc/tripwire";」とパスが記述されているが、これはつまり、以下のルールに出てくる「$(TWSKEY)」は「/etc/tripwire」であるということを定義している。
@@section GLOBAL TWROOT=/usr/sbin; TWBIN=/usr/sbin; TWPOL="/etc/tripwire"; TWDB="/var/lib/tripwire"; TWSKEY="/etc/tripwire"; TWLKEY="/etc/tripwire"; TWREPORT="/var/lib/tripwire/report"; HOSTNAME=localhost; |
@@sectionの「FS」はUNIXシステムで利用できるもので、Windows用のポリシーと区別するために用意されている。@@section FSにも同様に変数が定義されている。
@@section FS SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set SEC_BIN = $(ReadOnly) ; # Binaries that should not change SIG_LOW = 33 ; # Non-critical files that are of minimal se curity impact SIG_MED = 66 ; # Non-critical files that are of significan t security impact SIG_HI = 100 ; # Critical files that are significant point s of vulnerability |
このほかにも命令として@@ifhostや@@printなどがある。
例)サーバ名がhogeであれば、/tmp/test1.txt -> $(ReadOnly);を実行し、ほかのサーバ名の場合は/tmp/test2.txt
-> $(ReadOnly);を実行する。 @@ifhost hoge /tmp/test1.txt -> $(ReadOnly); @@else /tmp/test2.txt -> $(ReadOnly); @@endif |
はじめのルールとして、Tripwire Binariesのルールが出てくるが、@@sectionで定義された変数と、これまでの解説を参考にすれば、ルールがどのような内容になっているかが、なんとなくは理解できるだろう。
# Tripwire Binaries ( rulename = "Tripwire Binaries", severity = $(SIG_HI) ) { $(TWBIN)/siggen -> $(SEC_BIN) ; $(TWBIN)/tripwire -> $(SEC_BIN) ; $(TWBIN)/twadmin -> $(SEC_BIN) ; $(TWBIN)/twprint -> $(SEC_BIN) ; } |
変数に定義されたものを代入すれば下記のようになる
( rulename = "Tripwire Binaries", severity = 100 ) { /user/sbin/siggen -> $(ReadOnly) ; /user/sbin/tripwire -> $(ReadOnly) ; /user/sbin/twadmin -> $(ReadOnly) ; /user/sbin/twprint -> $(ReadOnly) ; } |
ポリシーファイルの作成・編集まとめ |
あとは、サンプルポリシーファイルを参考にシステム環境にあわせて、必要なポリシーファイルを作成、編集していく。足りないと思われるものは付け足すなどして、ルールの追加、編集、削除を行っていこう。次回はレポートの閲覧やコマンドのオプションなどについて解説していく予定だ。
[TTS,ITmedia]
3/3 |