2 min read

Zimbra Üzerindeki SSL Sertifikasını Let’s Encrypt ile Yenileme

Bu doküman, Zimbra sunucunuzda Let’s Encrypt kullanarak SSL sertifikasını nasıl yenileyeceğinizi adım adım açıklar. Burada kullanılan yöntem, Certbot aracı ile birlikte Let's Encrypt tarafından sağlanan ücretsiz SSL sertifikalarının kullanılmasına dayanmaktadır.

Ön Koşullar

  1. Zimbra Sunucusu: Zimbra Collaboration Suite (ZCS) kurulu olmalıdır.
  2. Certbot Yüklü Olmalı: Let’s Encrypt sertifikalarını yönetmek için kullanılan Certbot aracının sunucunuzda kurulu olması gerekmektedir. Eğer kurulu değilse, işletim sisteminize uygun komutlarla kurabilirsiniz:
  • Ubuntu:
sudo apt update
sudo apt install certbot
  • CentOS/RHEL:
sudo yum install epel-release
sudo yum install certbot
  1. Sunucu İletişimi: Let’s Encrypt sertifikasını yenilerken HTTP doğrulama yapılacağı için sunucunuzun dış dünya ile iletişimde olması gereklidir.

1. Adım: Gerekli Değişkenlerin Ayarlanması

Öncelikle, e-posta adresinizi ve sunucunun tam etki alanı adını (Fully Qualified Domain Name - FQDN) ayarlamak için aşağıdaki değişkenleri tanımlayın:

export EMAIL="admin@cpynet.com"
export ZIMBRA_FQDN=$(hostname -f)
  • EMAIL: Let’s Encrypt tarafından sertifika yenileme ve diğer önemli bildirimler için kullanılacak e-posta adresidir. Kendi yönetici e-posta adresinizi girin.
  • ZIMBRA_FQDN: Sunucunuzun tam etki alanı adıdır. hostname -f komutu ile otomatik olarak sunucunuzun FQDN'sini çeker.

2. Adım: Zimbra Hizmetlerini Duraklatma

Let’s Encrypt, doğrulama işlemi için sunucunun 80 numaralı portunu kullanacağı için Zimbra’nın web sunucusu geçici olarak durdurulmalıdır. Aşağıdaki komutu kullanarak Zimbra hizmetlerini duraklatın:

sudo su - zimbra -c "zmproxyctl stop"
sudo su - zimbra -c "zmmailboxdctl stop"

Bu işlem, sertifika yenileme işlemi sırasında web sunucusunun portlarını serbest bırakacaktır.


3. Adım: Certbot ile Sertifika Yenileme

Let’s Encrypt sertifikasını yenilemek için aşağıdaki Certbot komutunu çalıştırın. Bu komut, sunucunuza geçici bir web sunucusu kurarak HTTP doğrulaması ile sertifika yenileyecektir.

sudo certbot certonly --standalone \
  -d $ZIMBRA_FQDN \
  --preferred-chain "ISRG Root X1" \
  --force-renewal \
  --preferred-challenges http \
  --agree-tos \
  -n \
  -m $EMAIL \
  --keep-until-expiring \
  --key-type rsa
  • --standalone: Certbot, sertifikayı yenilerken kendi geçici web sunucusunu başlatacaktır.
  • -d $ZIMBRA_FQDN: Sertifikanın geçerli olacağı domain adıdır. ZIMBRA_FQDN ile sunucunuzun FQDN’si kullanılır.
  • --preferred-chain "ISRG Root X1": Sertifikayı "ISRG Root X1" zinciriyle sağlar.
  • --force-renewal: Sertifikayı hemen yenilemeye zorlar.
  • --preferred-challenges http: HTTP doğrulamasını kullanır.
  • -m $EMAIL: Sertifika ile ilişkili e-posta adresi.
  • --keep-until-expiring: Sertifika süresi bitmeden yeniden yenilenmez.
  • --key-type rsa: RSA anahtar tipi kullanır.

4. Adım: Zimbra İçin Sertifikayı İçe Aktarma

Yenilenen sertifikaları Zimbra’ya uygulamak için aşağıdaki adımları izleyin. Certbot tarafından oluşturulan dosyalar /etc/letsencrypt/live/<ZIMBRA_FQDN>/ dizininde saklanmaktadır. Bu dosyaları uygun Zimbra dizinine kopyalayın:

sudo cp /etc/letsencrypt/live/$ZIMBRA_FQDN/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
sudo cp /etc/letsencrypt/live/$ZIMBRA_FQDN/fullchain.pem /opt/zimbra/ssl/zimbra/commercial/commercial.crt

Ardından, Zimbra’ya bu sertifikaları tanıtmak için aşağıdaki komutu çalıştırın:

sudo su - zimbra -c "zmcertmgr deploycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.crt /opt/zimbra/ssl/zimbra/commercial/commercial.key"

Bu işlem, sertifikaları Zimbra sunucusuna yükleyecektir.


5. Adım: Zimbra Hizmetlerini Başlatma

Sertifikalar başarıyla yenilendikten sonra Zimbra hizmetlerini tekrar başlatın:

sudo su - zimbra -c "zmproxyctl start"
sudo su - zimbra -c "zmmailboxdctl start"

6. Adım: Sertifikanın Kontrol Edilmesi

Yenileme işleminin başarılı olup olmadığını kontrol etmek için Zimbra sunucusunun SSL sertifikalarını aşağıdaki komutla doğrulayabilirsiniz:

openssl s_client -connect $ZIMBRA_FQDN:443 -servername $ZIMBRA_FQDN

Çıktıda yeni sertifikanın geçerlilik tarihini kontrol edin.


Sonuç

Bu doküman ile Zimbra sunucusundaki SSL sertifikasını Let’s Encrypt ile kolayca yenileyebilirsiniz. Sertifikalarınızı düzenli olarak yenilemeyi unutmamak için bir cron job ekleyerek otomatik yenilemeyi ayarlayabilirsiniz.