ホーム > UNIX系サーバー > Linuxの設定例 > TCP Wrapperでのアクセス制御

TCP Wrapperでのアクセス制御



サーバーを外部からの不正アクセスから守る為に、セキュリティを強化することはとても大切なことです。
不正アクセスさせない為には、不必要なサービスは提供しないのが一番です。
ですので、サーバーのセキュリティの1つ、いったんすべてのサービスへのアクセスを拒否して、その後必要なサービス(ftpやtelnetなど)についての許可を設定します。

TCP Wrapperを利用したアクセス制御は、
アクセス許可ファイル  /etc/hosts.allow
アクセス拒否ファイル  /etc/hosts.deny

上記のファイルに、各サービス名ごとに記述します。アクセス制御のポリシーは
アクセス拒否ファイルを参照して、記述されているホストやIPアドレスからのアクセスを拒否する。
アクセス許可ファイルを参照して、記述されているホストやIPアドレスからのアクセスを許可する。
両方に記述されていないファイルは許可する。

となっています。つまり条件3に書いてあるように、/etc/hosts.allowや/etc/hosts.denyにアクセス制御の為の記述をしっかりしていないと、インストールして使える状態になっているサービスへのアクセスは、すべて許可されてしまいます。ですので、ここはしっかりと設定しておいた方が良いです。まず先ほど書いた通り、すべてのアクセスを拒否する設定をします。(初期設定では、2つともコメントだけ記述されています)
/etc/hosts.deny

ALL: ALL

この書式は、(サービス名): (ホスト又はIPアドレス)です。ALLとはすべてのサービス、すべてのホスト、IPアドレスに対して拒否することになります。このように、いったん、すべてのアクセスを拒否しておきましょう。
では、次に提供するサービスを設定します。例で、ftpはすべてのアクセスに対して、telnetはローカル内の192.168.1.87を持つクライアントだけアクセスできるように記述します。
/etc/hosts.allow

in.ftpd: ALL
in.telnetd: 192.168.1.87

と記述します。書式は/etc/hosts.denyと同じです。この場合、ftpはALLですので、すべてのアクセスを許可します。telnetは、自分のIPアドレスだけを指定しているので、他のIPアドレスからのアクセスは拒否されます。
自分のローカルネットワークからアクセス許可した場合、ネットワークが192.168.1.0なら、
192.168.1.
と記述しておきます。最後の「.」は忘れないようにしてください。

注)libwrapサポートを受けるデーモン以外は対象になりません。