Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.4. ネットワークアクセスのセキュア化

4.4.1. TCP Wrapper と xinetd を使用したサービスの保護

TCP Wrapper の機能は、サービスへのアクセスを拒否するだけではありません。このセクションでは、これらを使用して接続バナーを送信し、特定のホストからの攻撃を警告し、ロギング機能を強化する方法を説明します。TCP Wrapper の機能および制御言語に関する詳細は、hosts_options(5) の man ページを参照してください。利用可能なフラグ (サービスに適用できるオプションとして機能) については、xinetd.conf(5) の man ページを参照してください。

4.4.1.1. TCP Wrapper と接続バナー

ユーザーがサービスに接続する際に適切なバナーを表示することは、潜在的な攻撃者に対して、システム管理者が警戒していることを知らせる良い方法です。システムに関するどの情報をユーザーに表示するかを制御することもできます。サービスに TCP Wrapper バナーを実装するには、banner オプションを使用します。
以下の例では、vsftpdにバナーを導入します。最初にバナーファイルを作成します。これは、システム上のどこにあってもかまいませんが、デーモンと同じ名前である必要があります。この例では、ファイルは /etc/banners/vsftpd と呼ばれ、次の行が含まれています。
220-Hello, %c
220-All activity on ftp.example.com is logged.
220-Inappropriate use will result in your access privileges being removed.
%c トークンは、ユーザー名とホスト名、またはユーザー名と IP アドレスなどのさまざまなクライアント情報を提供して、接続がよりいっそう威嚇的になるようにします。
このバナーを受信接続に表示するには、/etc/hosts.allow ファイルに次の行を追加します。
vsftpd : ALL : banners /etc/banners/

4.4.1.2. TCP Wrapper と攻撃警告

特定のホストまたはネットワークがサーバーを攻撃していることが検出された場合、TCP Wrapper を使用して、spawn ディレクティブを使用したそのホストまたはネットワークからの後続の攻撃について管理者に警告できます。
この例では、206.182.68.0/24 ネットワークからサーバーを攻撃しようとするクラッカーが検出されたと仮定します。/etc/hosts.deny ファイルに次の行を配置して、そのネットワークからの接続試行を拒否し、その試行を特別なファイルに記録します。
ALL : 206.182.68.0 : spawn /bin/echo `date` %c %d >> /var/log/intruder_alert
%d トークンは、攻撃者がアクセスしようとしたサービスの名前を提供します。
接続を許可してログに記録するには、spawn ディレクティブを /etc/hosts.allow ファイルに配置します。
注記
spawn ディレクティブは任意のシェルコマンドを実行するため、特定のクライアントがサーバーに接続しようとした場合に、管理者に通知するか、一連のコマンドを実行するための特別なスクリプトを作成することをお勧めします。

4.4.1.3. TCP Wrapper とロギングの強化

特定のタイプの接続が他のタイプよりも懸念される場合は、重大度 オプションを使用して、そのサービスのログレベルを上げることができます。
この例では、FTP サーバーのポート 23 (Telnet ポート) に接続しようとしている人はクラッカーであると想定します。これを示すには、ログファイルにデフォルトのフラグ info の代わりに emerg フラグを配置し、接続を拒否します。
これを行うには、次の行を /etc/hosts.deny に配置します。
in.telnetd : ALL : severity emerg
これは、デフォルトの authpriv ログ機能を使用しますが、優先度をデフォルト値の info から emerg に上げます。これにより、ログメッセージがコンソールに直接送信されます。