HOSTS_OPTIONS(5) | File Formats Manual | HOSTS_OPTIONS(5) |
hosts_options - ホストアクセスコントロールの拡張書式
この文書は、hosts_access(5) で説明する文法のオプショナルな拡張に ついて解説するものである。この拡張は、プログラムをコンパイルした 際に利用の可否が決まる。例えば、Makefile を編集し、コンパイル時 に PROCESS_OPTIONS を有効にした場合である。
拡張書式はこのような形式である:
daemon_list : client_list : option : option ...
最初のふたつのフィールドについては、hosts_access(5) のマニュアル で解説されている。ルールの残りの部分は、0 個以上のオプションの列 である。オプションの中では、すべての ":" という文字はバックスラッ シュによって保護される必要がある。
オプションは "keyword" または "keyword value" の形式をとる。オプ ション群は記述された順に解釈される。いくつかのオプションは %<letter> による置き換えを仮定している。初期のバージョンとの互換 性のために、"=" を keyword と value(値) の間におく事も許されてい る。
allow と deny は、すべてのアクセスコントロールのルー ルを、ただひとつのファイル、たとえばhosts.allow に納める事 を可能にしている。
明示されたホストだけにアクセスを許可するには:
ALL: .friendly.domain: ALLOW ALL: ALL: DENY
トラブルメイカーとなる、いくつかのホストを除いて、すべてのホスト からのアクセスを許可するには:
ALL: .bad.domain: DENY ALL: ALL: ALLOW
ドメイン名のパターンの最初にはドットがついている事に注目されたい。
spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) &
これは、%h を リモートホストの名前またはアドレスに置き換えたのち に、バックグラウンドの子プロセスで、シェルコマンド "safe_finger -l @%h | mail root" を実行する。
この例では、(リモートの) finger サーバーから送られてくるデータに よって、ダメージがもたらされる可能性を抑えるため、標準の "finger" コマンドに代わって "safe_finger" コマンドを利用している。 この "safe_finger" コマンドは、daemon wrapper package に含まれて いる。これは、標準の finger の露払いとして、リモートホストから送 られるデータをフィルタリングする。
実際の ftp デーモンに代わって、メッセージを変更してクライアント に返すには:
in.ftpd : ... : twist /bin/echo 421 Some bounce message
クライアントプロセスと会話する別の方法として、後述する banners オプションを参照されたい。
/some/other/in.telnetd を、コマンドラインの引数やプロセスの環境 変数によって汚染されることなく実行するには:
in.telnetd : ... : twist PATH=/some/other; exec in.telnetd
警告: UDP サービスにおいては、standard I/O の利用、またはクライ アントプロセスとの交信のための read(2)/write(2) ルーチンと、 command を混同しないように; UCP は、また別の基本的な I/O を必要 とする。
tcp wrapper の配布ソースには、手際よく banner を保守するための、 サンプルの makefile (Banners.Makefile) が含まれている。
警告: banners は connection-oriented (TCP) network (コネクション に指向の高いサービス)でのみ利用する事ができる。
警告: 多くのネットワークデーモンは login または shell プロセスを 再起動する前に、その環境変数をリセットする。
アクセスコントロールルールに文法エラーが発見された場合、エラーは syslog デーモンへ報告される。余計なオプションは無視され、サービ スは拒否される。
hosts_access(5), 基本的なアクセスコントロール書式
Wietse Venema (wietse@wzv.win.tue.nl) Department of Mathematics and Computing Science Eindhoven University of Technology Den Dolech 2, P.O. Box 513, 5600 MB Eindhoven, The Netherlands
FUKUSHIMA Osamu/福島於修 <fuku@amorph.rim.or.jp>