インストールと更新Zimbraメールサーバーの証明書を暗号化しましょう

過去の記事で、Let's Encrypt証明書のインストールと更新について話をするように頼まれました。



Let's Encryptは、TLS暗号化(HTTPS)用の無料のX.509暗号証明書を提供する証明機関です。 証明書を発行するプロセスは完全に自動化されています。



画像



暗号化しよう



SSL、CA中間、および秘密鍵証明書を取得するには、Zimbraを使用してサーバーでLet's Encryptリクエストを実行することをお勧めします。 これを行うには、メールサーバーサービス(ポート80および443)を停止する必要があります。



1.サービスを停止します。



zmproxyctl stop

zmmailboxdctl stop








2. Let's Encryptパッケージをダウンロードし、letencryptディレクトリに移動します。



ご注意 RedHatおよびCentOS 6では、インストールする前にEPELリポジトリを有効にする必要があります。



git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt












3.自動Let's Encryptスクリプトを実行し、certonlyパラメーターを使用します。



root@zimbra86:~/tmp/letsencrypt# ./letsencrypt-auto certonly --standalone







このスクリプトは、必要に応じて、ライセンスに同意して電子メールを報告する証明書を確認および発行するための一時的なWEBサーバーを構成します。







同じSSL上に複数のホスト名が必要な場合は、代わりにMulti-SAN SSLプロトコルを使用します。-dはドメインです。



root@zimbra86:~/tmp/letsencrypt# ./letsencrypt-auto certonly --standalone -d xmpp.example.com -d conference.example.com







4.すべてが検証に成功すると、証明書(証明書+公開キー+チェーン)が「/ etc / letencrypt / live / address /」の形式で発行されます。







5.この時点で、サービスを再起動し、署名付き証明書のインストールを開始できます。 Zimbraに証明書を実装するには、「ルートCA」チェーンを追加する必要があります。 「ルートCA」とファイルの行「fullchain1.pem」でファイルを作成します)



root CA: (https://www.identrust.com/certificates/trustid/root-download-x3.html)







6.ファイルが作成されたら、次のコマンドでファイルを確認します。



/opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem CHAIN_COMPLETA.pem







7.チェックを実行し、現在の証明書をバックアップして(強く推奨)、秘密鍵をディレクトリ「/ opt / zimbra / ssl / zimbra / commercial」に「commercial.key」という名前でコピーします。



cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date "+%Y%m%d")

cp privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key








8.証明書をインストールし、サービスを再起動して展開を確認します



/opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem







9.証明書の適切なインストール:







10.サービスを再起動します



zmcontrol restart







証明書の更新





1. Zimbraを停止します。



/etc/init.d/zimbra stop







2.新しい証明書を取得し、メールサーバーを起動します。



certbot certonly --standalone -d mail.example.com

/etc/init.d/zimbra start








3.取得した証明書をZimbraにアップロードする必要があります。 証明書をコピー:



cp /etc/letsencrypt/live/zimbra86.zimbra.io/* /opt/zimbra/ssl/letsencrypt/

chown zimbra:zimbra /opt/zimbra/ssl/letsencrypt/

cd /opt/zimbra/ssl/letsencrypt/








4. chain.pemファイルの最後に、中間の証明書を暗号化しましょう。



-----BEGIN CERTIFICATE-----

MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/

MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT

DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow

PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD

Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB

AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O

rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq

OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b

xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw

7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD

aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV

HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG

SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69

ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr

AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz

R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5

JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo

Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ

-----END CERTIFICATE-----








中間証明書を追加しない場合、検証段階でエラーが表示されます。



ERROR: Unable to validate certificate chain: cert.pem: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

error 2 at 1 depth lookup:unable to get issuer certificate








5.インストールされているキーと証明書を確認します。



su zimbra

$ cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

$ /opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem







6.検証が成功した場合、更新された証明書をインストールします。



$ /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem







7.インストールされた証明書を適用するには、すべてのZimbraサービスを再起動します:



# /etc/init.d/zimbra restart







できた!



新しい証明書のインストールプロセスを自動化する場合は、 GitHub Webサイトで公開されている特別なスクリプトを使用できます。



すべてが機能するためには、以下を行う必要があります。

yum -y install certbotコマンドを使用してCertbotをインストールします

次に、git cloneコマンドgithub.com/penzoiders/zimbra-auto-letsencrypt.gitを使用して、指定されたブランチのクローンを作成します

システムに合わせてletsencrypt-zimbra.confを編集します。

スクリプトが含まれているフォルダーに移動し、。/ zimbra-auto-letsencrypt.shを使用します



スクリプトがそれ自体で証明書を更新するだけでなく、必要なすべてのサービスを再起動するという事実に注意を促します。 特定の時間間隔で実行するように設定することにより、スクリプトの使用を完全に自動化できます。



Zextras Suiteに関連するすべての質問については、katerina @ zextras.comにメールで会社の代表者「Zextras」Katerina Triandafilidiに連絡することができます。



All Articles