1. Anasayfa
  2. Microsoft Exchange Server

Exchange Server 2019 İçin Let’s Encrypt ile Ücretsiz SSL Sertifikası Kurulumu (Win-ACME ile)


Exchange Server, güvenli e-posta trafiği ve kullanıcıların Outlook Web App (OWA), ActiveSync ve Autodiscover gibi servislerle şifreli bağlantı kurabilmesi için mutlaka geçerli ve güvenilir bir SSL sertifikası gerektirir.

Varsayılan olarak gelen self-signed (kendinden imzalı) sertifikalar, istemci cihazlar ve tarayıcılar tarafından güvenilir kabul edilmez. Bu nedenle, üretim ortamlarında genellikle ücretli SAN (Subject Alternative Name) SSL sertifikaları kullanılır. Ancak küçük işletmeler veya test ortamları için ücretli sertifikalar maliyetli olabilir.

İşte bu noktada, Let’s Encrypt bize ücretsiz ve otomatik yenilenebilen SSL sertifikaları sunar. Bu makalede, Win-ACME istemcisi kullanılarak Exchange Server 2019 için ücretsiz Let’s Encrypt SAN SSL sertifikasının kurulumu ve otomatik yenileme ayarları adım adım gösterilmektedir.

Gereksinimler

Kurulumdan önce aşağıdaki şartların sağlanmış olması gerekir:

  • Exchange Server 2019/2016/2013 kurulu olmalı
  • OWA ve diğer servislerin iç/dış URL’leri yapılandırılmış olmalı
  • Exchange sunucusuna 80 (HTTP) ve 443 (HTTPS) portlarından dışarıdan erişilebilmelidir (Firewall ve NAT ayarları yapılmalı)
  • Public DNS üzerinde aşağıdaki A kayıtları oluşturulmalıdır:
    • mail.kadirkozan.com → Ana sertifika adı
    • webmail.kadirkozan.com
    • autodiscover.kadirkozan.com

Adım 1 – Win-ACME’nin İndirilmesi ve Çalıştırılması

  1. Win-ACME aracını resmi sitesi üzerinden indiriniz. https://www.win-acme.com/
  2. Zip dosyasını çıkararak C:\Tools\win-acme dizinine taşıyınız.
  3. wacs.exe dosyasına sağ tıklayıp Run as administrator seçeneğiyle çalıştırın.

Adım 2 – Sertifika Oluşturma Menüsü

Program açıldığında aşağıdaki menü karşınıza gelir.
Burada M (Create certificate – full options) seçeneğini seçiyoruz.

Adım 3 – Alan Adlarının Girilmesi

Manual input” seçeneğini (2) seçiyoruz ve sertifikaya dahil etmek istediğimiz alan adlarını virgülle ayırarak yazıyoruz.

mail.kadirkozan.com, webmail.kadirkozan.com, autodiscover.kadirkozan.com

Bu aşamadan sonra Excahnge Server’in sertifika doğrulaması yapabilmesi için TCP80 ve TCP443 portları NAT ile internetten erişime izin verilmesi gerekiyor. Ayrıca public DNS’de yukarıdaki kayıtların açılmış olması gerekmektedir.

Adım 4 – Doğrulama Yöntemi

Alan adlarının sahipliğini doğrulamak için Let’s Encrypt iki yöntem sunar. Biz http-01 yöntemini seçiyoruz (2 → Serve verification files from memory).

Adım 5 – Anahtar ve Depolama Ayarları

  • RSA Key seçiyoruz (2).

Sertifikayı Windows Certificate Store içine kaydediyoruz (4).

Bu adımdan sonra Windows ortamı için win-acme tool dizini içerisinde Powershell script oluşacaktır. Aşağıdaki komutu Exchange Server sunucularında girerek işleme devam ediyoruz.

  1. Site seçimi için Default Web Site işaretleniyor.
  2. Daha sonra Exchange servislerine yükleme için script ekleniyor: ./Scripts/ImportExchange.ps1 Parametrelerde IIS, SMTP ve IMAP servislerini belirtiyoruz: '{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'
./Scripts/ImportExchange.ps1
'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'

IIS HTTPS bindingleri otomatik güncellemek için 1 seçiyoruz.

Sertifika oluşturma işlemi tamamlanınca Win-ACME otomatik olarak Windows Görev Zamanlayıcıya (Task Scheduler) bir görev ekler. Bu görev, sertifika süresini takip ederek 90 gün dolmadan önce otomatik yenileme yapar.

Not : bu aşamaya kadar yapılan butün adımları tek bir komut ile yapmak da mümkündür. Win-ACME’nin bulunduğu dizinde aşağıdaki komutu çalıştırmanız yeterlidir.

wacs.exe --target manual --host mail.kadirkozan.com,webmail.kadirkozan.com,autodiscover.kadirkozan.com --certificatestore My --acl-fullcontrol "network service,administrators" --installation iis,script --installationsiteid 1 --script "./Scripts/ImportExchange.ps1" --scriptparameters "'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'"

Bu komutta yer alan;

  • --target manual → Manuel olarak alan adlarını belirtiyoruz.
  • --host → Sertifika içine dahil edilecek FQDN listesi (SAN kayıtları).
  • --certificatestore My → Sertifikayı Windows sertifika deposuna kaydeder.
  • --acl-fullcontrol → Sertifikaya kimlerin tam erişimi olacağını tanımlar.
  • --installation iis,script → IIS’e binding yapar, ayrıca Exchange’e yüklenmesi için script çağırır.
  • --installationsiteid 1 → IIS’te Default Web Site ID’sini belirtir.
  • --script ./Scripts/ImportExchange.ps1 → Exchange’e import için kullanılan script.
  • --scriptparameters → Sertifika parmak izi, servisler (IIS, SMTP, IMAP), cache bilgisi ve friendly name gibi parametreleri aktarır.

Bu komut çalıştığında menüde manuel seçtiğimiz tüm adımlar otomatik olarak tamamlanır.

Exchange Server Sertifika Kontrolleri

Kurulumdan sonra sertifikanın doğru şekilde eklendiğini kontrol etmek için:

Exchange Admin Center (ECP) üzerinden kontrol

  • ECPServers > Certificates bölümüne girin.
  • Yeni oluşturulan Let’s Encrypt sertifikasını göreceksiniz.
  • Durumu “Valid” olmalı.
  • Sertifika hangi servislerde atanmışsa (IIS, SMTP, IMAP) burada da listelenir.

PowerShell ile kontrol

Exchange Management Shell üzerinden aşağıdaki komutla yüklü sertifikaları listeleyebilirsiniz:

Get-ExchangeCertificate | fl FriendlyName,Subject,Services,Thumbprint,NotAfter

  • Subject kısmında alan adlarınız (mail.sistemcheck.com vb.) görünmeli.
  • Services bölümünde IIS, SMTP, IMAP işaretli olmalı.
  • NotAfter sertifikanın geçerlilik tarihini gösterir (Let’s Encrypt → 90 gün).

Dışarıdan SSL testi

Tarayıcı üzerinden OWA (https://mail.kadirkozan.com/owa) açın, sertifika güvenilir görünmeli.
Dış kontrol için: