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に連絡することができます。