Trong bài viết trước, TungDT đã hướng dẫn cách để cài đặt và cấu hình mail server với iRedMail trên CentOS 7. Mặc định, khi cài đặt iRedMail sẽ tạo ra self-signed SSL certificate cho các dịch vụ mail POP3/IMAP/SMTP chạy trên giao thức TLS và giao thức HTTPS cho việc truy cập webmail.
Khi chúng ta sử dụng self-signed certificate, bạn sẽ thường nhận cảnh báo “the certificate in use is not trusted”. Để tránh gặp cảnh báo này gây khó chịu cho người sử dụng, tôi đề nghị bạn nên mua một SSL certificate từ nhà cung cấp dịch vụ SSL hoặc sử dụng certificate miễn phí từ Let’s Encrypt.
Trong bài viết này, tôi sẽ hướng dẫn các bạn sử dụng Let’s Encrypt SSL để bảo mật iRedMail. Để có thể sử dụng Let’s Encrypt SSL certificate, máy chủ Mail của bạn nên có 1 địa chỉa IP public, và DNS record trỏ đến địa chỉ IP đó.
Bước 1: Tải Let’s Encrypt Certificate
Cài đặt certbot tool được sử dụng để tải Let’s Encrypt SSL certificate.
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
Sau đó cài đặt certbot-auto tool, lưu địa chỉ email và tên miền cho iRedMail
DOMAIN="mail.tungdt.net"
EMAIL="tungdt@tungdt.net"
Stop dịch vụ Nginx.
sudo systemctl stop nginx
Để đạt được free Let’s Encrypt certificate cho iRedMail mail server, chúng ta thực hiện các câu lệnh bên dưới.
sudo /usr/local/bin/certbot-auto certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring
Thông tin hiển thị thể hiện thành công như bên dưới.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/mail.tungdt.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/mail.tungdt.net/privkey.pem
Your cert will expire on 2020-01-23. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Bước 2: Thay thế iRedMail Self-signed certificates
Đổi tên iRedMail.crt self-signed certificate và Private key.
sudo mv /etc/pki/tls/certs/iRedMail.crt{,.bak}
sudo mv /etc/pki/tls/private/iRedMail.key{,.bak}
Tạo symlink cho Let’s Encrypt certificate và private key.
sudo ln -sf /etc/letsencrypt/live/mail.tungdt.ent/fullchain.pem /etc/pki/tls/certs/iRedMail.crt
sudo ln -sf /etc/letsencrypt/live/mail.tungdt.net/privkey.pem /etc/pki/tls/private/iRedMail.key
Khởi động lại dịch vụ iRedMail để sử dụng certificate mới.
sudo reboot
Sau khi thêm Let’s Encrypt SSL certificate, những ứng dungj mail client (MUA, Outlook, Thunderbird) không còn cảnh báo “invalid certificate”. Tương tự truy cập webmail cũng không còn cảnh báo lỗi SSL.