TCP Wrappers

サービスごとに接続の可否を制御する。

Gentooで利用するためには、USEフラグにtcpdを指定する。

USE="tcpd"

従来は、xinetdやinetdなどからサービスを起動する際に、tcpdを経由することでアクセス制御を行っていたが、サービスがスタンドアロンで起動している場合には、そのサーバがTCP Wrappersに対応(USEフラグにtcpdが含まれている)していなければならない。USEフラグとしてtcpdを指定するとlibwrapがリンクされ、/etc/hosts.allow、/etc/hosts.denyを参照してアクセス制御できるようになる。

以下のコマンドでlibwrapをリンクしているコマンドを検索できる。

 ldd /usr/sbin/* 2>/dev/null | sed -n '/:$/{s/://;h};/libwrap/{g;p}'

設定

  1. 最初にhosts.allowが参照され、ここにマッチすれば接続を許可。
  2. hosts.allowにマッチしなければ、hosts.denyが参照される。
  3. hosts.denyにマッチしなければ、接続を許可。
  4. hosts.denyにマッチすれば、接続を拒否。

特定のアクセスのみ許可する場合は、hosts.denyで全てを拒否してhosts.allowで許可したいものだけ列挙する。

特定のアクセスのみ拒否する場合は、hosts.denyにそのホストを列挙する。