インストールと更新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に連絡することができます。

Source: https://habr.com/ru/post/J345844/


All Articles