.TH LIDSCONF 8 .\" .\" Man page written by Sander Klein (May 2003) .\" It is based on the original lidsadm page by Steve Bremer. .\" TODO: I will think of something in the end... .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .\" .\" Japanese Version Copyright (c) 2003 Omo Kazuki .\" all rights reserved. .\" Translated Tue Oct 1 11:00:39 JST 2003 .\" by Kazuki Omo .\" .SH 名前 lidsconf \- Linux Intrusion Detection System 用の設定ツール .SH 書式 .B lidsconf -A [-s subject] -o object [-d] [-t from-to] [-i level] -j ACTION .br .B lidsconf -D [-s file] [-o file] .br .B lidsconf -Z .br .B lidsconf -U .br .B lidsconf -L [-e] .br .B lidsconf -P .br .B lidsconf -v .br .B lidsconf [-h|H] .SH 説明 .I lidsconf は、Linux Intrusion Detection System (LIDS) の設定ツールである。 LIDS は現在のLinux カーネルを拡張する、カーネルパッチである。LIDS によっ て、重要なファイルや、ディレクトリや、デバイスを保護することができる。 さらにシステム全体に対して、アクセス制限をかけるACL を定義することもで きる。LIDS の詳しい情報に関しては、 .I http://www.lids.org を参照のこと。 .I lidsconf はLIDS に対してのアクセス制限情報を設定するために使用される。それに 関する全ての情報は、"/etc/lids/lids.conf" に保存される。 .SH オプション (ACL の) ACL は "Access Control List" の略である。LIDS のACL では、Subject がどの 様にObject に対してアクセス出来るのかを定義している。 Subject は、シ ステム上の、任意のプログラムファイルを指している。Object はファイルや、ディ レクトリや、その他の特別なオプション (MEM デバイス、RAW IO、隠しプロセ ス)を指している。Target は、Sbject のObject に対するアクセスタイプを定義 している。 .TP ACL の書式は .B [-s subject] [-d|-i TTL] -o object [-t timescale] -j TARGET .TP Subject を省略すると、ACL はそのObject に対するデフォルトのアクセスを 定義する。 .TP .B -s subject Subject とは、システム上の"/bin/login" のような、任意のプログラムであ る。 .TP .B -o object [portscale] Object はファイルや、ディレクトリや、その他の特別なオプション (CAP_SYS_RAWIO, CAP_HIDDEN, CAP_INIT_KILL, など) である。. Object が CAP_NET_BIND_SERVICE の場合には、例えば、"20-299,400-1002" のように、続けてポート番号の範囲を指定する必要がある。 .TP .B -d これは、DOMAIN 設定用である。これを指定すると、Subject はDomain で定義さ れているObject にのみアクセスが可能になる。このDomain 以外のObject に関する全てのアクセスは、できなくなる。 .TP .B -i これで、Subjectの子プロセスに対してのACL の継承を指定する。 .B inheritance level は、どれぐらいまでACL が影響するのかを表している。継承レベル"-1" は、 無制限の継承を表す。 継承レベル1 は、親プロセスにより発生された、同じプログラムでは無い子プ ロセスがACL を継承するが、子プロセスが発生した子プロセス(すなわち、オ リジナルのプロセスから見た孫プロセス)には、ACL は継承されないというこ とを表している。 継承レベルは、親プロセスとは異なるプログラムの、子プロセスにのみ有効に なる。もし子プロセスが親プロセスと同じ場合には、親プロセスと完全に 同じ権限が与えられる。 .TP .B -t タイムスケール これは、ACL に対する時間制限である。この制限は、Subject 付きのACL に のみ、作用する。時間制限とは、ACL が有効になる時間帯である。タイム スケールの書式は、"hourminute-hourminute" になる。例えば、"0905-1021" は、 "9 時5 分から、10 時21 分まで" となる。 .TP .B -j Target Target には、通常のファイルアクセスACL に対してREAD, APPEND, WRITE, あ るいは IGNORE が設定できる。特殊なObject に対しては、Target はGRANT だけが設定できる。 .TP .SH 使用可能な権限 LIDS で使われる権限には、下記のものがある。封印して切替えをすると きに、権限を有効や無効にするために名前を使用することができる。 さらに、権限がシステム全体で無効になっているときでも、プログラムに権限 を与えることができる。 .SP .TP .B CAP_CHOWN chown(2)/chgrp(2) .TP .B CAP_DAC_OVERRIDE DAC access. .TP .B CAP_DAC_READ_SEARCH DAC read. .TP .B CAP_FOWNER ユーザーID とオーナーID が等しくない .TP .B CAP_FSETID 実行ユーザーID とオーナーID が等しくない .TP .B CAP_KILL 実/有効ID とプロセスID が等しくない .TP .B CAP_SETGID setgid(2) .TP .B CAP_SETUID set*uid(2) .TP .B CAP_SETPCAP 転送権限 .TP .B CAP_LINUX_IMMUTABLE 不変か、付け加えられるファイル特性 .TP .B CAP_NET_BIND_SERVICE 1024 未満のポートへのバインディング .TP .B CAP_NET_BROADCAST マルチキャストのブロードキャスト/リスニング .TP .B CAP_NET_ADMIN インターフェース/ファイアーウォール/ルーティング 変更 .TP .B CAP_NET_RAW RAW ソケット(ping) .TP .B CAP_IPC_LOCK 共有メモリーセグメントのロック .TP .B CAP_IPC_OWNER IPC 所有者のチェック .TP .B CAP_SYS_MODULE カーネルモジュールの挿入と削除 .TP .B CAP_SYS_RAWIO ioperm(2)/iopl(2) アクセス .TP .B CAP_SYS_CHROOT chroot(2) .TP .B CAP_SYS_PTRACE ptrace(2) .TP .B CAP_SYS_PACCT プロセスアカウンティングの設定 .TP .B CAP_SYS_ADMIN 管理者の重み .TP .B CAP_SYS_BOOT reboot(2) .TP .B CAP_SYS_NICE nice(2) .TP .B CAP_SYS_RESOURCE リソース制限の設定 .TP .B CAP_SYS_TIME システム時間の設定 .TP .B CAP_SYS_TTY_CONFIG TTY 設定 .TP .B CAP_MKNOD mknod() の特別な許可 .TP .B CAP_LEASE ファイルにリースを許可 .TP .B CAP_HIDDEN システムからプログラムを隠す .TP .B CAP_KILL_PROTECTED プロセスに、保護されているプロセスをkill させることを許可/不許可 .TP .B CAP_PROTECTED シグナルからプロセスを保護 .SH 例 以下に、いくつかのlidsconf を使った例を示す。これらは簡単/平易なも のから、複雑/難解なものまである。 実際のファイル名はもっと具体的な ものが使われることに注意すること。 .B 実際のシステム に合わせてファイル/ディレクトリを置き換えること。 .TP .B lidsconf -A -o /sbin -j READ このACL は、/sbin ディレクトリを読込み専用に保護する。 .TP .B lidsconf -A -o /var/log/message -j APPEND /var/log/messages を付加専用にする。 .TP .B lidsconf -A -o /sbin/test -j IGNORE /sbin を読込専用で保護するが、/sbin/test は保護しない。 .TP .B lidsconf -A -o /etc/passwd -j DENY /etc/passwd を全てのユーザーから隠す。ファイルを見るようなこと (open, stat, など)は、できなくなる。 .TP .B lidsconf -A -s /bin/login -o /etc/passwd -j READ /bin/login プログラムに、先ほどの設定で隠しファイルにされている /etc/passwd を読み込むことを許可する。 この場合、/bin/login のみが/etc/passwd を読むことができる。その他の プログラムやユーザーは、そのファイル(/etc/passwd) を見ることはできない。 .TP .B lidsconf -A -o /home/httpd -j DENY .TP .B lidsconf -A -s /usr/sbin/httpd -o /home/httpd -j READ .TP .B lidsconf -A -s /usr/sbin/httpd -o CAP_NET_BIND_SERVICE 80 -i -1 -j GRANT Web サーバーのServerROOT (/home/httpd) をDENY で保護し、httpd バ イナリー(/usr/sbin/httpd) のみがServerROOT (/home/httpd) を読み込む ことを許可して、さらにhttpd がポート番号80 番にのみバインドできるよう にすることを許可する。 .TP .B lidsconf -A -s /bin/program -i 2 -o CAP_NET_ADMIN -j GRANT /bin/program にCAP_NET_ADMIN の権限を与え、継承レベルを2 に設定してい る。 .TP .B lidsconf -A -s /usr/X11/bin/XF86_SVGA -o CAP_SYS_RAWIO -j GRANT XF86_SVGA にCAP_SYS_RAWIO の権限を、CAP_SYS_RAWIO が/etc/lids/lids.cap で無効になっているときにも、与える。 .TP .B lidsconf -A -s /usr/sbin/httpd -d -o /home/httpd -j READ httpd の実行ドメインを/home/httpd として定義している。/home/httpd 以外か らの、どのようなオペレーションも、httpd が動いているときには許可しない。 .TP .B lidsconf -A -s /bin/login -o /etc/shadow -t 0900:1800 -j READ /bin/login に/etc/shadow ファイルを、09:00 から18:00 の間だけ読み込ま せることを許可する。これにより、ユーザーのログインを、この時間だけに 制限することができる。 .TP .B lidsconf -A -s /usr/sbin/sshd -o CAP_NET_BIND_SERVICE 10-22,300-1020 -j GRANT /usr/sbin/sshd がポート番号10 から22 までと、300 から1020 までバイン ドすることができるように定義している。このケースでは、ssh はこの番号 の範囲のみでしかバインドできない。 .SH その他の情報源 .TP .B メーリングリスト 参加、退会するときには、次のサイトを参照- .I http://lists.sourceforge.net/lists/listinfo/lids-user .br メッセ-ジをメーリングリストに投稿するときは、メールを次のところまで送信 してほしい- .B lids-user@lists.sourceforge.net .br 最新のLIDS メーリングリストのアーカイブは、次のところにある- .I http://www.geocrawler.com/redir-sf.php3?list=lids-user .br 古いアーカイブは、次のところにある- .I http://groups.yahoo.com/group/lids .TP .B LIDS FAQ LIDS FAQ は次のところにある- .br .I http://www.lids.org/lids-faq/lids-faq.html .br あるいは、 .br .I http://www.roedie.nl/lids-faq .SH バグ LIDS に関するバグは、Xie やPhil に送るか、あるいはメーリングリスト .B (lids-user@lists.sourceforge.net) に送ってほしい。 カーネルをコンパイルするときに使った、.config ファイルと、/etc/lids に あるlids.conf とlids.cap ファイルを一緒に送ること。また、このマ ニュアルページでエラーを見付けたら、Sander Klein まで知らせて欲しい。 .SH ファイル \fB/etc/lids/lids.conf\fR \- LIDS 設定ファイル .br \fB/etc/lids/lids.cap\fR \- 全体の権限の定義 .br \fB/etc/lids/lids.net\fR \- e-mail アラートの設定 .br \fB/etc/lids/lids.pw\fR \- 暗号化されたLIDS パスワード .SH 関連項目 .BR lidsadm (8) .SH AUTHORS Huagang Xie .I .PP Philippe Biondi .I .PP マニュアルページは、Sander Klein によって書かれた。 .I .PP .SH 配布 .I LIDS の最新のバージョンは、 .I http://www.lids.org/ か、ミラーからダウンロードできる。 .\" See the lidsadm (8) man page for some funny remarks... .\" .Sp .I LIDS .is (C) 1999-2003 by Huagang Xie(xie@lids.org)。 その他の注意点は、lidsadm (8) のマニュアルを参照のこと。