| 無料ホームページスペース無料メールアドレスをご提供します。 KANSAI WEBサービス会員規約 |
| コンピュータ/通信総合サイト・広島の関西商事 管理人:大内 雅司 |
TCP Wrapperの取り扱いについてマスターする
| このセクションのポイント |
| @”libwrap.a”ライブラリをしようしたデーモンでは、TCP Wrapperによるアクセス制御が可能になる。 Aこのようなデーモンは、”xinetd”、”sshd”、”sendmail”、”vsftpd”などがある。 B設定ファイルは”/etc/hosts.allow”と”/etc/hosts.deny”の2つのファイルでアクセス制御が可能になる。 |
”
★TCP Wrapperを使うサービス
TCP Wrapperを】サポートするサービスデーモンは、アクセスしてきたクライアントのIPアドレスをもとに、接続を許可する/拒否するの判断を行ないます。Fedora Coreに含まれるRPMパッケージでいうと、”xinetd”、”sshd”、”sendmail”、”vsftpd”なっどが当てはまります。それらのサービスデーモンからアクセスがあった場合に、アクセス制御ファイル(/etc/hosts.alow及び/etc/hosts.deny)の設定を確認し、許可されている通信であれば、接続を受け入れます。設定ファイルには「どのサービスデーモン」にアクセスがあったときに、【許可/拒否」するかを記述する必要があります。
■TCP Wrapperの設定ファイルは、”/etc/hosts.allow”と”/etc/hosts.deny”です。前者がアクセスを「許可」するために、後者が「拒否」するために使用されます。
だたし、初期状態では何も設定されていません。
▼アクセス制御の流れ
| 設定ファイル | 用途 |
| /etc/hosts.allow | アクセスを許可するサービスおよびクライアントを設定する。 |
| /etc/hosts.deny | アクセスを拒否するサービスおよびクライアントを設定する。 |
クライアントからのアクセスを許可/拒否する判断は、以下の手順で行なわれます。
@まず、クライアントからのアクセスが許可されている通信かどうか、”/etc/hosts.allow"ファイルを確認します。もし許可する設定がされていたら、通信を許可し各サービスとの接続を確立します。
A”/etc/hosts.allow”ファイルに設定されていない通信だったばあいは、”/etc/hosts.deny”ファイルを参照し、アクセスを拒否するか設定があるかどうか確認されます。もし、拒否する設定がされていたら、各サービスとの接続を許しません。
Bクライアントからのアクセスが、”/etc/hosts.allow”ファイルと"/etc/hosts.deny"ファイルの両方の設定とマッチしなかった場合、接続を許可します。
デフォルトの”/etc/hosts.allow”ファイル及び”/etc/hosts.deny”ファイルは、”#”で始まる行だけが、記述されています。これらのファイルにおいて、行頭に”#”を入れた行は「コメント行」と呼ばれ、どのような意図で設定を入れたのか、理解しやすいようにコメントを入れるための行になっています。実際にプログラムが実行されるときは、コメント行の記述は無視されます。
つまり、初期設定はすべてのサービスを認めている設定になっています。
▼/etc/hots.allowの初期設定
| # # hosts.allow This file describes the name of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server # |
▼/etc/hots.denyの初期設定
| # # hosts.allow This file describes the name of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow, in particular # you should know that NFS uses portmap! |
★TCP Wrapperの設定
”etc/hosts.allow"ファイルと”/etc/hosts.deny"ファイルは、ほとんど同じ書式をしています。
最低限記述する必要がある項目は、「サーバーデーモン名」と「アクセスしてきたクライアントのアドレス」の2つで、各項目をコロン(:)で区切る必要があります。
ここでは、具体的な例を挙げて説明します。
▼/etc/hosts/allow
| sshd:192.168.0. |
▼/etc/hosts/deny
| ALL:ALL |
■デーモンファイル名
最初のフィールドには、デーモンファイル名を記述します。デーモンファイルは多くの場合、”/sbin”ディレクトリや”/usr/sbin”ディレクトリにあり、
設定をしたいサーバーデーモンファイル名を記述すれば「OK]です。
・「/etc/hosts.allowの設定例」で挙げた「sshd」は、sshデーモンです。実際には、”/isr/sbom/ssjd”を起動する際に適用されます。
・「/etc/hosts.denyの設定例」で挙げた「ALL」は、「libwrapライブラリを使用する全てのサーバデーモン」を対象とします。
■クライアントリスト
2番目のフィールドには、IPアドレスあるいはホスト名を記述します。ネットワーク単位の指定も可能です。
・「/etchosts.allowの設定例」であげた「192.168.0.」は「192.168.0.0./24」ネットワークを表します。最後のどっと(.)を忘れないで下さい。
一台のコンピュータだけを指定する場合は、そのままIPアドレスを記述すれば「OK」です。
・「/etc/hosts.denyの設定例」で挙げた「ALL」は、「サーバーにアクセスしてくる全てのクライアント」を表します。
結局、上記の例の場合、「192.168.0.0./24のネットワークに属するコンピュタだけ」が、libwrapサポートを受けるデーモンのうち、「sshサービス」にだけアクセスできる設定になります。
(注意)”libwrap”サポートを受けるデーモン以外は対象に入らないことに注意してください!!
[戻 る]
無料でホームページスペースをご提供しています。
| copy right kansai-syoji,.co all right reserved Web-Master masashi ouchi http://kansai.homelinux.com/~Linux |