9.3.2. 相互 SSL/TLS 認証を使用した接続

相互 SSL/TLS 認証を使用して、外部 AMQP コンテナー (ブローカーなど) に接続できます。この方法では、クライアントとして動作するルーターは、ルーターの ID を検証できるように外部の AMQP コンテナーに証明書を提供します。

前提条件

  • ルーターには X.509 認証局 (CA) が存在している必要があります。
  • セキュリティー証明書はルーター用に生成され、CA によって署名される必要があります。

手順

  1. /etc/qpid-dispatch/qdrouterd.conf 設定ファイルを開きます。
  2. ルーターに、外部の AMQP コンテナーに接続するための秘密鍵と証明書を定義する sslProfile が含まれていない場合は、これを追加します。

    この sslProfile には、ルーターがピアとの認証に使用する秘密鍵と証明書の場所が含まれます。

    sslProfile {
        name: broker-tls
        certFile: /etc/pki/tls/certs/tls.crt
        caCertFile: /etc/pki/tls/certs/ca.crt
        privateKeyFile: /etc/pki/tls/private/tls.key
        password: file:/etc/pki/tls/private/password.txt
        ...
    }
    name
    この sslProfile の参照に使用できる一意の名前。
    certFile
    このルーターのパブリック証明書を含むファイルへの絶対パス。
    caCertFile
    ルーターの証明書の署名に使用された CA 証明書への絶対パス。
    privateKeyFile

    このルーターのパブリック証明書に対する秘密鍵が含まれるファイルへの絶対パス。

    注記

    qdrouterd または root ユーザーが秘密鍵にアクセスできることを確認します。以下は例になります。

    chmod 0600 /etc/pki/tls/private/tls.key
    chown qdrouterd /etc/pki/tls/private/tls.key
    パスワード

    証明書キーのロックを解除するパスワード。証明書キーにパスワードがない場合は、指定する必要はありません。異なる接頭辞を使用することで、セキュリティー要件に応じてパスワードを複数回指定できます。

    • パスワードを含むファイルへの絶対パスを指定します。これは、パスワードを含むファイルにパーミッションを設定することができるため、最も安全なオプションです。以下は例になります。

      password: file:/etc/qpid-dispatch-certs/inter-router/password.txt
    • パスワードを保存する環境変数を指定します。他のプロセスの環境は特定のプラットフォームで表示されるため、このオプションの使用には注意が必要です。以下は例になります。

      password: env:CERT_PASSWORD
    • パスワードをクリアテキストで指定します。このオプションは安全ではないため、セキュリティーが懸念されていない場合にのみ使用してください。以下は例になります。

      password: pass:mycertpassword
  3. 作成した sslProfile を使用するように、このコネクションの connector を設定します。

    connector {
        host: 192.0.2.1
        port: 5672
        role: route-container
        sslProfile: broker-tls
        saslMechanisms: EXTERNAL
        ...
    }
    sslProfile
    SSL/TLS プライベートキーおよびルーター間ネットワークの証明書を定義する sslProfile の名前。