序論
このドキュメントでは、TCPラッパーが拒否した接続の試みに対して簡単にNagiosが警告を作り出す方法を説明しています。 例えば、権限のないホストが、あなたのSSHサーバに接続しようとすると、拒絶されたホストの名前を含む警告をNagiosで受けることができます。 あなたのLinux/unixマシン上にこれを実装すると、あなたはネットワークを通して何と多くのポート・スキャンが検出できるかに驚きます。
これら心得があると仮定します。
- あなたは既にパッシブ・チェックとそれらがどう働いているかに詳しい。
- あなたは既に不安定なサービスとそれらがどう働いているかに詳しい場合。
- (警報を生成しているホスト(すなわち、TCPラッパーを使っているホスト)はリモート・ホストです。(この例ではファイアーストームと呼ばれています) Nagiosが実行しているのと同じホストの上で警戒を生成したいなら、私が提供した例に幾つかの変更をする必要があります。
- あなたの監視するサーバーに NSCA デーモン とTCPラッパー警告を生成するリモートマシンにNSCAクライアント(send_ssca)をインストールしました。
サービス定義
まだしていないなら、リモート・ホスト(ファイアーストリーム)のホスト定義を作成します。
次に、TCPラッパー警報を出す ホスト ファイアーストームにオブジェクト・設定ファイルの一つのサービスを定義します。 サービス定義はこの様に見えます:
define service{
host_name firestorm
service_description TCP Wrappers
is_volatile 1
active_checks_enabled 0
passive_checks_enabled 1
max_check_attempts 1
check_command check_none
...
}
サービス定義に関して注意すべき幾つかの重要なことがあります:
- 不安定オプションを許可します 私たちは、入ってくるあらゆる警戒の通知を生成して欲しいと思うので、このオプションを許可して欲しいと思います。
- サービスのアクティブ・チェックを禁止し、パッシブ・チェックを許可 これは、サービスがNagiosでアクティブ・チェックされないことを意味します - 外の警報源からすべての警報情報は、受動的に受けとらなかければいけません。
- max_check_attempts の値を1に設定 これは、最初の警告がが発生するとき、あなたが通知を得るのを保証します。
TCPラッパーを構成します。
今、ファイアーストームの/etc/hosts.denyファイルを変更しなければならないでしょう。 接続の試みが否定されたときはいつも、TCPラッパーに警告を監視ホストに送らせるように、以下の様な行を追加しなければなりません。:
ALL: ALL: RFC931: twist (/usr/local/nagios/libexec/eventhandlers/handle_tcp_wrapper %h %d) &
この行は、ファイアーストームの /usr/local/nagios/libexec/eventhandlers ディレクトリに handle_tcp_wrapper と呼ばれるスクリプトがあると仮定します。 私たちは、次に、そのスクリプトを書きます。
スクリプトを書きます。
最後にしなければならないことは handle_tcp_wrapper スクリプトをNagiosサーバに警告を送るファイアーストームで書く事です。それはこの様になります。
#!/bin/sh
/usr/local/nagios/libexec/eventhandlers/submit_check_result
firestorm "TCP Wrappers" 2 "Denied $2-$1" > /dev/null 2> /dev/null
handle_tcp_wrapper スクリプトがモニタ・ホストに警報を実際に送るsubmit_check_result スクリプトを呼ぶのに注意します。 あなたのNagiosサーバは監視と呼ばれていると仮定し、実行される check_result スクリプトはこの様になります。:
#!/bin/sh
# Arguments
# $1 = name of host in service definition
# $2 = name/description of service in service definition
# $3 = return code
# $4 = output
/bin/echo -e "$1\t$2\t$3\t$4\n" | /usr/local/nagios/bin/send_nsca monitor
-c /usr/local/nagios/etc/send_nsca.cfg
完了します。
これで全ての設定が終わったのでファイアーストームのinetdプロセスをリスタートし、監視サーバのNagiosをリスタートします。これだけです! 火事嵐のTCPラッパーが接続試みを否定するとき、Nagiosで警戒を得るべきです。 警告のプラグイン出力は次のように見えます:
Denied sshd2-sdn-ar-002mnminnP321.dialsprint.net