第9章 ネットワーク接続のセキュリティー保護
ルーターの接続を認証および暗号化することで、安全な方法で AMQ Interconnect をクライアント、ルーター、ブローカーと通信するように設定できます。AMQ Interconnect は以下のセキュリティープロトコルをサポートします。
- 証明書ベースの暗号化および相互認証向けの SSL/TLS
- メカニズムと認証用の SASL
SSL/TLS、SASL (または両方の組み合わせ) を設定して、以下のいずれかを保護します。
9.1. ルーター間の接続のセキュリティー保護
中間ルーター間の接続は、SSL/TLS 暗号化と認証 (相互認証とも呼ばれる) を使用してセキュリティーを確保し、承認されていないルーター (またはルーターとして準備しているエンドポイント) がネットワークに加わらないようにする必要があります。
SSL/TLS 相互認証には、各相互オーリオールーター用に生成された個別の証明書を使用して X.509 認証局 (CA) が必要です。inter-router 間の接続は暗号化され、CA は各受信ルーター間接続を認証します。
この手順では、SSL/TLS 相互認証を使用して、2 つの相互オータールーター間の接続のセキュリティーを保護する方法を説明します。
前提条件
- インテリアルーターには X.509 認証局が存在する必要があります。
- セキュリティー証明書は各ルーター用に生成され、CA によって署名される必要があります。
inter-router 接続はルーター間で存在している必要があります。
詳細は、「ルーターの接続」 を参照してください。
手順
接続を確立するルーターで、以下を実行します。
-
/etc/qpid-dispatch/qdrouterd.conf
を開きます。 ルーターに、ルーター間のネットワークの秘密鍵と証明書を定義する
sslProfile
が含まれていない場合、これを追加します。この
sslProfile
には、ルーターがピアとの認証に使用する秘密鍵の場所と証明書が含まれます。sslProfile { name: inter-router-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
作成した
sslProfile
を使用するように、このコネクションの相互ルーターconnector
を設定します。connector { host: 192.0.2.1 port: 5001 role: inter-router sslProfile: inter-router-tls ... }
sslProfile
-
SSL/TLS プライベートキーおよびルーター間ネットワークの証明書を定義する
sslProfile
の名前。
-
接続をリッスンするルーターで、以下を実行します。
-
/etc/qpid-dispatch/qdrouterd.conf
を開きます。 -
ルーターに、ルーター間のネットワークの秘密鍵と証明書を定義する
sslProfile
が含まれていない場合、これを追加します。 SSL/TLS を使用して接続をセキュアにするには、この接続にルーター間
listener
を設定します。listener { host: 0.0.0.0 port: 5001 role: inter-router sslProfile: inter_router_tls authenticatePeer: yes requireSsl: yes saslMechanisms: EXTERNAL ... }
sslProfile
-
SSL/TLS プライベートキーおよびルーター間ネットワークの証明書を定義する
sslProfile
の名前。 authenticatePeer
-
yes
を指定して、ピアインオリオーターの ID を認証します。 requireSsl
-
yes
を指定して、SSL/TLS で接続を暗号化します。 saslMechanisms
-
X.509 クライアント証明書認証を有効にするために
EXTERNAL
を指定します。
-