14.2. TCPラッパー

多くのUNIXシステム管理者は、TCPラッパーを使用して特定のネットワークサービスへのアクセスを管理する経験を持ちます。xinetdによって管理されるすべてのネットワークサービス(そしてlibwrapのサポートが組み込まれているプログラム)は、TCPラッパーを使用してアクセスを管理することができます。xinetdは、/etc/hosts.allow/etc/hosts.denyファイルを使ってシステムサービスへのアクセスを設定することができます。ネームそれ自体が表しているように、hosts.allowには、xinetdによって制御されるネットワークサービスへクライアントのアクセスを許可する規則一覧が含まれ、hosts.denyにはアクセスを拒否する規則が含まれています。hosts.allowファイルはhosts.denyファイルに優先します。アクセスを許可したり、拒否する決定は、各IPアドレス(またはホスト名)か、またはクライアントのパターンに基づいて行われます。詳細については、Red Hat Linux 参照ガイド及び、manページ(man 5 hosts_access)のセクション5内のhosts_accessを参照してください。

14.2.1. xinetd

インターネットサービスへのアクセスを制御するには、xinetdを使用します。inetdの代わりになるもので、より安全です。xinetdデーモンはシステム資源を保護し、アクセスを制御し、ログをとります。また、特殊な用途のサーバー群を起動するために使用することもできます。xinetdを使用すれば、特定ホストへのアクセスのみを許可したり、特定ホストへのアクセスを禁止したり、特定の時間帯にのみサービスへのアクセスを許可したり、受信接続の割合や接続による負荷を制限したりすることができます。

xinetdは停止することなく動作し続け、すべてのポート上で管理するサービスを監視します。管理するサービスのいずれかに対する接続要求が到着すると、xinetdは該当するサービスに適したサーバーを起動します。

xinetd用の設定ファイルは/etc/xinetd.confですが、このファイルの内容を調べてみれば、ファイルには、いくつかのデフォルト値と/etc/xinetd.dディレクトリをインクルードするための命令しかないことがわかるでしょう。xinetdサービスを有効または無効にするには、/etc/xinetd.dディレクトリ内の設定ファイルを編集します。disable属性がyesに設定されている場合は、サービスは無効です。disable属性がnoに設定されている場合は、サービスは有効です。サービス設定ツールntsysvあるいはchkconfigを使用して、xinetd設定ファイルを編集したり、又は、そのステイタスを変更することが出来ます。xinetdによって制御されているネットワークサービスの一覧は、ls /etc/xinetd.dコマンドを使用して、/etc/xinetd.dディレクトリの内容を確認して下さい。