- 安裝套件
[root@kvm4 ~]# yum install -y qpid-cpp-server qpid-cpp-server-ssl cyrus-sasl-md5 nss-tools
- 產生 Simple Authentication and Security Layer(SASL)使用者帳號及密碼
[root@kvm4 ~]# saslpasswd2 -f /var/lib/qpidd/qpidd.sasldb -u QPID qpidauth
Password: 123qwe
Again (for verification): 123qwe
- 確認 SASL 使用者帳號
[root@kvm4 ~]# sasldblistusers2 -f /var/lib/qpidd/qpidd.sasldb
qpidauth@QPID: userPassword
- 設定使用者 qpidauth 認證
[root@kvm4 ~]# echo 'acl allow qpidauth@QPID all all' > /etc/qpid/qpidauth.acl
[root@kvm4 ~]# echo "QPIDD_OPTIONS='--acl-file /etc/qpid/qpidauth.acl'" >> /etc/sysconfig/qpidd
[root@kvm4 ~]# chown qpidd /etc/qpid/qpidauth.acl
[root@kvm4 ~]# chmod 600 /etc/qpid/qpidauth.acl
- 不允許匿名者連線
[root@kvm4 ~]# sed -i 's/\(^cluster.* \)\(ANONYMOUS\)/\1#\2/' /etc/qpidd.conf
[root@kvm4 ~]# grep ANONYMOUS -A1 /etc/qpidd.conf
cluster-mechanism=DIGEST-MD5 #ANONYMOUS
auth=yes
- 建立 Qpid 認證目錄
[root@kvm4 ~]# mkdir /etc/pki/tls/qpid
[root@kvm4 ~]# chmod 700 /etc/pki/tls/qpid
[root@kvm4 ~]# chown qpidd /etc/pki/tls/qpid
- 產生 Qpid 認證密碼
[root@kvm4 ~]# echo '123qwe' > /etc/qpid/qpid.pass
[root@kvm4 ~]# chmod 600 /etc/qpid/qpid.pass
[root@kvm4 ~]# chown qpidd /etc/qpid/qpid.pass
- 產生 Qpid 認證資料庫,其中命令選項:
-N 產生新的認證,後接 -d 指定目錄 -f 指定密碼檔案
-S 建立認證並加入資料庫
[root@kvm4 ~]# echo $HOSTNAME
kvm4.deyu.wang
[root@kvm4 ~]# certutil -N -d /etc/pki/tls/qpid/ -f /etc/qpid/qpid.pass
[root@kvm4 ~]# certutil -S -d /etc/pki/tls/qpid/ -n $HOSTNAME \
-s "CN=$HOSTNAME" -t "CT,," -x -f /etc/qpid/qpid.pass -z /usr/bin/certutil
Generating key. This may take a few moments...
- 確認使用者qpidd 可使用 Qpid 認證目錄
[root@kvm4 ~]# chown -R qpidd /etc/pki/tls/qpid/
- 修改 /etc/qpidd.conf 設定檔
[root@kvm4 ~]# chown -R qpidd /etc/pki/tls/qpid/
[root@kvm4 ~]# cat >> /etc/qpidd.conf << EOF
> ssl-cert-db=/etc/pki/tls/qpid/
> ssl-cert-name=$HOSTNAME
> ssl-cert-password-file=/etc/qpid/qpid.pass
> require-encryption=yes
> EOF
- 啟動並設定開機啟動 qpidd 服務
[root@kvm4 ~]# /etc/init.d/qpidd start
Starting Qpid AMQP daemon: [ OK ]
[root@kvm4 ~]# chkconfig qpidd on