17 Google Chrome TLS証明書の信頼
概要
このページでは、自己署名証明書またはプライベート認証局で保護された Zabbix Webインターフェース または zabbix-web-service エンドポイントで Google Chrome を使用するための Zabbix のセットアップ手順と設定例を説明します。
これらの手順では、対象の Web サーバーがすでに HTTPS 用に設定されていることを前提としています。 Zabbix Webインターフェース で TLS を設定する方法については、Webインターフェースへの安全な接続 を参照してください。
設定
Linux 上の Google Chrome は、信頼された証明書用にユーザーごとの NSS 証明書データベースを使用します。
Chrome に自己署名証明書またはプライベート認証局を信頼させるには、Chrome を実行するユーザーアカウントの NSS データベースに必要な証明書を追加します。
1. 必要なパッケージをインストールします。
Debian/Ubuntu の場合:
sudo apt install ca-certificates libnss3-tools
RHEL ベースのシステムの場合:
sudo dnf install ca-certificates nss-tools
または:
sudo yum install ca-certificates nss-tools
2. 証明書ファイルを準備します。
必要な各証明書について、自己署名証明書用の PEM ベースの .crt ファイルを作成するか、ルート認証局証明書用の PEM ベースの .crt ファイルを個別に作成し、必要に応じて各中間証明書用の .crt ファイルも個別に作成します。
3. NSS データベースディレクトリを作成します。
Chrome を実行するユーザーのホームディレクトリを使用します。
例:
sudo mkdir -p /var/lib/zabbix/.pki/nssdb
sudo -u zabbix certutil -N -d sql:/var/lib/zabbix/.pki/nssdb
sudo chown -R zabbix:zabbix /var/lib/zabbix/.pki/nssdb
対象システム上の Chrome が別の NSS データベースの場所を使用している場合は、そのディレクトリを使用してください。
証明書ファイルが Google Chrome を実行するユーザーから読み取り可能であることを確認してください。
必要に応じて、そのユーザーがアクセスできる場所にコピーします。
4. 証明書をインポートします。
自己署名証明書を使用する場合:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t "P,," \
-n "Zabbix self-signed certificate" \
-i /path/to/self-signed.crt
プライベート認証局を使用する場合は、ルート認証局証明書をデータベースにインポートします:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t "C,," \
-n "Zabbix root certificate authority" \
-i /path/to/root-ca.crt
中間証明書を使用する場合は、各証明書を個別にインポートします:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t ",," \
-n "Zabbix intermediate certificate" \
-i /path/to/intermediate-ca.crt
5. 証明書データベースを確認します。
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb -L
6. Chrome をテストします。
Google Chrome は、起動したユーザーアカウントの証明書データベースを使用します。
ユーザーアカウントに書き込み可能なホームディレクトリがない場合は、テストを実行する前に書き込み可能なホームディレクトリと XDG ディレクトリを設定してください。
例 (chromium を使用している場合は google-chrome を chromium に置き換えてください。):
sudo -u zabbix env \
HOME=/var/lib/zabbix-home \
XDG_CONFIG_HOME=/var/lib/zabbix-home/.config \
XDG_DATA_HOME=/var/lib/zabbix-home/.local/share \
XDG_CACHE_HOME=/var/lib/zabbix-home/.cache \
google-chrome --headless --disable-gpu \
--user-data-dir=/var/lib/zabbix-home/chrome-profile \
--dump-dom https://FQDN_OF_ZABBIX_SERVER
設定が正しければ、このコマンドは要求したページの HTML を返します。
Chrome が証明書を信頼しない場合、このコマンドは NET::ERR_CERT_AUTHORITY_INVALID などのメッセージを含む証明書エラーページを返します。
トラブルシューティング
| Error | Possible cause |
|---|---|
NET::ERR_CERT_AUTHORITY_INVALID |
証明書が誤ったユーザープロファイルにインポートされている、ルート認証局証明書が不足している、または中間証明書が不足している。 |
NET::ERR_CERT_COMMON_NAME_INVALID |
証明書がブラウザーのURLで使用しているホスト名と一致していない。 |
NET::ERR_CERT_DATE_INVALID |
証明書の有効期限が切れている、まだ有効になっていない、またはシステムクロックが正しくない。 |
| Chrome still shows a certificate warning after import | Chrome が現在のユーザーに対して別の NSS データベースを使用しているか、証明書の信頼フラグが正しくない。 |