序論
このドキュメントは、Webインターフェースを通してNagios CGIを、だれが監視画面、設定情報を参照でき、Nagiosデーモンにコマンド実行することが出来かを決めるかを記述します。
定義
続ける前に、認証されたユーザと認証された連絡先の意味と違いを理解するのは重要です
- Webサーバにユーザ名とパスワードで認証されたユーザは、Nagiosのウェブ・インタフェースへのアクセスを許可された人です。
- 認証された連絡先はユーザ名が連絡先定義の省略名に合っている認証されたユーザです。
認証されたユーザーを設定する
クイックスタート Fedora, クイックスタート OpenSuse, クイックスタート Ubuntu で説明されるように、ウェブサーバーを設定する場合、その前にNagiosのCGIへのアクセス認証をする必要があります。 また、あなたには、CGIにアクセスできる1つのユーザ・アカウント(nagiosadmin)があるべきです。
ホストとサービス通知の受信のために、より多くの連絡先を定義するので、あなたはそれらをNagiosのウェブ・インタフェースにアクセスさせたくなります。 CGIに認証できる追加ユーザを加える以下のコマンドを使用できます。 <username> を実際に加えたいユーザ名に変更します。 大抵の場合、ユーザ名は定義された連絡先の略称に合わせるべきです。
htpasswd /usr/local/nagios/etc/htpasswd.users <username>
CGIで認証/承認の機能を可能にします
あなたが次にする必要なことは、CGIがユーザーがどんな情報やコマンドにアクセスするか決定する際に認証と承認機能を使うように確認することを確認することです。 これは use_authentication 変数をCGI設定ファイルにゼロで無い値で設定することで完了します。 例:
use_authentication=1
user_authentication=1 は、これでCGIの基本認証/認証機能を設定を可能とします。
CGI情報へのデフォルト許可
それで、認証/承認機能が許可にされると、ユーザーはデフォルトでCGIにどんなデフォルト許可を持っていますか?
CGIデータ | 認証された連絡 * | 他の認証されたユーザ * |
---|---|---|
ホストの状態情報 | はい | いいえ |
ホストの設定情報 | はい | いいえ |
ホストの履歴 | はい | いいえ |
ホストの通知 | はい | いいえ |
ホストコマンド | はい | いいえ |
サービスのステータス情報 | はい | いいえ |
サービスの設定情報 | はい | いいえ |
サービスの履歴 | はい | いいえ |
サービスの通知 | はい | いいえ |
サービスコマンド | はい | いいえ |
すべての設定情報 | いいえ | いいえ |
システム/プロセス情報 | いいえ | いいえ |
システム/プロセスのコマンド | いいえ | いいえ |
承認された連絡先*はそれぞれのサービスが連絡先に付いて以下の許可が与えられます。(しかし連絡を行わないサービスについてではありません)
- サービスステータス情報表示の承認
- サービスの設定情報を見ることの承認
- サービスの履歴と通知を見ることの承認
- サービスコマンドを発行する承認
許可された通知先 * は、それぞれのホストに許可が与えられます。それは、ホストが連絡する先です。(連絡を行わないホストのためではありません)…
- ホストステータス情報表示の承認
- ホストの設定情報を見ることの承認
- ホストの履歴と通知を見ることの承認
- ホストコマンドを発行する承認
- ホスト上のすべてのサービスのステータス情報を見ることの承認
- ホスト上のすべてのサービスの設定情報を見ることの承認
- ホスト上のすべてのサービスの履歴と通知情報を見ることの承認
- ホスト全てのサービスにコマンドを出す承認
デフォルトでは、だれも以下の権限を与えられないことに注意するのは、重要です…
- showlog CGIを通してログファイルを見ます。
- 拡張情報CGIを通してNagiosプロセス情報を見ます。
- コマンドCGIを通してプロセスのコマンドをNagiosに発行します。
- 設定CGIを使ってホスト・グループ、連絡先、連絡先グループ、期間、およびコマンド定義を見ます。
疑いなくこの情報にアクセスしたいと思うなら、自身に更なる以下の権利をあたえる必要があります。(他のユーザも同じです)
CGI情報には追加のアクセス許可を与えます。
CGI設定ファイルの様々な承認変数にそれらを追加することによって、認証された連絡先か他の認証されたユーザ許可をCGIの追加情報に与えることができます。 私は利用可能なオプションが、特別な許可に関して本当に明確にならない事が分かっています。でも,それはないよりましです。
CGI設定ファイルの以下の変数に彼らを追加することによって、追加したユーザに承認を与えることができます…
- authorized_for_system_information
- authorized_for_system_commands
- authorized_for_configuration_information
- authorized_for_all_hosts
- authorized_for_all_host_commands
- authorized_for_all_services
- authorized_for_all_service_commands
CGI承認要件
あなたがCGIでいろいろな情報にアクセスするために必要な認証について混乱するならば、CGIごとに記述されるAuthorization Requirements section を読んでください。
セキュアなWebサーバーにおける認証
あなたのWebサーバーが安全なドメイン(すなわち、ファイアウォールの後ろの)に位置しているか、またはSSLを使用しているなら、CGIにアクセスするのに使用できるデフォルトのユーザ名を定義できます。 これは、default_user_name オプションをCGI設定ファイルに定義する事で完了します。 CGIにアクセスできるデフォルト・ユーザ名を定義することによって、Webサーバーへの認証なしにユーザがCGIにアクセスする許可を与える事ができま す。これを使ってWebの基本認証を使わない事を望むかもしれません、それは基本認証はネットワークに暗号化されないパスワードを出してしまうためです。
重要: あなたがセキュアなWebサーバを動かしていて、CGIにアクセスするすべての人が何らかの方法で認証されたと確信しない限り、デフォルトユーザー名を定めないでください。 この変数を定義すれば、Webサーバを認証していないだれでも、このユーザに割り当てるすべての権利を引き継ぎます!
参照: CGI Configuration File Options CGI設定ファイルのオプション , Information on the CGIs CGIに関する情報