9.2. 着信クライアント接続のセキュリティー保護

SSL/TLS および SASL を使用して、クライアントトラフィックの適切なセキュリティーレベルをルーターネットワークに提供することができます。以下の方法を使用して、AMQP クライアント、外部コンテナー、または edge ルーターから受信接続をセキュリティー保護することができます。

9.2.1. SSL/TLS 暗号化の有効化

SSL/TLS を使用して、クライアントから着信接続を暗号化できます。

前提条件

  • X.509 認証局 (CA) がクライアント接続に存在している必要があります。
  • セキュリティー証明書は CA によって生成および署名されている必要があります。

手順

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

    この sslProfile には、ルーターがクライアントからの接続の暗号化に使用する秘密鍵と証明書の場所が含まれます。

    sslProfile {
        name: service-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. SSL/TLS を使用して接続を暗号化するように、この接続が listener を設定します。

    この例では、normal リスナーがクライアントからの接続を暗号化するように設定します。

    listener {
        host: 0.0.0.0
        port: 5672
        role: normal
        sslProfile: inter_router_tls
        requireSsl: yes
        ...
    }
    sslProfile
    SSL/TLS プライベートキーおよびクライアント接続の証明書を定義する sslProfile の名前。
    requireSsl
    true を指定して SSL/TLS で接続を暗号化します。