NỘI DUNG
Cài đặt SSL cho nhiều tên miền trên Zimbra một cách đơn giản và hiệu quả nhất!
Zimbra, một trong những giải pháp email và hợp tác phổ biến, cung cấp các tính năng mạnh mẽ để quản lý email, lịch và tài liệu. Tuy nhiên, để đảm bảo rằng giao tiếp qua email của bạn luôn được bảo mật, việc cài đặt chứng chỉ SSL là một bước không thể thiếu.
Khi bạn quản lý nhiều tên miền trên Zimbra, việc triển khai chứng chỉ SSL cho từng tên miền có thể trở nên phức tạp. Điều này đòi hỏi phải cấu hình Server Name Indication (SNI) để các chứng chỉ SSL có thể hoạt động đồng thời trên cùng một địa chỉ IP. SNI là một phần quan trọng trong việc cung cấp bảo mật cho nhiều tên miền mà không cần phải sử dụng nhiều địa chỉ IP.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách cài đặt và cấu hình chứng chỉ SSL cho nhiều tên miền trên Zimbra. Chúng tôi sẽ hướng dẫn bạn từng bước từ việc tạo chứng chỉ SSL cho các tên miền của bạn đến việc cấu hình Zimbra để sử dụng chứng chỉ đó, đảm bảo rằng tất cả các giao tiếp email của bạn đều được mã hóa và bảo mật.
Điều kiện
- Dịch vụ Proxy Zimbra phải được cài đặt và kích hoạt
- Bạn phải có chứng chỉ SSL riêng của tên miền bao gồm
- example.com.key (Khoá chứng chỉ)
- example.com.crt (Chứng chỉ SSL)
- example.com.root.crt (Chứng chỉ CA gốc)
- example.com.intermediate.crt (Chứng chỉ CA trung gian)
Lưu ý: Với Zimbra sẽ có một CA riêng biệt, bạn có thể truy cập trang sau để xem CA tương ứng cho hãng SSL mà bạn dùng. Xem tại đây
Cài đặt SSL cho nhiều tên miền trên Zimbra
Đầu tiên bạn hãy truy cập vào user zimbra
để tạo tác. Đứng từ root bạn truy cập bằng lệnh này.
root@mail:~# su - zimbra
Bước 1: Cấu hình địa chỉ IP cho mỗi tên miền
Thêm miền mới, trong trường hợp này là dns.info.vn. Đặt zimbraVirtualHostName thành mail.dns.info.vn và zimbraVirtualIPAddress thành 103.221.221.1. Đảm bảo rằng zimbraVirtualHostName được đặt thành tên sẽ được sử dụng để truy cập miền (URL) và chứng chỉ SSL được ký cho cùng một tên.
- Cú pháp
zmprov md example.com zimbraVirtualHostName mail.example.com zimbraVirtualIPAddress 1.2.3.4
- Ví dụ thực tế
zmprov md dns.info.vn zimbraVirtualHostName mail.dns.info.vn zimbraVirtualIPAddress 103.221.221.1
Bước 2: Chuẩn bị chứng chỉ SSL và Xác minh
Việc đầu tiên bạn cần chuẩn bị các file chứng chỉ SSL mà tôi đã đề cập trong phần Điều kiện
- Tạo thư mục riêng chứa file chứng chỉ SSL
zimbra@mail:~$ mkdir -p ssl/dns.info.vn
zimbra@mail:~$ cd ssl/dns.info.vn
Sau đó bạn upload các file chứng chỉ lên thư mục này và đặt tên như sau cho dễ nhân biết
- dns.info.vn.crt: File chứa chứng chỉ SSL
- dns.info.vn.intermediate.crt: Chứng chỉ trung gian có thể lấy ở đây
- dns.info.vn.key: Khoá key đi theo CSR và Chứng chỉ
- dns.info.vn.root.crt: File chưa Root CA của hãng SSL
- Tạo một chứng chỉ chain mới với tên định dạng _ca.crt
zimbra@mail:~/ssl/dns.info.vn$ cat dns.info.vn.root.crt dns.info.vn.intermediate.crt >> dns.info.vn_ca.crt
- Xác nhận xem Khoá và chứng chỉ có khớp với nhau không và chuổi chứng chỉ chain vừa tạo
zimbra@mail:~/ssl/dns.info.vn$ /opt/zimbra/bin/zmcertmgr verifycrt comm dns.info.vn.key dns.info.vn.crt dns.info.vn_ca.crt
Kết quả nếu xuất hiện như ảnh bên dưới là các chứng chỉ đã khớp với nhau
** Verifying 'dns.info.vn.crt' against 'dns.info.vn.key'
Certificate 'dns.info.vn.crt' and private key 'dns.info.vn.key' match.
** Verifying 'dns.info.vn.crt' against 'dns.info.vn_ca.crt'
Valid certificate chain: dns.info.vn.crt: OK
Bước 3: Deploy chứng chỉ SSL lên
Trước khi Deploy chứng chỉ SSL lên bạn cần tạo thêm một file như sau
- Thêm file chứng chỉ tên miền và chain vào một file mới và đặt tên .bundle
zimbra@mail:~/ssl/dns.info.vn$ cat dns.info.vn.crt dns.info.vn_ca.crt >> dns.info.vn.bundle
- Chạy lệnh sau để lưu chứng chỉ và key trong LDAP
Cú pháp thực hiện là
/opt/zimbra/libexec/zmdomaincertmgr savecrt <domainname> <certificate with chain certs> <keyfile>
Ví dụ thực tế với tên miền trong hướng dẫn
zimbra@mail:~/ssl/dns.info.vn$ /opt/zimbra/libexec/zmdomaincertmgr savecrt dns.info.vn dns.info.vn.bundle dns.info.vn.key
Lệnh này để triển khai chứng chỉ và lệnh cũng sẽ lưu chứng chỉ và khoá vào trong /opt/zimbra/conf/domaincerts/
. Nhưng một số trường hợp file không được lưu vào thì bạn hãy Copy thủ công vào nhé.
Bước 4: Kiểm tra Proxy
Bạn thực hiện chạy lệnh sau trên máy chủ của bạn.
zimbra@mail:~/ssl/dns.info.vn$ zmprov mcf zimbraReverseProxySNIEnabled TRUE
Bước 5: Viết lại cấu hình và khởi động Proxy
Bạn hãy viết lại cấu hình và khởi động proxy bằng lệnh sau
zimbra@mail:~/ssl/dns.info.vn$ zmproxyctl restart
Khi việc khởi động lại thành công, hãy thử truy cập miền bằng URL đã được đặt trong zimbraVirtualHostName qua HTTPS. Và kiểm tra chứng chỉ được tải trong trình duyệt. Trong trường hợp này, URL sẽ là https://example.com.
Tương tự với các tên miền khác nếu bạn muốn cài SSL cũng thực hiện như các bước trên và chỉ thay đổi lại tên miền.
Kết quả sau khi thực hiện
Kiểm tra chứng chỉ SSL trên thanh trình duyệt
Kiểm tra chứng chỉ SSL từ SSLShopper. Kết quả đã nhận chúng chỉ.
- Nguồn tham khảo: https://wiki.zimbra.com/wiki/Multiple_SSL_Certificates,Server_Name_Indication(SNI)_for_HTTPS