Maxの日記: [mdk]msec
Mandrakeには、システムのセキュリティレベルを設定する
msecというソフトウエアが標準で入っている。
msec本体はpythonで書かれていて、システム内の多くの操作に
ついて一定の制限を設けたり、不正な変更に対して自動的に補正する
ような機能を有している。
セキュリティレベルはMandrake 9.0の場合6段階に分かれていて
0を最も緩いレベルとして5まで徐々に厳しくなっていく。
ファイルのパーミションチェックやその自動修正、promiscモードで
LANカードが使用されているかどうかのチェック(sniffing防止)
等々をやってくれる。詳細は/usr/share/doc/msec*/security.txt
に書かれているが、おおむね
0: 誰でも何でもし放題(危険)
1: 緩い制限
2: 通常(Normal:デスクトップ用)
3: 少しセキュア(More Secure:デスクトップかLAN内部のサーバ)
4: セキュア(Secure:主にインターネットサーバ)
5: 偏執的なほどセキュア( Paranoid:主にインターネットサーバ
構築時)
という風に決められている。
この設定はインストール時に可能だが、インストール後も
# msec n
というコマンドで随時変更できるようになっている。
デスクトップPCとしてインストールするときは通常2か3を指定し
サーバを作るときは3か4を指定する。5はよほどのことがない限り
まず設定する必要はないレベルだ。あえて価値があるとしたら、
インターネットにさらされる状態でサーバを構築する際、ローカル
ログインが可能な状態でありさえすればいい、という場合にこれを
使うことになるだろう。しかし、たいていはある程度安全な状態の
場所で構築作業の初期ステップは実施するものだ。
それぞれのセキュリティレベルに対応したスクリプト類は、
/usr/share/msec 配下に、置かれていて
level.* = ポリシー設定
perm.* = システム内の各ディレクトリやファイルのパーミション
のようになっている。通常はこれらをさわる必要はないのだが、
変更が必要な場合もまま出てくる。
たとえば、msec=4の設定でnagios(遠隔モニタツール)を入れる
場合、モニタリング記録は一般ユーザnagiosで実行され、ホーム
ディレクトリである/var/log/nagiosに蓄えられていく。
しかし、/var/log配下のディレクトリは/usr/share/msec/perm.4
によると、
/var/log/ root.adm 751
/var/log/* root.root 600
/var/log/lp-errs lp.lp 600
/var/log/*/* current 600
/var/log/*/*/* current 600
/var/log/*/. current 700
/var/log/intraline/. current 750
の様に設定されている。これが何を引き起こすかというと、nagios
のcgiプログラムがhttpdからのリクエストをハンドルしてユーザ名
apacheにて記録されたログを参照しに行くことができなくなる。
スーパユーザになり手動で/var/log/nagios配下のパーミションを
変更しても、cronジョブで毎時1分にパーミション設定を自動補正
してくれるおかげでまた元に戻される。
元に戻される様子は/var/log/messagesに残される。
Feb 23 17:01:02 mdk msec: changed mode of /var/log/nagios/status.log from 664 to 644
などの"msec"で始まるログエントリがそれだ。
このことを知らないと、設定がいつの間にか変更されているという
不可解な現象に悩むことになる。
nagiosの場合、これを解消する方法は簡単で、たとえば
/var/log/nagios/ current 755
/var/log/nagios/* current 644
/var/log/nagios/*/. current 755
/var/log/nagios/*/* current 644
の様なエントリを/usr/share/msec/perm.4に追加する。
これではセキュリティ上不安があるという場合は、ユーザapache
の所属グループにnagiosを追加しておいて、
/var/log/nagios/ current 750
/var/log/nagios/* current 640
/var/log/nagios/*/. current 750
/var/log/nagios/*/* current 640
の様にしてもいいだろうと思う。
[mdk]msec More ログイン