TCPWrapper
は各種サービスへのアクセス元を制限するために使用します。これにより外部からの不当なアタックをかなり排除する事が出来、安全性を高める事ができます。
sendmail や Apache
など常時起動型デーモンには使用できませんので、これらのデーモンに対しては(もし必要なら)各デーモン側の設定ファイルで対応する必要があります。
通常特別なインストール操作をしなくても、標準で TCPWrapper を使用するように組み込まれていますが、すべてのアクセスを認めるように設定してありますので、設定ファイルを編集しないと何の効果もありません。なおTCPWrapperが導入済の場合は、/etc/inetd.conf ファイルの該当するサービス行に /usr/sbin/tcpd の記述があるはずです。
アクセス制限設定ファイルは /etc/hosts.allow と
/etc/hosts.deny
です。両方とも書式は同じで、「サービス名:接続元アドレス」を必要な行数分記述します。
サービス名は inetd.conf
中の7番目のフィールドと対応しています。サービス名の
ALL はすべてのサービスを意味します。
接続元アドレスには
IPアドレス、ホスト名、ドメイン名が使用できます。アドレス欄のALLはすべての接続元を意味します。これらの内、IPアドレスでの指定は逆引きが必要ないので一番高速です。
hosts.deny は以下の内容になっており、特別な場合を除いて変更する事はありません。
ALL: ALL
hosts.allow には許可するアクセス元を指定します。
たとえば外部からのアクセスをすべて禁止する場合は以下の設定になります。なお、この場合でも 127.0.0.1 (localhost:自分自身)は必ず許可しておきます。
ALL: 127.0.0.1
メールチェックとFTPはどこからでもできるが、その他のサービスは
InfoWeb
で接続した時だけに制限するには次のようにします。
この例では InfoWeb
にダイアルアップ接続した場合、たとえばcs123.ppp.infoweb.ne.jp
の様なアドレスが付与され、しかも infoweb.ne.jp
より前の部分は接続毎に変化します。そこで
infoweb
より前に何が付いても良いという事を示すため、先頭にドットを付けています。先頭ドットがない場合は完全一致となります。
in.pop3d wu.ftpd: ALL
ALL: .infoweb.ne.jp 127.0.0.1
Copyright (C)1997-2000
Ensouler. All rights reserved.
無断転載不可