Nagios

序論


TCPラッパー

このドキュメントでは、TCPラッパーが拒否した接続の試みに対して簡単にNagiosが警告を作り出す方法を説明しています。 例えば、権限のないホストが、あなたのSSHサーバに接続しようとすると、拒絶されたホストの名前を含む警告をNagiosで受けることができます。 あなたのLinux/unixマシン上にこれを実装すると、あなたはネットワークを通して何と多くのポート・スキャンが検出できるかに驚きます。

これら心得があると仮定します。

  1. あなたは既にパッシブ・チェックとそれらがどう働いているかに詳しい。
  2. あなたは既に不安定なサービスとそれらがどう働いているかに詳しい場合。
  3. (警報を生成しているホスト(すなわち、TCPラッパーを使っているホスト)はリモート・ホストです。(この例ではファイアーストームと呼ばれています) Nagiosが実行しているのと同じホストの上で警戒を生成したいなら、私が提供した例に幾つかの変更をする必要があります。
  4. あなたの監視するサーバーに 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
    ...
}

サービス定義に関して注意すべき幾つかの重要なことがあります:

  1. 不安定オプションを許可します 私たちは、入ってくるあらゆる警戒の通知を生成して欲しいと思うので、このオプションを許可して欲しいと思います。
  2. サービスのアクティブ・チェックを禁止し、パッシブ・チェックを許可 これは、サービスがNagiosでアクティブ・チェックされないことを意味します - 外の警報源からすべての警報情報は、受動的に受けとらなかければいけません。
  3. 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 

参照 参照: 統合概要, 外部コマンド, パッシブ・チェック

English Deutsch 日本語

目次