21.2. TC Pラッパー

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

21.2.1. xinetd

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

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

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