ネイティブHA構成のキューマネージャインスタンス間の接続にTLS暗号化を追加することができます。
本タスクについて
インスタンス間のレプリケーショントラフィックは、アプリケーションメッセージから機密性の高いビジネスデータを含む可能性のあるキューマネージャログのコンテンツを伝送する。 このため、Native HA構成ではTLS暗号化を設定することを推奨する。
この手順では、 Native HAキューマネージャの作成で作成した設定例でTLSを設定する方法を示します。
手順
- alphaというホスト上で以下の2つのコマンドを実行し、まずキーストアを作成し、次に自己署名証明書を作成する:
runmqakm -keydb -create -db /var/mqm/qmgrs/MYQMGR/ssl/keystore.kdb -pw passw0rd -stash
runmqakm -cert -create -db /var/mqm/qmgrs/MYQMGR/ssl/keystore.kdb -pw passw0rd -label selfsigned -dn CN=MYQMGR -size 2048
これらのコマンドは以下の4つのファイルを作成する:
- keystore.crl
- keystore.kdb
- keystore.rdb
- keystore.sth
- 例えば、 sftp を使って、4つのファイルをベータとガンマのホストの同じ場所(
/var/mqm/qmgrs/MYQMGR/ssl)にコピーする。
- 各ホスト(alpha、beta、gamma)で、ファイルがmqmグループの所有権を持ち、mqmグループの読み取りアクセス権を持っていることを確認する:
chown :mqm /var/mqm/qmgrs/MYQMGR/ssl/keystore.*
chmod g+r /var/mqm/qmgrs/MYQMGR/ssl/keystore.*
- キーストア内の自己署名証明書を、最も強力なTLS 1.2 暗号で使用するよう、ネイティブHA設定に指示する。 各ホスト(アルファ、ベータ、ガンマ)で順番に、 qm.ini ファイルを編集し、
NativeHALocalInstance スタンザに以下のテキストを追加する:
NativeHALocalInstance:
CipherSpec=ANY_TLS12
CertificateLabel=selfsigned
KeyRepository=/var/mqm/qmgrs/MYQMGR/ssl/keystore
- 各ホスト上で構成変更が行われた後、例えば MYQMGR キューマネージャの mqmonitor サービスを再起動するなどして、各インスタンスを再起動する。
sudo systemctl restart mqmonitor@MYQMGR
グループの過半数が再起動し、TLSコンフィギュレーションで動作しているとき、新しいアクティブ・インスタンスが選出される。
- いずれかのホスト(アルファ、ベータ、ガンマ)で、 dspmq コマンドを使用して各インスタンスが接続されていることを確認する。
dspmq -m MYQMGR -o nativeha -x
3つのインスタンスがすべて接続されると、ステータス QUORUM(3/3) 。 また、 AMQ3212 と AMQ3214 メッセージは、TLSが使用されていることを示し、どの CipherSpec がネゴシエートされたかを記述して、キューマネージャのエラーログに書き込まれる。