TCP Wrapperの設定

 TCP Wrapperとは、xinetd が出る前に、inetd と併用してスーパーサーバーのプログラムとして、アクセス制限の為によく使われていたプログラムです。 TCP Wrapperの機能も持つ xinetd が出始めてからは、スーパーサーバーとして利用される事が少なくなってしまいました。
 今では OpenSSH、portmapper などの TCP Wrapper を利用するプログラムのアクセス制限がメインです。
 xinetd と TCP Wrapper と、どちらを使用してもセキュリティ的な問題はありません。両方使用する事は可能ですが、設定が混乱しないようしてください。  ここでは TCP Wrapper の使用したアクセス制限の基本的な”/etc/hosts.allow”と”/etc/hosts.deny”について掲載します。

≪ 項目 ≫
1.TCP Wrapperのインストール
2.TCP Wrapperの設定

 1.TCP Wrapperのインストール

 今回の TCP Wrapper のインストールには、Turbo Linux の RPMS(パッケージ)を使用します。
 下が使用するパッケージです。

 tcp_wrappers-7.6-18.i586.rpm
   2004/12/05 時点での最新のVersionです。


 以下の様にコマンドを実行してインストールします。

 rpm -ihv tcp_wrappers-7.6-18.i586.rpm

 インストールが完了したら、”/etc/hosts.allow”と”/etc/hosts.deny”の2つのファイルがあるか確認してください。


 2.TCP Wrapperの設定

 アクセス制御はの設定ファイルは”/etc/hosts.allow”と”/etc/hosts.deny”の2つで行います。
/etc/hosts.allow”にアクセス許可のルールを記述して、”/etc/hosts.deny”にアクセス拒否のルールを記述します。書式は以下の通りです。

 << プログラム名 >> : << ホスト Or IPアドレス >>  ( :  コマンド 

 プログラム名の箇所には、ルールを適用するサービスのプログラム名を記述します。(in.ftpd や sshd など) ”ALL”と記述した場合、全てのサービスが対象となります。

 ホスト Or IPアドレス には、適用されるホストを指定します。IPアドレスは”,”(カンマ)で区切る事によって複数指定が可能です。
 また”.”(ピリオド)を使用する事でワイルドカード扱いすることも可能です。 例えば”.plala.jp”とすれば、ドメインが”.plala.jp”のホストに対してはルールが適用される事になります。”ALL”と記述した場合、全てのホストが対象となります。

 コマンドの箇所には、アクセス制御が行われた場合に実行するコマンドを指定することができます。
 ”/etc/hosts.deny”に以下の様に記述すれば、アクセス拒否をした時にメールをrootユーザーに送信します。

 ALL : ALL :spawn=(/usr/sbin/safe_finger -l @%h | /bin/mail/ -s %d -%h root ) &


 << 設定例 >>

 ”/etc/hosts.allow”の設定例です。

  # FTP のルール
  in.ftpd : .plala.jp

  # Portmap のルール
  portmap : 192.168.100.10, 192.168.100.11

  # SSH のルール
  sshd : ALL


 ”/etc/hosts.deny”の設定例です。順番的には”/etc/hosts.allow”を読み込んで”/etc/hosts.deny”を読み込むので、アクセス許可のルールから外れているものは全て拒否した方が良いでしょう。

  ALL : ALL




先頭に戻る  TOPページに戻る