• 締切済み

xinetd を使う場合の hosts.allow/hosts.deny

サーバ:CentOS 4.4 xinetd を使ってアクセスコントロールをしようとしています。 /etc/xinetd.d/サービス名 でサービス毎の設定が出来ますが、その中で(only_fromを使って)制御しようとしていますが、その際に /etc/hosts.allow と /etc/hosts.deny はどうなるのでしょうか。これらのファイルを削除して、xinetd の設定ファイルのみでアクセス制御するにしても、xinetd を通さないデーモンが直接 hosts.allow と hosts.deny を参照しようとする場合もありそうで怖そうです。 かといって xinetd と hosts.allow,hosts.deny の両方でアクセス制御するのもわかりにくくなりそうですし。 何かスマートなやり方というものはあるのでしょうか。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

xinetdの設定ファイルで指定するのは、xinetdが該当プログラムを起動するかどうかを決めます。起動されたプログラムの動作には無関係です。 hosts.allow/hosts.denyはプログラムがサブルーチンhosts_access(3)を使ってアクセス許可判断をする時に使われます。 したがって、全然目的が違うものです。xinetdから起動されるあるプログラムはhosts_access(3)を使わないかもしれません。また、使うプログラムもあるかもしれません。デーモンもhosts_access(3)を使うかもしれないし、独自の設定ファイルを使うかもしれません。 そのプログラムがhosts_access(3)を使うかどうかは、 strings プログラムファイル名 | grep /etc/hosts でわかるでしょう。

tao_0077
質問者

お礼

>xinetdから起動されるあるプログラムはhosts_access(3)を使わないかもしれません。また、使うプログラムもあるかもしれません。デーモンもhosts_access(3)を使うかもしれないし、独自の設定ファイルを使うかもしれません。 xinetd は「起動のみ」制御、hosts.*** はそれに対応したデーモンの「通信全体」を制御、ということですね。 そのことはわかるのですが、最終的な「許可・不許可」という点を実現するために、複数のファイルに設定しなければならない、というのが泥臭いと思えまして…。

関連するQ&A