Merhaba, Exchange Server 2016 yazı serimizin 6. bölümünde, kurulum sonrası yapılması gereken kritik adımlardan biri olan SSL Sertifika Yapılandırması konusunu ele alacağız. Exchange Server’da bağlantıları bir SSL sertifikasıyla güvence altına almak, hem güvenlik hem de kullanıcı deneyimi açısından büyük önem taşır. Bu makalede, sertifika isteğinin nasıl oluşturulacağını, alınan sertifikanın nasıl tamamlanacağını ve gerekli hizmetlere nasıl atanacağını adım adım açıklayacağım. Ayrıca, üçüncü taraf bir sertifikayı yenilemek isteyenler için de aynı adımların uygulanabileceğini göreceksiniz.
Yazı serimizin önceki bölümlerine aşağıdaki linkler üzerinden ulaşabilirsiniz.
Exchange Server 2016 Kurulum ve Yapılandırma – Bölüm 1
Exchange Server 2016 Kurulum ve Yapılandırma – Bölüm 2
Exchange Server 2016 Kurulum ve Yapılandırma – Bölüm 3
Exchange Server 2016 Kurulum ve Yapılandırma – Bölüm 4
Exchange Server 2016 Kurulum ve Yapılandırma – Bölüm 5
Exchange Server’ı yüklerken sistem tarafından üç adet varsayılan sertifika oluşturulur:
- Microsoft Exchange (Kendi kendine imzalanmış):
Bu sertifika, sunucular arası iletişim ve belirli dahili işlemler için kullanılır. - WMSVC veya WMSVC-SHA2 (Exchange Server sürümüne bağlı olarak değişir, kendi kendine imzalanmış): Windows Yönetim Hizmeti (Windows Management Service) için oluşturulur.
- Microsoft Exchange Server Kimlik Doğrulama Sertifikası (Kendi kendine imzalanmış):
Exchange Server’ın kimlik doğrulama mekanizmalarında kullandığı bir sertifikadır.
Bu varsayılan sertifikalar, temel dahili işlemleri ve iletişimi sağlasa da, güvenli bir dış bağlantı ve kullanıcı güveni için yeterli değildir. Bu nedenle, Exchange Server ortamınızda bir Sertifika Yetkilisinden (CA) edindiğiniz üçüncü taraf bir sertifika yüklemeniz gerekir.
Üçüncü Taraf Sertifikası (CA İmzalı):
Bu sertifika, istemcilerin sunucuya güvenli bir şekilde bağlanmasını sağlamak ve dış bağlantılarda güvenilirlik kazanmak için gereklidir. Özellikle OWA, ActiveSync ve Outlook Anywhere gibi hizmetler için bu sertifika kritik önem taşır.
Exchange Server’da sertifika nasıl oluşturulur ?
Exchange Server’de sertifika oluşturma işlemleri, Microsoft’un sürekli olarak tespit ettiği zafiyetler ve tehditlere karşı aldığı önlemler doğrultusunda, her yeni güncelleme ile değişiklik göstermektedir. Önceden arayüz üzerinden gerçekleştirebildiğimiz birçok işlemi artık komut satırı kullanarak yapmamız gerekmektedir.
Özellikle,
- Microsoft Exchange Server 2019 (CU12 ve üzeri)
- Microsoft Exchange Server 2016 (CU23 ve üzeri)
sürümlerine yapılan tüm toplu güncellemeler (CU) sonrası, sertifika işlemlerinin çoğu Exchange Management Shell üzerinden gerçekleştirilmektedir.
Bu yazımızda, Exchange Sunucumuz için bir sertifika talep dosyası oluşturmayı, bu talebi yerel bir CA sunucusunda onaylamayı ve ardından onaylanan sertifikayı sunucumuza geri yükleme adımlarını detaylı şekilde ele alacağız.
Exchange Sertifika İsteği Oluşturun
Sertifika oluşturma işlemine başlamadan önce, okuma ve yazma yetkisi olan bir dosya paylaşımı oluşturmanız gerekmektedir. Sertifika talep dosyasını bu paylaşımlı alanda oluşturacağız.
- Exchange sunucunuzun C: diskinde, Certificate adında bir klasör oluşturun.
- Bu klasörü ağ üzerinden erişilebilir hale getirmek için paylaşıma açın ve klasöre Everyone kullanıcısı için Read/Write yetkisi verin.
İsterseniz belirli bir kullanıcı hesabı da tanımlayabilirsiniz, fakat ben bu işlemin sonunda paylaşımı kaldıracağım için geçici bir çözüm olarak Everyone yetkisi verdim.
Exchange Management Shell uygulamasını Administrator olarak çalıştırdıktan sonra, aşağıdaki komutu kullanarak bir sertifika talebi oluşturabilirsiniz. Komuttaki başlıkları ve bilgileri, kendi yapınıza uygun şekilde düzenlemeyi unutmayın:
$txtrequest = New-ExchangeCertificate -Server "EXCH01" -GenerateRequest -FriendlyName "onurkili
c.com.tr" -PrivateKeyExportable $true -SubjectName "c=TR, s=Istanbul, l=Istanbul, o=KLC, ou=KLC, cn=mail.onurkilic.com.tr" -DomainName mail.onurkilic.com.tr,autodiscover.onurkilic.com.trKomut Açıklamaları:
Server : İstek oluşturulacak olan Exchange sunucusu
GenerateRequest : Sertifika talebini oluşturur.
FriendlyName : Sertifika için daha anlaşılır bir isim tanımlar.
PrivateKeyExportable : Sertifikayı diğer Exchange Sunucularına aktarmanıza/içe aktarmanıza olanak tanır.
SubjectName : Sertifikada yer alacak ana bilgileri tanımlar (ülke kodu, organizasyon adı, ve ortak ad (CN)).
DomainName : Sertifikaya dahil edilmesi gereken etki alanı adlarını belirler.

Önemli Not: Eğer bir wildcard sertifika talebi oluşturmak istiyorsanız, -SubjectName parametresini uygun şekilde düzenlemeniz ve -DomainName parametresini kaldırmanız gerekmektedir. Bu durumda komutun doğru hali aşağıdaki gibi olacaktır:
$txtrequest = New-ExchangeCertificate -Server "EXCH01" -GenerateRequest -FriendlyName "onurkili
c.com.tr" -PrivateKeyExportable $true -SubjectName "c=TR, s=Istanbul, l=Istanbul, o=KLC, ou=KLC, cn=*.onurkilic.com.tr" Sertifika isteğini oluşturduktan sonra, ECP (Exchange Control Panel) panelinde Servers > Certificates sekmesini kontrol ederek oluşturulan talebi görebilirsiniz. Talebin Status durumunu incelediğinizde, “Pending request” (Bekleyen istek) modunda olduğunu fark edeceksiniz. Bu, sertifika isteğinin henüz onaylanmadığını ve tamamlanması gerektiğini gösterir.

Aşağıdaki komut ile oluşturduğumuz ve pending request durumunda olan sertifika talebimizi bir dosyaya yazdırabiliriz. Bu işlem, sertifika talep dosyasını (REQ File) belirttiğiniz dizine kaydeder.
[System.IO.File]::WriteAllBytes('\\EXCH01\Certificate\ExchangeCert.req', [System.Text.Encoding]
::Unicode.GetBytes($txtrequest))
Paylaşıma açtığımız dizinde, oluşturduğumuz sertifika talep dosyasını (REQ File) görebilirsiniz. Bu dosya, sertifika otoritesine (CA) iletilecek olan sertifika isteğini içerir. Talep dosyasını, onay süreci için yerel bir CA sunucusuna veya üçüncü taraf bir sertifika otoritesine gönderebilirsiniz.

Sertifika İsteğini Onaylayın
Sertifika isteğini onaylamak için iki seçeneğiniz bulunmaktadır: global bir sertifika sağlayıcı (Global CA) ile çalışabilir veya yerel bir CA (Certificate Authority) sunucusu kullanabilirsiniz. Ben bu çalışmayı bir lab ortamında gerçekleştirdiğim için kendi local CA sunucumda işlemi tamamlayacağım.
Eğer bir CA sunucunuz yoksa, aşağıdaki makaleden yararlanarak CA sunucusunun kurulumunu yapabilirsiniz. Ancak kurulum sırasında dikkat etmeniz gereken en önemli nokta, Certification Authority Web Enrollment rolünü de yüklemektir. Bu rol olmadan, web arayüzü üzerinden sertifika isteğini onaylama işlemini gerçekleştiremezsiniz.
Certification Authority Kurulumu
CA kurulumu tamamlandıktan sonra, web tarayıcınızda http://localhost/certsrv/ adresini açarak sertifika talebini onaylama işlemine başlayabilirsiniz. Bu adresi açtığınızda, aşağıdaki gibi bir ekranla karşılaşacaksınız.
Ekranda “Select a task” başlığı altında yer alan seçeneklerden, “Request a certificate” seçeneğini seçerek sertifika talep işlemine devam ediyoruz.

Gelen ekranda, “Or, submit an advanced certificate request” seçeneğini tıklayarak bir sonraki adıma ilerliyoruz

Son olarak, paylaşılan dizinde oluşturduğumuz .req dosyasının içeriğini tamamını kopyalayarak Saved Request bölümüne yapıştırıyoruz. Ardından, Certificate Template olarak Web Server seçeneğini seçip Submit butonuna tıklayarak sertifikamızı onaylıyoruz. Bu işlem, sertifika sağlayıcınızın talepten onaya geçmesini sağlar ve onaylanan sertifika, Exchange sunucumuza yüklenmeye hazır hale gelir.

Sertifikamız başarıyla oluşturulduktan sonra, Download Certificate File butonuna tıklayarak sertifikamızı indiriyoruz.

İndirilen sertifikayı Exchange sunucumuza yükleyebilmek için Exchange server üzerinde oluşturduğumuz paylaşım klasörünün içine kopyalıyoruz.

Sertifika İsteğini Tamamlayın
Sertifikamızı oluşturduktan sonra, bir sonraki adım olarak sertifikayı paylaşım klasörüne taşıyıp ardından sunucumuza yüklememiz gerekmektedir. Bunun için, Exchange Management Shell uygulamasını yönetici olarak çalıştırdıktan sonra aşağıdaki komutu girerek yükleme işlemini tamamlıyoruz.
Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('\\EXCH01\Certificate\cert
new.cer')) -PrivateKeyExportable:$true -Password (ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force)
Sertifikamızı sunucuya yükledikten sonra, ECP panelinden kontrol ettiğimizde sertifikanın durumu “Valid” olarak görünecektir.

Sertifikayı düzenlemek istediğimizde, General sekmesinde sertifikamız ve kullanacağımız domainlere ait bilgiler aşağıdaki gibi görünecektir.

Sertifikayı aktif olarak kullanabilmek için, Services bölümünde bulunan servislere atama yapmamız gerekmektedir. Ben, SMTP, IMAP, POP ve IIS servislerinin hepsinde bu sertifikayı kullanmayı seçiyorum.

ECP paneline domain ismi ile bağlandığımda HTTPS‘in aktif olduğunu ve sertifikama ait detayları aşağıdaki gibi görebiliyorum. Bu sertifikayı, kendi CA sunucunuzda oluşturabileceğiniz gibi, req file dosyasını global bir sertifika sağlayıcısına ileterek de alabilirsiniz.

Buraya kadar Exchange Server‘da sertifika oluşturmayı ve yüklemeyi tamamladık. İlk olarak, bir sertifika isteği oluşturup, ardından bu isteği tamamladık. Son olarak, hizmetleri bu sertifikaya atadık. Exchange Server‘da üçüncü taraf sertifikasını yenilemek istediğinizde de aynı adımlar geçerlidir. Bu süreç, sertifikayı oluşturmak, onaylamak ve uygun hizmetlere atamak için kullanılan standart adımlardır. Umarım faydalı olmuştur. Başka bir makalede görüşmek üzere.
Paylaş