48.5.4.3.2. アクセス制御オプション
xinetd
サービスのユーザーは、TCP Wrapper のホストアクセスルールの使用、xinetd
設定ファイルを介したアクセス制御の提供、またはその両方の組み合わせを選択できます。TCP Wrappers ホストアクセス制御ファイルの詳細は、「TCP Wrapper 設定ファイル」 を参照してください。
本セクションでは、
xinetd
を使用してサービスへのアクセスを制御する方法を説明します。
注記
TCP Wrapper とは異なり、アクセス制御への変更は
xinetd
管理者が xinetd
サービスを再起動する場合にのみ有効になります。
また、TCP Wrapper とは異なり、
xinetd
を介したアクセス制御は xinetd
によって制御されるサービスにのみ影響します。
xinetd
のホストアクセス制御は、TCP Wrapper で使用される方法とは異なります。TCP Wrapper は、すべてのアクセス設定を /etc/hosts.allow
と /etc/hosts.deny
の 2 つのファイルに配置しますが、xinetd
のアクセス制御は /etc/xinetd.d/
ディレクトリーの各サービスの設定ファイルにあります。
以下のホストアクセスオプションは
xinetd
でサポートされています。
only_from
: 指定されたホストのみがサービスを使用できるようにします。no_access
: サービスの使用から一覧表示されるホストをブロックします。access_times
: 特定のサービスを使用できる時間の範囲を指定します。時間の範囲は、24 時間形式の表記(HH:MM-HH:MM)で記述する必要があります。
only_from
オプションおよび no_access
オプションは、IP アドレスまたはホスト名の一覧を使用するか、ネットワーク全体を指定できます。TCP Wrapper と同様に、xinetd
のアクセス制御と強化されたロギング設定を組み合わせると、禁止ホストからの要求をブロックし、各接続試行を詳細に記録することでセキュリティーを強化できます。
たとえば、以下の
/etc/xinetd.d/telnet
ファイルを使用して、特定のネットワークグループからの Telnet アクセスをブロックし、ユーザーがログインできる全体的な時間範囲を制限できます。
service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/kerberos/sbin/telnetd log_on_failure += USERID no_access = 172.16.45.0/24 log_on_success += PID HOST EXIT access_times = 09:45-16:15 }
この例では、
10.0.1 .2
などの 10.0.1.0/24
ネットワークのクライアントシステムが Telnet サービスにアクセスしようとすると、以下のメッセージが表示されます。
Connection closed by foreign host.
さらに、ログインの試行は以下のように
/var/log/messages
に記録されます。
Sep 7 14:58:33 localhost xinetd[5285]: FAIL: telnet address from=172.16.45.107 Sep 7 14:58:33 localhost xinetd[5283]: START: telnet pid=5285 from=172.16.45.107 Sep 7 14:58:33 localhost xinetd[5283]: EXIT: telnet status=0 pid=5285 duration=0(sec)
TCP Wrapper を
xinetd
アクセス制御と併用する場合は、2 つのアクセス制御メカニズム間の関係を理解することが重要です。
以下は、クライアントが接続を要求する際に
xinetd
が続くイベントシーケンスになります。
xinetd
デーモンは、libwrap.a
ライブラリー呼び出しを使用して、ホストアクセスルールにアクセスします。deny ルールがクライアントと一致する場合、接続は破棄されます。allow ルールがクライアントと一致する場合、接続はxinetd
に渡されます。xinetd
デーモンは、xinetd
サービスと要求されたサービスの両方について、独自のアクセス制御ルールをチェックします。deny ルールがクライアントと一致する場合、接続は破棄されます。それ以外の場合は、xinetd
は要求されたサービスのインスタンスを開始し、そのサービスへの接続の制御を渡します。
重要な影響
xinetd
アクセス制御とともに TCP Wrapper のアクセス制御を使用する場合は注意が必要です。設定が間違っていると、望ましくない結果が生じる可能性があります。