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 Wrappersバナーを実装するには、バナーオプションを使用します。
以下の例では、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 Wrappersは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トークンは、攻撃者がアクセスしようとしていたサービスの名前を提供します。
接続を許可してログを取るには、/etc/hosts.allowファイルにspawnディレクティブを記述します。
注記
spawn指令は任意のシェルコマンドを実行するので、特定のクライアントがサーバーに接続しようとした場合に、管理者に通知したり、一連のコマンドを実行したりする特別なスクリプトを作成しておくとよいでしょう。

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

特定の種類の接続が他の接続よりも懸念される場合は、severityオプションを使用してそのサービスのログレベルを上げることができます。
この例では、FTP サーバーでポート 23(Telnet ポート)への接続を試みるすべてのユーザーがクラッカーであると仮定します。これを示すために、ログファイルにデフォルトのフラグであるinfoの代わりにemergのフラグを置き、接続を拒否します。
そのためには、/etc/hosts.denyに以下の行を入れてください。
in.telnetd : ALL : severity emerg
これは、デフォルトのauthprivログ機能を使用しますが、優先順位をデフォルトのinfoからemergに昇格させ、ログメッセージをコンソールに直接投稿します。