NỘI DUNG
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;
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 my@example.com bằng mail của bạn
$ curl https://get.acme.sh | sh -s email=my@example.com
Hoặc
$ wget -O - https://get.acme.sh | sh -s email=my@example.com
- 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 my@example.com
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
Sau khi chạy issue xong. Bạn sẽ nhận được 4 file như ảnh bên dưới bao gồm:
- domain.cer: File chứa certificate
- domain.key: FIle chứa Private Key
- ca.cer: File chứa CARoot
- fullchain.cer: FIle đã bao gồm cert và ca
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
- 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.
Chúc bạn thực hiện thành công.
Xem thêm: