Hướng dẫn cài ZeroSSL trên Zimbra Mail

6
0

zerossl zimbra mail

Xin chào các bạn đang xem series mail Zimbra của mình. Nếu như bạn đã xem qua bài cài đặt SSL miễn phí Let’s Encrypt trên Zimbra của mình. Thì ở bài này mình sẽ hướng dẫn bạn cài ZeroSSL lên Zimbra Mail Server. Mời các bạn tham khảo nhé.

Bước 1: Tạo file cấu hình cho mail

Tại quyền root bạn mở file nginx.conf.web.https.default.template sau đó thêm dòng sau vào.

$ vi /opt/zimbra/conf/nginx/templates/nginx.conf.web.https.default.template

Sau đó bạn thêm vào sau trên block server như ảnh đính kèm

include                 ${core.includes}/${core.cprefix}.lets.conf;
Hướng dẫn cài ZeroSSL trên Zimbra Mail

Sau đó bạn mở file nginx.conf.lets.conf và thực hiện tiếp như sau và thao tác này đứng tại root

$ vi /opt/zimbra/conf/nginx/includes/nginx.conf.lets.conf
  • Sau khi mở file lên, bạn thêm vào cấu hình mẫu như sau.

Lưu ý: Phần server_name bạn thay đổi bằng server_name của bạn. Nếu Zimbra của bạn có nhiều hơn 1 domain, và bạn muốn cài cho nhiều domain. Bạn chỉ cần thêm một Block server { mới với domain tương ứng là được.

server {
        listen 80 default_server;
        server_name _;
        access_log off;

        location ^~ /.well-known/acme-challenge {
                root /opt/zimbra/data/nginx/html;
        }

        location / {

                rewrite ^/(.*) https://$host$request_uri     permanent;
        }
}

server {
        listen 80;
        server_name mail.azdigi.online; #Thay vào tên domain của bạn ở đây
        return 301 https://$host$request_uri;
        access_log off;
        root /opt/zimbra/data/nginx/html;
        index index.html index.htm;

        location ^~ /.well-known/acme-challenge {
                root /opt/zimbra/data/nginx/html;
        }

        location / {
              try_files $uri $uri/ =404;
        }
}
  • Khởi động lại dịch vụ của Zimbra Mail
$ su zimbra
$ zmcontrol restart
$ exit

Bước 2: Cài đặt acme.sh ZeroSSL

ACME là môi trường quản lý chứng chỉ tự động (ACME) là một giao thức tiêu chuẩn để tự động xác thực miền, cài đặt và quản lý chứng chỉ X.509. Giao thức ACME được thiết kế bởi Nhóm Nghiên cứu Bảo mật Internet và được mô tả trong IETF RFC 8555. Là một tiêu chuẩn mở, được tài liệu hóa tốt với nhiều triển khai ứng dụng khách có sẵn, ACME đang được áp dụng rộng rãi như một giải pháp tự động hóa chứng chỉ doanh nghiệp.

  • Cách cài 1: Cài đặt Online

Lưu ý: Thay [email protected] bằng mail của bạn

$ curl https://get.acme.sh | sh -s [email protected]

Hoặc

$ wget -O -  https://get.acme.sh | sh -s [email protected]
CleanShot 2022 04 11 at 19.05.00@2x
  • Cách 2: Cài đặt từ GIT
$ git clone https://github.com/acmesh-official/acme.sh.git
$ cd ./acme.sh
$ ./acme.sh --install -m [email protected]

Sau khi cài xong bạn hãy tạo và sao chép acme.sh vào $HOME của bạn. Bạn hãy chạy lệnh sau để ghi vào.

$ echo "alias acme.sh='~/.acme.sh/acme.sh'" >> /root/.bashrc
$ source /root/.bashrc

Bước 3: Cài đặt lấy chứng chỉ ZeroSSL

Bước này sẽ thực hiện issue chứng chỉ SSL thông qua acme ZeroSSL. Bạn hãy nhập vào lệnh sau. Và mình sẽ chú thích lệnh này để bạn thay thế bằng domain của bạn.

Lưu ý: Thay mail.azdigi.online bằng tên miền của bạn. Nếu bạn cài cho nhiều domain bạn chỉ cần thêm tuỳ chọn -d sau mỗi domain là được.
VD: acme.sh –issue -d mail.domain1.com -d mail.domain2.com

$ acme.sh --issue -d mail.azdigi.online -w /opt/zimbra/data/nginx/html --force
CleanShot 2022 04 11 at 18.53.14@2x

Sau khi chạy issue xong. Bạn sẽ nhận được 4 file như ảnh bên dưới bao gồm:

  1. domain.cer: File chứa certificate
  2. domain.key: FIle chứa Private Key
  3. ca.cer: File chứa CARoot
  4. fullchain.cer: FIle đã bao gồm cert và ca
CleanShot 2022 04 11 at 18.53.36@2x

Bước 4: Deploy SSL lên Zimbra

$ mkdir -p /opt/zimbra/zerossl/
$ cp /root/.acme.sh/mail.*/* /opt/zimbra/zerossl/
$ chown -R zimbra:zimbra /opt/zimbra/zerossl/
  • Verify chứng chỉ SSL và Key xem có khớp không
$ su zimbra
$ cd /opt/zimbra/zerossl/
$ wget https://gogetssl-cdn.s3.eu-central-1.amazonaws.com/wiki/SectigoRSADVBundle-sha1.txt
$ cat SectigoRSADVBundle-sha1.txt >> ca.cer
$ /opt/zimbra/bin/zmcertmgr verifycrt comm mail.*.key mail.*.cer ca.cer
CleanShot 2022 04 11 at 19.45.55@2x
  • Deploy SSL

Trước khi Deploy SSL bạn cần copy file private key vào /opt/zimbra/ssl/zimbra/commercial/commercial.key. Bạn hãy dùng lệnh sau để thực hiện

$ mv /opt/zimbra/ssl/zimbra/commercial/commercial.key /opt/zimbra/ssl/zimbra/commercial/commercial.key.bak
$ cp /opt/zimbra/zerossl/mail.*.key /opt/zimbra/ssl/zimbra/commercial/commercial.key

Sau đó bạn chạy lệnh sau để deploycrt.

$ /opt/zimbra/bin/zmcertmgr deploycrt comm mail.*.cer ca.cer

Output

[zimbra@mail zerossl]$ /opt/zimbra/bin/zmcertmgr deploycrt comm mail.*.cer ca.cer
** Verifying 'mail.azdigi.online.cer' against '/opt/zimbra/ssl/zimbra/commercial/commercial.key'
Certificate 'mail.azdigi.online.cer' and private key '/opt/zimbra/ssl/zimbra/commercial/commercial.key' match.
** Verifying 'mail.azdigi.online.cer' against 'ca.cer'
Valid certificate chain: mail.azdigi.online.cer: OK
** Copying 'mail.azdigi.online.cer' to '/opt/zimbra/ssl/zimbra/commercial/commercial.crt'
** Copying 'ca.cer' to '/opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt'
** Appending ca chain 'ca.cer' to '/opt/zimbra/ssl/zimbra/commercial/commercial.crt'
** Importing cert '/opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt' as 'zcs-user-commercial_ca' into cacerts '/opt/zimbra/common/lib/jvm/java/lib/security/cacerts'
** NOTE: restart mailboxd to use the imported certificate.
** Saving config key 'zimbraSSLCertificate' via zmprov modifyServer mail.dotrungquan.site...ok
** Saving config key 'zimbraSSLPrivateKey' via zmprov modifyServer mail.dotrungquan.site...ok
** Installing imapd certificate '/opt/zimbra/conf/imapd.crt' and key '/opt/zimbra/conf/imapd.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/imapd.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/imapd.key'
** Creating file '/opt/zimbra/ssl/zimbra/jetty.pkcs12'
** Creating keystore '/opt/zimbra/conf/imapd.keystore'
** Installing ldap certificate '/opt/zimbra/conf/slapd.crt' and key '/opt/zimbra/conf/slapd.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/slapd.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/slapd.key'
** Creating file '/opt/zimbra/ssl/zimbra/jetty.pkcs12'
** Creating keystore '/opt/zimbra/mailboxd/etc/keystore'
** Installing mta certificate '/opt/zimbra/conf/smtpd.crt' and key '/opt/zimbra/conf/smtpd.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/smtpd.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/smtpd.key'
** Installing proxy certificate '/opt/zimbra/conf/nginx.crt' and key '/opt/zimbra/conf/nginx.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/nginx.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/nginx.key'
** NOTE: restart services to use the new certificates.
** Cleaning up 9 files from '/opt/zimbra/conf/ca'
** Removing /opt/zimbra/conf/ca/ca.key
** Removing /opt/zimbra/conf/ca/ca.pem
** Removing /opt/zimbra/conf/ca/b6e8eae6.0
** Removing /opt/zimbra/conf/ca/commercial_ca_1.crt
** Removing /opt/zimbra/conf/ca/d4e87204.0
** Removing /opt/zimbra/conf/ca/commercial_ca_2.crt
** Removing /opt/zimbra/conf/ca/8d33f237.0
** Removing /opt/zimbra/conf/ca/commercial_ca_3.crt
** Removing /opt/zimbra/conf/ca/4042bcee.0
** Copying CA to /opt/zimbra/conf/ca
** Copying '/opt/zimbra/ssl/zimbra/ca/ca.key' to '/opt/zimbra/conf/ca/ca.key'
** Copying '/opt/zimbra/ssl/zimbra/ca/ca.pem' to '/opt/zimbra/conf/ca/ca.pem'
** Creating CA hash symlink 'b6e8eae6.0' -> 'ca.pem'
** Creating /opt/zimbra/conf/ca/commercial_ca_1.crt
** Creating CA hash symlink '1b19814d.0' -> 'commercial_ca_1.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_2.crt
** Creating CA hash symlink 'fc5a8f99.0' -> 'commercial_ca_2.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_3.crt
** Creating CA hash symlink '65ff7287.0' -> 'commercial_ca_3.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_4.crt
** Creating CA hash symlink 'fc5a8f99.1' -> 'commercial_ca_4.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_5.crt
** Creating CA hash symlink 'ee64a828.0' -> 'commercial_ca_5.crt'
[zimbra@mail zerossl]$

Bước cuối cùng bạn hãy khởi động lại dịch vụ Zimbra để áp dụng các thiết lập

$ zmcontrol restart

Output:

[zimbra@mail zerossl]$ zmcontrol restart
Host mail.azdigi.online
	Stopping zmconfigd...Done.
	Stopping imapd...Done.
	Stopping zimlet webapp...Done.
	Stopping zimbraAdmin webapp...Done.
	Stopping zimbra webapp...Done.
	Stopping service webapp...Done.
	Stopping stats...Done.
	Stopping mta...Done.
	Stopping spell...Done.
	Stopping snmp...Done.
	Stopping cbpolicyd...Done.
	Stopping archiving...Done.
	Stopping opendkim...Done.
	Stopping amavis...Done.
	Stopping antivirus...Done.
	Stopping antispam...Done.
	Stopping proxy...Done.
	Stopping memcached...Done.
	Stopping mailbox...Done.
	Stopping logger...Done.
	Stopping dnscache...Done.
	Stopping ldap...Done.
Host mail.azdigi.online
	Starting ldap...Done.
	Starting zmconfigd...Done.
	Starting dnscache...Done.
	Starting logger...Done.
	Starting mailbox...Done.
	Starting memcached...Done.
	Starting proxy...Done.
	Starting amavis...Done.
	Starting antispam...Done.
	Starting antivirus...Done.
	Starting opendkim...Done.
	Starting snmp...Done.
	Starting spell...Done.
	Starting mta...Done.
	Starting stats...Done.
	Starting service webapp...Done.
	Starting zimbra webapp...Done.
	Starting zimbraAdmin webapp...Done.
	Starting zimlet webapp...Done.
	Starting imapd...Done.
[zimbra@mail zerossl]$

Và sau đây là kết quả thực hiện của mình.

CleanShot 2022 04 11 at 19.54.23@2x

Chúc bạn thực hiện thành công.

Xem thêm:

Đỗ Trung Quân
WRITTEN BY

Đỗ Trung Quân

Nguồn nội dung này đến từ Website DoTrungQuan.info

Trả lời