注釈
これまでのインストラクションを通じて、あなたは ApacheWebサーバを起動していると思います。 ここではApacheウェブサーバを起動しているという前提になっています。他のWebサーバを起動しているのであれば、少し調整しなければならないでしょう。
ここでの説明では以下の用語を使用しますので、その意味を理解しておいてください・・。
目次
Webサーバ認証の設定
CGIの認証/承認機能を可能にする
CGI情報に対するデフォルトパーミッション
CGI情報に対する追加パーミッションの許可
セキュアWebサーバ上の認証
まだ設定が済んでいないのであれば、NagiosのウェブインタフェイスにおけるCGIとHTML部分の基本認証設定の為にあなたのウェブサーバへ適切なエントリを追加する必要があります。ここにその為の説明があります。
今、Nagiosのウェブインタフェイス用に必要な認証設定をウェブサーバへ施したとします。次に誰がアクセスするかを指定する必要があります。これは Apache で提供されている htpasswd コマンドを使用すれば実現できます。
以下のコマンドを実行すると/usr/local/nagios/etcディレクトリにhtpasswd.usersという新しいファイルが作成されます。また、nagiosadmin用のユーザ/パスワードのエントリも作成されます。これはnagiosadminユーザがウェブサーバにアクセスして認証を行う際のパスワードとして使われます。
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
CGIにアクセスするのを許可する全員に対してアカウントを発行するまで、さらにユーザを追加し続けて下さい。次のコマンドを使って、追加したい実際のユーザ名の変わりに <username> を利用してユーザを追加してください。初期ファイルを既に作成しているのであれば、-cオプションは使用しないことに注意して下さい。
htpasswd /usr/local/nagios/etc/htpasswd.users <username>
さあ、ここまででやるべきことの最初の部分が終わりました。 NagiosCGIに対してWeb ブラウザを開いてみれば、ユーザ名とパスワードを聞かれるはずです。もしこの時点で ユーザ認証に問題が見つかったら、Webサーバのドキュメントを読んでみてください。
次に行うことはどの様な情報、そして/またはコマンドをユーザにアクセス許可するか決定してCGIの認証および許可機能を設定することです。これは、CGI設定ファイル内のuse_authentication値を"0"でない値に設定してください。例えば:
use_authentication=1
さあ、これでCGIにおけるBASIC認証/許可機能のセットアップが終了です。
認証・許可機能が有効な時、デフォルトでCGIは、どんなデフォルトパーミッションをユーザに与えているか?
CGIデータ | 認証コンタクト* | 他の認証ユーザ* |
ホストステータス情報 | 可 | 不可 |
ホスト設定情報 | 可 | 不可 |
ホスト履歴 | 可 | 不可 |
ホスト通知Host Notifications | 可 | 不可 |
ホストコマンド | 可 | 不可 |
サービスステータス情報 | 可 | 不可 |
サービス設定情報 | 可 | 不可 |
サービス履歴 | 可 | 不可 |
サービス通知 | 可 | 不可 |
サービスコマンド | 可 | 不可 |
すべての設定情報 | 不可 | 不可 |
システム/プロセス情報 | 不可 | 不可 |
システム/プロセス情報コマンド | 不可 | 不可 |
認証通知先は*は以下に挙げるサービス毎に閲覧権限が与えられている(しかし通知先として設定されていないサービスにはその権限はありません)....
認証通知先*は通知先として設定されているそれぞれのホストに対して次の権限を持っています(しかし、通知先として設定されていないサービスにはその権限はありません)・・・。
デフォルトでは誰も以下の事項に対して、権限を与えられていないことに注意することが重要です。
次の情報にアクセスしたいと思うでしょうが、自分のために(また恐らく他のユーザの 為)に追加の権利を割り当てなければならないでしょう。
CGI設定ファイルの中の様々な認証変数に追加することで、認証通知先や認証ユーザにCGIの追加情報に対しての権限を与えることができます。私は、利用可能なオプションが特別な権限については実際には特効薬にならないということが分かっていますが、ないよりましです・・・。
追加認証は、CGI設定ファイル中の次のディレクティブに加えることにより、ユーザに与えることができます。
もしあなたが、CGI上の様々な情報へのアクセスに必要とされる認証機能について困ったら、ここに記述される各CGIに対する認証の資格セクションの内容を読んでください。
もしあなたのWebサーバがセキュアなドメイン(例えばファイヤーウォールなど)の配下にあるか、SSL通信を使用しているのであれば、CGIアクセスするために使用されるデフォルトユーザ名を定義する必要があります。これはCGI設定ファイルに、デフォルトユーザ名(default_user_name)オプションを定義することで出来ます。CGIにアクセスすることのできるデフォルトのユーザ名を定義することで、(デフォルトユーザは)必ずしもユーザ認証を必要せず、WebサーバにCGIアクセスすることできるようになります。ベーシック認証がインターネット上でクリアテキストでパスワードを送信するため、ベーシックWeb認証を避ける為に、この機能を使いたいと思うかも知れません。
重要:もしセキュアWebサーバを起動しておらず、CGIにアクセスするすべての人がある方法で認証されると確信しない限りは、デフォルト・ユーザー名を定義しないでください!!もしこの変数を定義すれば、このWebサーバに対する認証されていないユーザが、誰でもこのユーザに対して与えられている全権利をうることでしょう。