TCP Wrapperの概要、TCP Wrapperによるアクセス制御
ネットワークサービスのアクセス制御は「TCP Wrapper」を使います。TCP Wrapperデーモンであるtcpdデーモンは、「telnetd」「ftpd」などのサーバプログラムに代わり、サービス要求を受け取ったら設定に基づきチェックを行い、接続が許可されたらそれぞれのサーバプログラムに処理を引き渡します。
設定ファイルは「/etc/host.allow」「/etc/hosts.deny」です。
tcpdは悪性業の設定ファイル「/etc/host.allow」「/etc/hosts.deny」を調べ、サービス要求を許可・拒否を決定します。許可時は対応するサーバプログラムを起動して制御を引き渡します。
また、TCP Wrapperライブラリの「libwrap」を利用しているアプリケーションは、tcpdなしでもTCP Wrapperの機能を利用できます。
OpenSSHサーバ、各種POP/IMAPサーバなどlibwrapを利用しています。
/etc/host.allow と /etc/hosts.deny
TCP Wrapperは、初めに「/etc/host.allow」をチェックしてファイルに記述された条件に合致すればアクセス許可をします。この場合「/etc/hosts.deny」ファイルは参照にされません。
合致する条件がなければ、「/etc/hosts.deny」をチェックします。ここで条件が合致すればアクセスを拒否します。条件にマッチしなかったものはアクセスが許可されます。
下記はこれらファイルへの記述例です。
書式例
サービス名 : 対象のホストリスト
「サービス名」はデーモンプロセス名(sshdなど)を、「対象ホスト」はホスト名、ドメイン名、IPアドレスを記述します。