Bu kılavuzda, Zimbra posta sunucusuna Let’s Encrypt SSL sertifikası nasıl kurulacağına dair adım adım bir rehber bulacaksınız. Bu kılavuz, Ubuntu 20 işletim sisteminde çalıştığınızı varsayıyor ve doğru bir hostname ile DNS ayarlarının yapılmış olduğunu kabul ediyor. Kılavuzda yer alan adımları takip ederek, Zimbra sunucunuz için güvenli bir bağlantı sağlayabilirsiniz.
Ön Gereksinimler
- Hostname ve DNS Kontrolü: Aşağıdaki komutları kullanarak hostname’inizin ve Zimbra’nın doğru ayarlandığından emin olun.
zimbra@le-test:~$ source ~/bin/zmshutil; zmsetvars
zimbra@le-test:~$ zmhostname
cpynet.com
zimbra@le-test:~$ hostname --fqdn
cpynet.com
- CAA DNS Kaydı Kontrolü: Let’s Encrypt sertifikası alabilmek için CAA DNS kaydınızı kontrol edin. Aşağıdaki komut ile CAA kaydınızın doğru olduğunu doğrulayın. Çıktıda
0 issue "letsencrypt.org"
ibaresini görmelisiniz.
zimbra@le-test:~$ sudo apt install -y net-tools dnsutils
zimbra@le-test:~$ dig +short type257 $(hostname --d)
0 issuewild "letsencrypt.org"
0 issue "letsencrypt.org"
- Port Kontrolü: Zimbra’nın 80 numaralı portta dinleyip dinlemediğini kontrol edin. Let’s Encrypt, geçici bir web sunucusu çalıştırmak için bu portu kullanacaktır.
netstat -tulpn | grep ":80 "
Eğer Zimbra 80 portunda dinliyorsa, proxy modunu değiştirmelisiniz:
sudo su zimbra -
zmprov ms `zmhostname` zimbraReverseProxyMailMode https
zmprov ms `zmhostname` zimbraMailMode https
/opt/zimbra/bin/zmtlsctl https
/opt/zimbra/libexec/zmproxyconfig -e -w -o -a 8080:80:8443:443 -x https -H `zmhostname`
- Zimbra Kurulumu için Otomatik Yükleyici Kullanımı: Zimbra’yı kurarken sorun yaşıyorsanız, Let’s Encrypt ayarlarını otomatik olarak yapacak bir yükleyici kullanabilirsiniz.
Certbot Kurulumu
Zimbra ile uyumlu en güncel Certbot sürümünü kurmak için aşağıdaki adımları izleyin.
- Gerekli Paketlerin Kurulumu: Certbot’u kurmak için öncelikle gerekli paketleri yükleyin.
sudo apt install -y python3 python3-venv libaugeas0
- Python Sanal Ortamı Oluşturma: Certbot’u çalıştırmak için bir Python sanal ortamı oluşturun.
python3 -m venv /opt/certbot/
- Certbot’u Yükleme: Aşağıdaki komutlarla Certbot’u güncelleyin ve yükleyin.
/opt/certbot/bin/pip install --upgrade pip
/opt/certbot/bin/pip install certbot
ln -s /opt/certbot/bin/certbot /usr/local/sbin/certbot
- SSL Sertifikası Alma: Aşağıdaki komut ile SSL sertifikasını alın. Email adresi kullanmadan onay vermek için
--register-unsafely-without-email
bayrağını kullanabilirsiniz.
/usr/local/sbin/certbot certonly -d $(hostname --fqdn) --standalone --preferred-chain "ISRG Root X2" --agree-tos --register-unsafely-without-email
Zimbra Dağıtımı
Let’s Encrypt sertifikasını Zimbra’ya dağıtmak için aşağıdaki script’i oluşturun.
cat >> /usr/local/sbin/letsencrypt-zimbra << EOF
#!/bin/bash
/usr/local/sbin/certbot certonly -d $(hostname --fqdn) --standalone -n --preferred-chain "ISRG Root X2" --agree-tos --register-unsafely-without-email
cp "/etc/letsencrypt/live/$(hostname --fqdn)/privkey.pem" /opt/zimbra/ssl/zimbra/commercial/commercial.key
chown zimbra:zimbra /opt/zimbra/ssl/zimbra/commercial/commercial.key
wget -O /tmp/ISRG-X2.pem https://letsencrypt.org/certs/isrg-root-x2.pem
rm -f "/etc/letsencrypt/live/$(hostname --fqdn)/chainZimbra.pem"
cp "/etc/letsencrypt/live/$(hostname --fqdn)/chain.pem" "/etc/letsencrypt/live/$(hostname --fqdn)/chainZimbra.pem"
cat /tmp/ISRG-X2.pem >> "/etc/letsencrypt/live/$(hostname --fqdn)/chainZimbra.pem"
chown zimbra:zimbra /etc/letsencrypt -R
cd /tmp
su zimbra -c '/opt/zimbra/bin/zmcertmgr deploycrt comm "/etc/letsencrypt/live/$(hostname --fqdn)/cert.pem" "/etc/letsencrypt/live/$(hostname --fqdn)/chainZimbra.pem"'
rm -f "/etc/letsencrypt/live/$(hostname --fqdn)/chainZimbra.pem"
EOF
İzinlerin Ayarlanması
Script’in çalıştırma izinlerini ayarlayın ve cron job oluşturun.
chmod +rx /usr/local/sbin/letsencrypt-zimbra
ln -s /usr/local/sbin/letsencrypt-zimbra /etc/cron.daily/letsencrypt-zimbra
/etc/cron.daily/letsencrypt-zimbra
Zimbra’yı Yeniden Başlatma
Yeni sertifikayı yüklemek için Zimbra’yı yeniden başlatın.
sudo su zimbra -c '/opt/zimbra/bin/zmcontrol restart'
Cron job, sertifikanızın süresinin dolmasından yaklaşık 1 ay önce otomatik olarak yenileme işlemi yapacaktır. Yenileme tarihinden önce Zimbra’yı manuel olarak yeniden başlatmanız gerekecektir.
Manual Yükleme
Eğer Zimbra ISRG Root X2 veya ISRG Root X1 ile birlikte gelmiyorsa, bu dosyayı sağlamanız gerekecektir. Let’s Encrypt sertifikasını aldıktan sonra Zimbra’ya yüklemek için aşağıdaki adımları izleyin.
- Özel Anahtarın Kopyalanması: Sertifikanızı aldıktan sonra aşağıdaki komutları kullanarak anahtarınızı kopyalayın.
cp /etc/letsencrypt/live/cpynet.com/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
chown zimbra:zimbra /opt/zimbra/ssl/zimbra/commercial/commercial.key
- Root Sertifikası İndirme: Aşağıdaki komutla root sertifikasını indirin.
wget -O /tmp/ISRG-X2.pem https://letsencrypt.org/certs/isrg-root-x2.pem
- Sertifika Zincirinin Oluşturulması: Sertifika zincirinizi oluşturmak için aşağıdaki komutu çalıştırın.
cat /tmp/ISRG-X2.pem >> /etc/letsencrypt/live/cpynet.com/chain.pem
- Sertifikayı Dağıtma: Aşağıdaki komutları kullanarak sertifikayı Zimbra’ya dağıtın.
cd ~
/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /etc/letsencrypt/live/cpynet.com/cert.pem /etc/letsencrypt/live/cpynet.com/chain.pem
/opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/cpynet.com/cert.pem /etc/letsencrypt/live/cpynet.com/chain.pem
Sonuç
Bu kılavuzda, Zimbra sunucunuz için Let’s Encrypt SSL sertifikasının nasıl kurulacağını öğrendiniz. Doğru ayarları yaptıktan sonra, güvenli bir bağlantıya sahip olacak ve kullanıcılarınız için daha iyi bir deneyim sağlayacaksınız. Sertifika yenileme işleminin otomatik olarak gerçekleşeceğini unutmayın, ancak her zaman sisteminizi güncel tutmak ve yeni değişiklikleri gözden geçirmek önemlidir.
Ek Bilgiler
Güvenlik ve güncellemeler ile ilgili olarak, sunucunuzda düzenli olarak güvenlik güncellemeleri yapmayı ve yazılım bileşenlerinizi güncel tutmayı unutmayın