ログを確認するには、次のようなコマンドを使います。
- systemd:
sudo journalctl -f -u gokeyless - upstart/sysvinit:
sudo tail -f /var/log/gokeyless.log
デバッグログを有効にするには、次のようなコマンドを使います。
cd /etc/keyless
sudo -u keyless gokeyless --loglevel 0コンテナで実行する場合、gokeyless はコンテナのメインプロセス(PID 1)です。そのため、上記のホスト / systemd 向けコマンドは使えません。代わりに、コンテナ起動時にログレベルを設定し、コンテナランタイムからログを読みます。
# Set verbosity via environment variable
docker run ... -e KEYLESS_LOGLEVEL=0 ghcr.io/cloudflare/gokeyless:latest
# Read logs
docker logs -f <CONTAINER> # or: kubectl logs -f <POD>- 鍵サーバーがネットワーク外から到達できることを確認します(tcp/2407)。
- パケットキャプチャを取得します。
sudo tcpdump -nni <interface> -s 0 -w keyless-$(date +%s).pcap port 2407
デバッグログを有効にして gokeyless を実行したとき、次のようなログが出る場合があります。
[DEBUG] connection 162.158.57.220:37490: reading half closed by client
[DEBUG] connection 162.158.57.220:37490: server closing connection
[DEBUG] connection 162.158.57.220:37490 removed
[DEBUG] spawning new connection: 162.158.57.220:37862
[DEBUG] connection 162.158.57.220:37862: reading half closed by client
[DEBUG] connection 162.158.57.220:37862: server closing connection
[DEBUG] connection 162.158.57.220:37862 removedこのログは、鍵サーバーが適切なサーバー証明書または .PEM ファイルを使っておらず、証明書交換のあとでクライアントが接続を中断していることを示す場合が多いです。証明書は Keyless CA の署名が必要で、SAN に Keyless サーバーのホスト名を含める必要があります。11aa40b4a5db06d4889e48e2f.example.com にある Keyless サーバー向けの有効な例は次のとおりです(Subject Alternative Name と Authority Key Identifier に注意してください)。
openssl x509 -in server.pem -noout -text -certopt no_subject,no_header,no_version,no_serial,no_signame,no_validity,no_subject,no_issuer,no_pubkey,no_sigdump,no_aux | sed -e 's/^ //'X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier:
DD:24:97:F1:A9:F1:4C:73:D9:1B:44:EC:A1:C3:10:E9:F0:41:98:BB
X509v3 Authority Key Identifier:
keyid:29:CE:8F:F1:9D:4C:BA:DE:55:78:D7:A6:29:E9:C5:FD:1D:9D:21:48
X509v3 Subject Alternative Name:
DNS:11aa40b4a5db06d4889e48e2f.example.com
X509v3 CRL Distribution Points:
Full Name:
URI:http://ca.cfdata.org/api/v1/crl/key_serverサーバーにインストールしたすべての鍵と証明書で、権限が正しいことを確認します。
対象ホストだけの証明書を用意するか、Cloudflare ダッシュボードの SSL/TLS アプリで証明書の優先度を変更する必要があります。
Cloudflare が現在提供しているパッケージは、Cloudflare パッケージリポジトリ ↗ に記載のサポート対象 GNU/Linux ディストリビューション向けのみです。
ただし鍵サーバーはオープンソースです。バイナリのビルドとデプロイは試みられますが、Windows での実行はサポート対象外です。問題が起きても Cloudflare は支援できません。
1 台の鍵サーバーで複数ドメインを扱えます。各証明書の秘密鍵を gokeyless.yaml の private_key_stores ブロックに追加するか、--private-key-dirs / --private-key-files で渡します。詳細は 複数の秘密鍵を提供する を参照してください。
hostname と zone_id は、登録時にだけ使う単一の文字列です。ドメインを追加しても更新する必要はありません。
アカウントチーム、または Cloudflare Support に問い合わせてください。