このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
TCPラッパーは、受信ネットワーク・トラフィックの基本的なフィルタリングを提供します。 他のシステムからLinuxサーバー上で実行されている特定のwrappedネットワーク・サービスへのアクセスを、許可または拒否します。 ラップされたネットワーク・サービスとは、libwrap.a
ライブラリに対してコンパイルされたサービスです。 sshdデーモンの次の例に示されているように、lddコマンドを使用してネットワーク・サービスがラップされているかどうかを確認できます。
# ldd /usr/sbin/sshd | grep libwrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f877de07000)
リモート・クライアントがシステム上のネットワーク・サービスに接続しようとすると、ラッパーは構成ファイル/etc/hosts.allow
および/etc/hosts.deny
ファイルのルールに問い合せてアクセスが許可されるかどうかを判断します。
サービスのラッパーはまず、/etc/hosts.allow
を上から順番に読み取ります。 デーモンとクライアントの組合せがファイル内のエントリと一致する場合、アクセスは許可されます。 /etc/hosts.allow
で一致が見つからない場合、ラッパーは/etc/hosts.deny
を上から順番に読み取ります。 デーモンとクライアントの組合せがファイル内のエントリと一致する場合、アクセスは拒否されます。 デーモンとクライアントの組合せのルールがどのファイルにもない場合、またはどちらのファイルも存在しない場合、サービスへのアクセスは許可されます。
ラッパーはまず/etc/hosts.allow
で指定されたルールを適用し、これらのルールが/etc/hosts.deny
で指定されたルールよりも優先されるようにします。 /etc/hosts.allow
で定義されたルールによりサービスへのアクセスが許可される場合、同じサービスへのアクセスを拒否する/etc/hosts.deny
内のルールはすべて無視されます。
ルールは次の形式をとります。
daemon_list
:client_list
[:command
] [: deny]
daemon_list
およびclient_list
はデーモンおよびクライアントのカンマ区切りリストで、クライアントがデーモンへのアクセスを試行するときにオプションのcommand
が実行されます。 すべてのデーモンまたはすべてのクライアントを表すには、キーワードALL
を使用します。 サブネットは、*
ワイルドカードを使用して表します(例: 192.168.2.*
)。 ドメインは、ドメイン名にピリオド(.
)の接頭辞を付けて表します(例: .mydomain.com
)。 オプションのdeny
キーワードを付けると、/etc/hosts.allow
ファイルで指定されているルールの場合でも接続が拒否されます。
次に、ルールの例をいくつか示します。
すべてのクライアントのscp、sftpおよびsshアクセス(sshd
)を照合します。
sshd : ALL
192.168.2サブネット上のすべてのクライアントのFTPアクセス(vsftpd
)を照合します。
vsftpd : 192.168.2.*
mydomain.com
ドメイン内のすべてのクライアントのすべてのラップ済サービスへのアクセスを照合します。
ALL : .mydomain.com
すべてのクライアントのFTPアクセスを照合し、バナー・ファイル/etc/banners/vsftpd
のコンテンツを表示します(バナー・ファイルの名前はデーモンの名前と同じである必要があります)。
vsftpd : ALL : banners /etc/banners/
200.182.68サブネット上のすべてのクライアントのすべてのラップ済サービスを照合し、すべての当該イベントを記録します。 %c
および%d
トークンは、クライアントおよびデーモンの名前に拡張されます。
ALL : 200.182.68.* : spawn /bin/echo `date` “Attempt by %c to connect to %d" >> /var/log/tcpwr.log
すべてのクライアントのscp、sftpおよびsshアクセスを照合し、イベントをemerg
メッセージとして記録します。このメッセージはコンソールに表示されます。
sshd : ALL : severity emerg
forbid.com
ドメイン内のすべてのクライアントのscp、sftpおよびsshアクセスを照合し、イベントを記録し、アクセスを拒否します(ルールが/etc/hosts.allow
に表示されている場合でも)。
sshd : .forbid.com : spawn /bin/echo `date` "sshd access denied for %c" >>/var/log/sshd.log : deny
詳細は、hosts_access(5)
マニュアル・ページを参照してください。