Bu makalemde sizlere Microsoft'un en yeni mail sunucu ürünü olan Exchange Server 2019 kurulumu ve tüm yapılandırmaların nasıl yapılacağından bahsediyor olacağım.
Makalem şu aşamalardan oluşacak;
1- Exchange Server 2019 kurulumu için ön gereksinimler.
2- Exchange Server 2019 kurulumu için ön yapılandırma ayarlarının yapılması.
3- Exchange Server 2019 kurulumu.
4- Exchange Server 2019 kurulumu sonrası temel yapılandırma ayarlarının yapılması.
5- Exchange Server DNS yapılandırma ayarları.
6- Exchange Server için Firewall yapılandırmaları.
Daha önceki makalemde sizlere, Exchange Server 2016 Kurulum konusuna detaylıca değinmiştim. Exchange Server 2019 kurulumu ve detaylı yapılandırmara işlemine geçmeden önce, Exchange Server 2019 ile gelen yeniliklerden bahsetmek istiyorum. 24 Temmuz 2018 tarihi itibari ile Microsoft Exchange Server 2019 RTM (Release to manufacturing) yayınlandı ve Exchange Server ailesi, en yeni teknolojileri barından bu en yeni üyesine kavuştu. Exchange Server 2019, beraberinde bir takım yeni teknolojileri, özellikleri ve servisleri ile birlikte geldi. Bu makalemde; Exchange Server 2019 kurulum işlemine geçmeden önce, bu yenilikleri sizlerle paylaşmak istiyorum.

Microsoft Exchange Server 2019 ile gelen yenilikler
1- Güvenlik
Exchange Server 2019 ile gelen Güvenlik yenilikleri:
● Windows Server Core Desteği: Microsoft Exchange 2019, Windows Server Core işletim sistemi desteğini de beraberinde getirdi. Bu, daha az atak tehlikesi anlamına geliyor. Özetle, Microsoft Exchange Server 2019 artık Windows Server 2016 ya da Windows Server 2019 Core işletim sistemi üzerinde kurulabilme özelliğine sahip oldu.
● Exchange Management Shell ve Exchange admin center'a (EAC) erişim güvenliği: Exchange Server'ın sadece iç Network'ten (LAN ortamından) yönetilmesi için Firewall Rule'ları yerine, Client Access Rule'ları kullanabilecek.
2- Performans
Exchange Server 2019 ile gelen performans yenilikleri:
● Gelişmiş arama özelliği: Neredeyse yeniden tasarlanmış olan arama motoru özelliği sayesinde Bing Teknolojisi devreye alındı. Bu yeni arama teknolojisi sayesinde aramaların daha hızlı sonuç vermesi, her bir Server'da ayrı Search Index log dosyaları tutulması yerine, daha büyük boyutlu Index'lerin database'lerin içinde tutularak, yönetimsel olarak kolaylık sağlamasının yanı sıra, olası bir failover durumunda Database kopyalarında da güncel Index tutulması hedeflenmektedir.
● SSD-Cache: Son yıllarda Mailbox Database'lerin daha fazla data barındırması nedeniyle daha fazla Disk alanı ihtiyacını da beraberinde getirdi. Bunun sonucunda da Disk'ledeki data okuma performansı da doğrudan etkilenmektedir. Tüm SSD üniteleri, yazma ve okuma işlemini düzenleyen ve bilgisayarlarda kullandığımız işlemcilere benzer hesaplama kabiliyetleri olan kontrolörlere sahiptir. Bu kontrolör, SSD ünitesini SSD yapan şeydir ve performansına direkt etki eder. Aynı anda yazılabilecek veri miktarı, yazma hızı, bellek bant genişliği ve bellek verimliliği bunların başında gelir. İşte tüm bunları yöneten ve performansı belirleyen bellek kontrolörüdür. Dolayısı ile de en çok kullanılan data'lar, SSD'lerin cache'lerinde tutulur ve performansın daha üst düzeyde tutulması sağlanır. SSD'lerin cache özelliğinden yararlanmak için de Exchange Server 2019 ile birlikte SSD-Cache özellik desteği desteği devreye alınmıştır.
● İşlemci ve Bellek: Exchange Server 2019 ile birlikte İşlemci(CPU) ve Bellek(Ram) desteği, 48 Core'luk CPU (İşlemci) ve 256 Gigabyte (GB) Memory (Ram) destekleyecek şekilde yeniden yapılandırıldı.
3- Son Kullanıcı Deneyimi
Exchange Server 2019 ile gelen artırılmış son kullanıcı deneyimi:
● Takvim: Microsoft Exchange 2019 ile son kullanıcı deneyimi noktasında en önemli değişiklik, takvim paylaşım ve yönetiminin daha kolay ve kullanışlı hale getirilmesi oldu. Biraz daha detaylandıracak olursak;
1- Remove-CalendarEvents cmdlet: İşten ayrılan birinin oluşturmuş olduğu toplantı davetleri, organizasyondaki diğer kullanıcıların takvimlerinde durmaya devam ediyordu ve iptal edilemiyordu. Yeni geliştirilmiş olan Remove-CalendarEvents PowerShell komutu ile işten ayrılan birinin oluşturmuş olduğu toplantı davetleri Exchange Server Administrator tarafından iptal edilebilecek.
4- Mimari
Exchange Server 2019 ile yenilenen mimari:
● Unified Messaging (UM): Microsoft Exchange 2019 ile gelen yeniliklerden birisi de artık Unified Messaging'in bu sürümle birlikte hizmetine devam etmiyor olmasıdır. Bununla birlikte user mailbox'larında da bu özellikler dolayısıyla kaldırılmış durumda. Microsoft, bunun yerine Skype for Business ya da Cloud Voicemail kullanımını önermektedir.
Gereksinimler
Exchange Server 2019 kurulum işlemine geçmeden önce kurulum için gerekli olan sistem gereksinimlerine ve ön kurulumlarına göz atalım;
1- Donanım Gereksimleri
Aşağıdaki bu tablo, Exchange Server 2019 kuurulumu için gerekli olan Min. donanım gereksinimlerini göstermektedir.
Donanım |
Gereksinim |
RAM Bellek |
• Mailbox Server Role için en az 128 GB.
• Edge Transport Role için en az 64 GB. |
Disk |
• Exchange Server'ın kurulacağı Disk alanında en az 30 GB boş alan. |
2- Windows Server Gereksinimleri
Aşağıdaki bu tablo, Exchange Server'ın hangi Cumulative Update (CU) versiyonu ile hangi Windows Server versiyonu üzerinde kurabileceğinizi göstermektedir.
Bileşen |
Gereksinim |
Windows Server |
• Windows Server 2022 Standart veya Datacenter (CU12 ve üstü)
• Windows Server 2019 Standart veya Datacenter (CU11 ve öncesi) |
3- Active Directory Gereksinimleri
Exchange Organizasyonunuzu ilk defa kuruyorsanız, ortamınızdaki Domain Controller'ların aşağıdaki gereksinimleri karşılıyor olduğundan emin olmalısınız. Aşağıdaki bu tablo, Exchange Server'ın iletişim kuracağı Active Directory Domain Controller için desteklenen Windows Server versiyonlarını, Forest Functional Level gereksinimini ve Exchange Server'ın hangi Cumulative Update (CU) versiyonu ile Windows Server versiyonlarını desteklediğini göstermektedir.
Bileşen |
Gereksinim |
Domain Controller |
• Windows Server 2022 Standart veya Datacenter (CU12 ve üstü)
• Windows Server 2019 Standart veya Datacenter (CU11 ve öncesi)
• Windows Server 2016 Standart veya Datacenter (Kısıt yok)
• Windows Server 2012 R2 Standart veya Datacenter (Kısıt yok) |
Forest Functional Level |
• Windows Server 2012 R2 veya üstü |
4- Mevcut Yapıya Kurulum Gereksinimleri (Co-Existence)
Mevcut Exchange organizasyonunuzda kurulu alt versiyon Exchange Server'lar bulunuyorsa ve Exchange Server Migration amacı ile mevcut yapınıza ek olarak Exchange Server 2019 kurulumu yapacaksınız, mevcut organizasyondaki Exchange Server versiyon bilgisinin aşağıdaki tabloya göre olduğundan emin olmalısınız.
Mevcut Versiyon |
Exchange Server 2019 Dahil Edilme |
Exchange Server 2010 ve daha öncesi |
Desktenlenmiyor. |
Exchange Server 2013 |
Exchange Server 2013 CU21 veya üstü (Edge Transport dahil) |
Exchange Server 2016 |
Exchange Server 2016 CU11 veya üstü (Edge Transport dahil) |
Exchange Server 2013 ve 2016 karma yapı |
Exchange Server 2016 ve Exchange Server 2013'ün gereksinimleri |
Neden Exchange Server Kurulumu Domain Controller Üzerinde Yapılmamalıdır?
● Exchange Server ve Active Directory nesnelerininin yönetimsel olarak ayrıldığı organizasyonlarda Split Permissions modu kullanılmakdatır. Split Permissions, organizasyon içinde belli gruplara belli izinler atamaktadır. Bu ayrım, organizasyonlarda yapılan değişikliklerin kontrol altına alınması, iş akışının devam etmesi ve standartların sürdürülebilmesini sağlamaktadır.
Organizasyonlarda iki tip grup vardır. Bunlar, Role Based Access Control (RBAC) ile organizasyonun Exchange alt yapısını yöneten Administrator grubu ve Access Control Lists (ACLs) ile Active Directory alt yapısını yöneten Administrator grubudur. Active Directory alt yapısı, değişik lokasyonlara, Domain yapılarına, servis ve uygulamalara ve hatta forest yapılarına ayrıldığı için bu ayrım daha da önemli hale gelmektedir. Yani özetle, Exchange alt yapısını ve Active Directory alt yapısını yöneten Administrator'ların görevlerinin ayrılması önemlidir. Bu nedenle de aynı yapı üzerinde hem Exchange Server hem de Active Directory çalıştırılmamalıdır.
● Domain Admins grubuna, Exchange organizayonundaki Exchange ile ilişkili tüm nesnelere yazma ve okuma hakkına sahip olan ve Universal Security grubu olan, Exchange Trusted Subsystem universal security group (USG) grubu eklenmektedir. Bu da, Domain'deki tüm Exchange Server'lara Domain Administrator hakları vermektedir.
● Hem Exchange Server, hem de Active Directory yoğun donanımsal kaynak kullanan uygulamalardır. Bu nedenle, Exchange Server ve Active Directory'nin aynı Server'da kullanılması, performans sorunları ortaya çıkartmaktadır.
● Global Catalog olarak çalıştılan Domain Controller'da Exchange Server servisleri düzgün çalışmayabilmektedir.
● Sistem Shutdown edeceğiniz zaman, Exchange Server servislerini kapatmadığınız zaman, Sistem Shutdown durumları normalden daha uzun sürmektedir.
● Domain Controller Demote etme yani Active Directory kaldırma işlemleri yapılamamaktadır.
● Active Directory Clustered Node olan bir Server üzerinde Exchange Server çalıştırılması desteklenmemektedir.
Exchange Server 2019 Kurulum Ön gereksinimlerinin Hazırlanması
Yukarıdaki tüm gereksinimleri yerine getirildikten sonra sıra, Exchange Server 2019 kurulum için gerekli olan diğer ön hazırlıkları yapmaya geldi..
Remote Tools Administration Pack kurulumu için "Run as Administrator" ile PowerShell açılarak aşağıdaki komut yazılır. Bu işlemler için kullanacağınız hesabın Enterprise Admin, Domain Admin ve Schema Admin gruplarına üye olması gerekmektedir.
Dikkat!: Aşağıdaki kurulumlar, CU- Cumulative Update'lere göre farklılık gösterebilmektedir. Kuracağınız Cumulative Update'e göre bu ön gereksinmleri araştırarak kurmanızda fayda var. Piyasaya sürülen Exchange Server Cumulative Update'lerini Exchange Server build numbers and release dates sayfasından takip edebilirsiniz.
1- İlk etapta PowerShell üzerinden aşağıdaki komutu yazıp, çalıştırıyorum.
Install-windowsFeature RSAT-ADDS |


2- Komutu yazılıp çalıştırıldıktan sonra, aynı PowerShell penceresi üzerinden aşağıdaki komutu yazıp, çalıştırıyorum.
NOT: Bu işlem sırasında Inernet bağlantınızı tekrar kontrol etlemenizi öneririm. Çünkü gerekli bazı roller Internet'ten indirilmektedir.
Install-WindowsFeature NET-Framework-45-Features, Server-Media-Foundation, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS |


3- Yukarıdaki Ön kurulum gereksinimleri sağlandıktan sonra aşağıdaki kurulumların Exchange Server 2019 kurulumu yapılacak Server üzerine tek tek yapılması gerekmektedir:
● Microsoft Unified Communications Managed API 4.0 Runtime
● Visual C++ Redistributable Packages for Visual Studio 2013
● Microsoft .NET Framework 4.8
● IIS URL Rewrite Module
Active Directory Schema (Şema) Genişletme
Active Directory Schema (Şema) Genişletme işlemi sırasında;
Active Directory Schema yapısına; Class'lar, Attribute'lar ve diğer Active Directory Schema nesneleri eklenir ve güncellenir. Bu değişiklikler, Exchange'in Exchange organization yapısı ile ilgili Container ve nesnelerin oluşturulması ve nesne bilgisini saklaması için gereklidir.
Active Directory Schema Genişletme işlemi için Exchange Server 2019 yükleme Disk'ini takıyorum.

"Run as Administrator" ile CMD (Command Promt) Komut istemcisini açarak komut satırında Exchange Server 2019 kurulum dosyalarının olduğu dizine gidiyor, aşağıdaki komutu yazarak şema genişletme işlemine başlıyorum.
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataON |

Exchange Server CU11 öncesi.

Active Directory Hazırlama
Active Directory Hazırlama işlemi sırasında;
Exchange'in Active Directory'de saklayacağı Container'lar, object (nesneler) ve Attribute'ların eklenmesi işlemi gerçekleştirilir. Bu işlem için de Active Directory hazırlamayı devreye alacağız. Bu adımda yapılan değişikliklerin çoğu Active Directory forest yapısının tamamına uygulanır.
ÖNEMLİ! Exchange Server kurulumu yapıldıktan sonra Exchange Server Host Name asla değiştirilmemelidir! Exchange Server kurulumu yapıldıktan sonra Host Name değişikliği asla önerilmemekte ve desteklenmemektedir.
Active Directory hazırlama işlemi için "Run as Administrator" ile PowerShell üzerinden kurulum dosyalarının olduğu dizine gidiyorum. Ardından, aşağıdaki komutu yazarak Active Directory hazırlama işlemine başlıyorum.
.\setup /PrepareAD /OrganizationName:"FIRATBOYAN" /IAcceptExchangeServerLicenseTerms_DiagnosticDataON |

Exchange Server CU11 öncesi.

Active Directory Domain Hazırlama
Son işlem olarak sıra, Exchange Server'ın kurulacağı Active Directory Domain'in hazırlanması işlemine geldi.
Active Directory Domain hazırlama işleminde sırası ile;
• Active Directory'deki root Domain partition üzerinde Exchange System Objects Container'ı oluşturulur.
• Microsoft Exchange System Objects Container'ı üzerinde Exchange Server, Organization Management ve Authenticated Users Security grupları için gerekli izinler oluşturulur.
• Root Domain'de Exchange Servers USG (Universal Security Group'lar) içine Exchange Install Domain Servers grubu eklenir.
• Domain seviyesinde Exchange Servers USG'ler (Universal Security Group'lar) ve Organization Management USG (Universal Security Group'lar) için izin atama işlemleri gerçekleştirilir.
• Root Domain'de Microsoft Exchange System Objects Container'ı içinde objectVersion attirute'u eklenir. Active Directory Domain hazırlama işleminin başarılı bir şekilde gerçekleştiğini görebilmeniz için, bu attirute içindeki değer kontrol edilebilir.
Active Directory Domain hazırlama işlemi için "Run as Administrator" ile CMD (Command Promt) komut istemini açarak komut satında kurulum dosyalarının olduğu dizine gidiyorum. Ardından aşağıdaki komutu yazarak Domain Hazırlama işlemine başlıyorum.
Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms_DiagnosticDataON |

Exchange Server CU11 öncesi.

Bilgi!: Exchange Server 2019 CU11 ile birlikte /IAcceptExchangeServerLicenseTerms lisans sözleşmesi kabul parametresi yerini IAcceptLicenseTerms_DiagnosticDataON ve IAcceptLicenseTerms_DiagnosticDataOFF eklenmiştir. _DiagnosticDataON ile Microsoft'a veri gönerimi sağlamış oluyorsunuz. _diagnosticDataOFF ile de Microsoft'a veri gönderimi yapmıyorsunuz.
Exchange Server 2019 Kurulumu
Yukarıdaki tüm adımlar başarılı bir şelilde tamamlandıktan sonra sıra, Exchange Server 2019 Kurulumu gerçekleştirme adımına geldi. Exchange Server 2019 kurulum işlemini CMD (Command Promt) üzerinden ya da ISO dosyasındaki setup.exe'den olmak üzere iki farklı yoldan gerçekleştirebilirsiniz. Tercih Sizindir.
1- CMD (Command Promt) Üzerinden (Unattended Mode) Exchange Server 2019 kurulum
Kurulum işlemini Unattended Mode ile başlatmak istersem,
Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /mode:Install /r:MB |
Komutunu yazıp, çalıştırmem yeterli olacaktır.



2- ISO (yükleme medyası) içindeki Setup.exe ile Exchange Server 2019 Kurulum
Kurulum işlemini GUI-Graphical User Interface üzerinden ISO (yükleme medyası) içindeki Setup.exe üzerinden gerçekleştirmek istersem, Setup.exe'yi Run as administrator ile çalıştıp, yönergeleri takip etmem yeterli olacaktır.
2.1- İlgili ISO dosyasını Mount edip, Setup.exe'yi Run as administrator olacak çalıştırıyorum.

2.2- Check for Updates penceresinde Internet'e bağlanıp güncelleştirmelerin indirilmesi için Connect to the Internet and check for updates seçeneği işaretli haldeyken Next butonuna basıyoruz.


2.3- Kurulum için gerekli dosyalar kopyalanıyor...


2.4- Exchange Server 2019 Kurulumu başlatılıyor...

2.5- Exchange Server 2019 Kurulum işlemine geçmek için Next butonuna basıyorum.

2.6- Lisans sözleşmesini kabul ediyorum.

2.7- Varsayılan ayarları ile kurulmasını istiyorum.

Exchange Server 2019 Rolleri
En önemli kısım olan Exchange Server 2019 rollerin kurulumuna geldik. Server Role Selection penceresinde kurulacak olan rolleri seçiyoruz. İlk bakışta Mailbox role ve Edge role dikkatimizi çekiyor. Kuruluma devam etmeden önce rollerden kısaca bahetmek istiyorum.
Exchange Server rolleri, Exchange Server 2013'e kadar 3 ayrı rol olarak farklı Exchange Server'lara ya da hepsi tek bir Server'a kurulabiliyordu. Exchange Server 2013 ile birlikte bu 3 ayrı yol yerini, sadece Mailbox Role (MR) bırakmıştır. Bu üç rol, tıpkı Exchange Server 2016'da olduğu gibi, Exchange Server 2019'da da Mailbox Role altında birleşerek karşımıza çıkıyor.
Microsoft, rollerin tek sunucuda çalıştırılmasının performans açısından daha fazla verimlilik sağlayacağı konusuda bilgilendirme yapmıştı.
Mailbox Role seçimi ile birlikte kurulacak olan alt servisler aşağıdaki gibidir;
1- Front End Transport Service (eski CAS ROLE)
Dışarıdan gelen, dışarıya giden E-Mail trafiğini yönetir. Bu servis, E-Mail içeriğine bakmaz. Sadece Transport Servisi ile iletişime geçer.
2- Transport Service (eski HUB Transport Server ROLE)
Front End Transport Service'inden gelen E-Mail içeriğini kategorize eder, Sınıflandırır ve Mailbox Transport Service'ine yani kullanıcı E-Mail kutularına Mail'i iletmekle görevlidir. Özetle Transport Service, E-Mail'leri Mailbox Transport Service ve Front End Transport Service arasında yönlendirme işlemi yapar.
3- Mailbox Transport Service (Mailbox Server ROLE)
Mailbox Transport Service kendi içinde iki ayrı servise ayrılmaktadır. Bunlar;
3.1- Mailbox Transport Delivery
Transport Service ile gönderilen Mail'leri almak ve Local Mailbox Database'lerine RPC (Remote Procedure Call) protokolünü kullanarak teslim eder.
3.2- Mailbox Transport Submission
Local Mailbox hesaplarından çıkan E-Mail'lerin dışarıya iletilmesi için kullanılan servistir.

Management tools, Mailbox Rolü kurduğunuz Server üzerine otomatik olarak yüklenir. Ayrıca Mailbox ve Edge Rolünü aynı sunucu üzerine kuramazsınız ki zaten kurmamalısınız da. Çünkü Edge Rolünü, ayrı bir Server üzerinde olmalıdır.
4- Edge TransPort Role: Uç Aktarım Sunucusu, Exchange Server organizasyonumuzu istenmeyen virüslere ve e-postalara karşı korumamızı sağlar. E-postalara poliçe uygulanması bu sunucu rolü üzerinde gerçekleşir. Bu sunucu rolümüzü DMZ alanımıza kurmamız gerekmektedir. İç Network ve dış Network olmak üzere iki Network ara yüzüne sahiptir. Yani diğer Server rolleriyle birlikte aynı Server üzerinde kurulamaz. Farklı bir Server üzerine kurmamız gerekir. Edge TransPort Server rolü kurulan Server Domain'e dahil edilmemelidir. Workgroup olarak çalışmalıdır. Domain Controller ile doğrudan iletişim kuramaz.
2.8- Mailbox role seçeneğini seçip, kurulum sırasında Exchange Server kurulumu sırasında gerekli rol ve özelliklerin kurulumu için Automatically install Windows Server roles and features that are required to install Exchange Server seçeneğini de seçerek next butonuna basarak kuruluma devam ediyorum.

2.9- Installation space and Location penceresinde kurulum yapılacak Disk dizin yolunu gösteriyor. Varsayılan halini bırakıp, next butonuna basarak kuruluma devam ediyorum.

2.10- Gereksinimler kontrol edilir. Eğer sağlanması gereken eksikler tespit edilirse yine bu aşamada listelenir. Sorun yoksa, install butonuna basarak Exchange Server 2019 kurulumuna başlayabiliriz.


2.11- Exchange Server 2019 Kurulumu başladı...




2.12- Uzun bir uğraşın sonunda Exchange Server 2019 kurulumu başarılı bir şekilde tamamlandı. Finish butonuna tıklamadan önce Launch Exchange Administration Center after finishing Exchange setup seçeneğine tıklarsanız, Web Browser içerisinde Web tabanlı yönetim ara yüzü olan Exchange Admin Center (EAC) açılır. Ben, bu noktada bu seçeneği seçmeden Finish butonuna tıklayarak Setup Wizard'ı sonlandırıyorum.

2.13- CMD (Command Promt) Üzerinden Exchange Server 2019 Kurulum başlığı altında komut istemi üzerinden kurulum başlamış olsaydık kurulum, aşağıdaki şekilde tamamlanmış olacaktı.

2.14- Exchange Server 2019 Kurulumu tamamlandıktan sonra, Exchange Server versiyon ve sürüm bilgilerini görüntülemek için;
Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion |
komutunu kullanabilirsiniz.

2.15- Ek olarak Exchange Server Sürüm bilgilerini Microsoft'un Exchange Server build number and release dates sayfasından inceleyebilirsiniz. Bu sayda üzerinden çıkan Cumulative Update'leri de rahatlıkla takip edebilirsiniz. Exchange Admin Center (EAC)'a erişmek için Browser'da https://EXCHSRV001/ecp yazmak yeterlidir. SamAccountName giriş yordamı ile FIRATBOYAN\Administrator şeklinde Exchange Admin Center'a giriş yapıyorum.


Exchange Server 2019 Kurulum Sonrası Ayarlar
Exchange Server 2019 kurulum işleminden sonra bazı kurulum sonrası yapılması gereken yapılandırma işlemleri var.
1- Virtual Directory URL Yapılandırma Ayarları
Exchange Server 2019 kurulum işleminden sonra ilk yapmamız gerken işlem End-Point URL adreslerinin yapılandırılması olacak. Virtual Directory URL yapılandırma işlemini Exchange Control Panel (ECP) üzerinden de yapabilirsiniz ancak ben, bu işlemi Script kullanarak kolayca nasıl yapabileceğinizi göstereceğim. Tek bir Exchange Server Node'unuz varsa, ECP üzerinden daha kolay yapılabiliyor olsa da birden fazla Node'unuz varsa, Script kullanmak daha pratik olacaktır.
Bu URL'ler, Microsoft Outlook gibi e-posta uygulamalarının Exchange Server'daki Mapi, Outlook Anywhere, EWS (Exchange Web Services), OAB (Offline Address Book, Autodiscover ve ActiveSync gibi servislerine Network içinden ya da dışından https protokolü üzerinden erişebilmeleri ya da Microsoft Outlook uygulamasının WEB karşılığı olan OWA (Outlook Web Access) veya Exchange Server yöneticilerinin yönetim paneli olan ECP (Exchange Control Panel) erişimleri için gerekli olan URL'lerdir.
URL adresleri, Internal ve External olmak üzere ikiye ayrılıyor olup, kurulum sonrasında varsayılan olarak Internal Url adresleri Server FQDN (ör. exchsrv01.firatboyan.local) olarak ayarlanmış şekilde karşımıza çıkmaktadır. Makelemin Internal DNS Yapılandırma Ayarları bölümünde Local DNS Server'ımda Split DNS yapılandırması yapacağım için, hem Internal hem de External URL adreslerini tek tip (ör. mail.firatboyan.com) olarak yapılandıracağım.
1.1- İlk olarak, GetExchangeURLs.ps1 Script'ini kullanarak, URL'lerimin durumunu kontrol ediyorum. Script'i çalıştırdıktan sonra, Server[0]: yazan alana ortamınızdaki tüm Node'ların Host Name bilgisini yazarak tek seferde hepsini kontrol edebilirsiniz. Benim ortamımda tek Node olduğu için, Server[0]: yazan alana Host Name bilgisini yazıp, Server[1]: alanında Enter tuşuna basıp, Script'i çalıştırıyorum.


Virtual Directory URL'lerinizi ilgili Script yardımıyla kontrol edebileceğiniz gibi, aşağıdaki komutlar yardımıyla tek tek de kontrol edebilme imkanına sahipsiniz.
Get-OutlookAnywhere | Select Server,ExternalHostname,Internalhostname
Get-OwaVirtualDirectory | ft identity,internalurl,externalurl -AutoSize
Get-MapiVirtualDirectory | ft identity,internalurl,externalurl -AutoSize
Get-EcpVirtualDirectory | ft identity,internalurl,externalurl -AutoSize
Get-ActiveSyncVirtualDirectory | ft identity,internalurl,externalurl -AutoSize
Get-WebServicesVirtualDirectory | ft identity,internalurl,externalurl -AutoSize
Get-OabVirtualDirectory | ft identity,internalurl,externalurl -AutoSize
Get-ClientAccessService | fl identity,autodiscoverserviceinternaluri |
1.2- Sonrasında Internal ve External URL adreslerinin yapılandırmasını ConfigureExchangeURLs.ps1 Script'ini referans göstererek aşağıdaki komutla kolaylıkla tek seferde oluşturuyorum. Ortamınızda birden fazla Exchange Server Node'u varsa, -Server parametresinden sonra virgülle ayırarak Host Name bilgisi yazıp, yine tek seferde hepsinin URL yapılandırma işlemini gerçekleştirebilirsiniz.
.\ConfigureExchangeURLs.ps1 -Server EXCHSRV01 -InternalURL mail.firatboyan.com -ExternalURL mail.firatboyan.com -AutodiscoverSCP autodiscover.firatboyan.com |


1.3- Tekrar GetExchangeURLs.ps1 Script'i ile URL değişliklerini kontrol ettiğimde, URL yapılandırma işlemimin başarılı bir şekilde oluşturulduğunu görebiliyorum.


2- SSL (Secure Sockets Layer) Sertifikası Yapılandırma Ayarları
Virtual Directory URL yapılandırma işlemlerinden sonra sıra, SSL sertifikası yapılandırma işlemine geldi. Virtual Directory URL'lerinin bağlantıları, 443 Port numarası üzerinden https protokolünü kullandığı için, kurulan bağlantılarda güvenli bağlantı isteği sağlayabilmek için SSL sertifikası şarttır. Bir çok sertifika türü bulunmaktadır ancak ben, sadece yıldız sertifika (WildCard Certificate) oluşturma işlemlerini yürüteceğim. Wildcard SSL sertifikaları, sayısız Sub Domain'i (alt alan adı) koruma altına alır. Bu koruma, Virtual Directory URL'leri tanımlarken tanımladığımız Domain'e ait DNS kaydı/kayıtları da dahil, Web siteniz ve Web sitenize ait tüm Sub Domain'leri (alt alan adı) de geçerlidir.
Wildcard sertifikamı, firatboyan.com Domain'i için oluşturacak olup, tanımlamamı *.firatboyan.com için yapacağım. Virtual Directory URL tanımlarken OWA, ECP, EWS, OAB, Mapi, Outlook Anywehere ve ActiveSync gibi Exchange Server servislerine mail.firatboyan.com şeklinde bir tanımlama yapmıştık. Ek olarak Autodiscover servisi için de autodiscover.firatboyan.com şeklinde bir tanımlama yapmıştık. Wildcard sertifika kullanımı ile hem Exchange Server hem de Web sitemiz için Domain ile ilişkili sınırsız sayıdaki tüm değişken DNS kayıtlarını kullabilir hale geliyoruz.
Wildcard sertifika ile örnek URL kullanımları:
Wildcard sertifikada tanımladığınız Domain için aşağıdaki şekilde sınırsız sayıda DNS kaydını sertifika için tanımladığınız firatboyan.com Domain'inde *.firatboyan.com için kullanabilme imkanına sahip olursunuz. Yukarıda verdiğim bilgilerin daha açıklayıcı olması için aşağıda bazı örnek kullanımları sıraladım.
mail.firatboyan.com (owa, ecp, ews, oab, mapi, outlook anywhere);
owa.firatboyan.com (owa)
posta.firatboyan.com (owa)
autodiscover.firatboyan.com
www.firatboyan.com (web)
ftp.firatboyan.com (web)
2.1- SSL sertifikası yapılandırma için öncelikle bir sertifika isteği (CSR-Certificate Signing Request) oluşturmamız gerekmektedir. CSR oluşturmak için servers > certificates altında Select server kısmında CSR oluşturulacak Exchange Server Node'unu seçtikten sonra artı (+) simgesine tıklıyorum.
2.2- Karşıma çıkan pencerede Create a request from a certificate authority seçeneğini seçiyor, Next butonuna basarak devam ediyorum.

2.3- *Friendly name for this certificate alanında SSL sertifikam için bana anlamlı gelen bir görünen isim giriyor, Next butonuna basarak işlemime devam ediyorum.

2.4- Bu kısımda Request a wildcard certificate... seçeneğini işaretleyip, aşağıda açılan Text alanına *.firatboyan.com şeklinde Accepted Domain'de tanımlı olan E-mail adresleri için kullanılacak Domain adını yazıyorum.

2.5- Bu kısımda *Store certificate request on this server alanında sertifika isteğinin (CSR) tutulacağı sunucuyu seçmem gerekiyor. Sertifika isteği (CSR), hangi sunucuda oluşturulmuşsa, sertifika tanımlamasının da o sunucu üzerinde yapılması gerekmektedir. CSR oluşturmak için Browse... butonuna tıklıyorum.

2.6- Ortamımda bulunan EXCHSRV01 Host Name'li sunucuyu seçiyor, OK butonuna basıyorum.

2.7- SSL sertifika Request'ini üzerinde tutacağım sunucuyu seçtikten sonra Next botonuna basarak devam ediyorum.

2.8- Bu kısımda şirketiniz ile ilgili şirket adı, il, ilçe, ülke gibi bilgiler girmemiz gerekiyor. Bilgileri girdikten sonra Next butonuna basıp, işlemime devam ediyorum.

2.9- Sonraki adımda SSL sertifika Request'imi Exchange Server'ımın C$ altında oluşmuş olduğum paylaşım klasörünün UNC (Universal Naming Convention) Path bilgisini SSL sertifika Request'ime uzantısı .REQ olacak şekilde isim yazıyor, Finish botonuna basarak SSL Sertifikası Request oluşturma işlemimi sonlandırıyorum.

2.10- Sertifika isteğimi başarılı bir şekilde oluşturdum. STATUS alanındaki durum bilgisi Pending request olarak görünüyor. Bu işlemle sadece Request oluşturma admını tamamlamış oldum. Request'i oluşturulan sertifikalar, oluşturulduğu Server'da Private Key bilgisi ile tutulur. Private Key, SSL sertifikalarının oluşturma talebinde kullanılan sertifikanın doğruluğunu kontrol etmek için üretilen özel bir anahtardır.

2.11- Exchange Management üzerinden de Pending request durumdaki sertifikamı,
Get-ExchangeCertificate | where {$_.Status -eq "PendingRequest" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint |
komutuyla daha detaylı bir şekilde görüntüleyebilirim.

2.12- SSL sertifika Request'imi Exchange Server'ımın C$ altında oluşmuş olduğum paylaşım klasörünün UNC (Universal Naming Convention) Path üzerinde kaydetmiştim. .REQ uzantılı bu Text dosyasında Hash'lenmiş bir şekilde SSL sertifika Request'imin bilgileri yer alıyor. Bu .REQ uzantılı dosyayı GlobalSign, VeriSign, Digicert, Comodo vb. gibi Sertifika Otoritesine (Certificate Authority-CA) yollayıp, SSL sertifikanızı satın almanız gerekiyor.

2.13- Satın aldığımız SSL sertifikamız elimize ulaştıktan sonra yapılamsı gereken, Reuqest'in Complete edilmesi, yani sertifkanın tanımlanmasıdır.

2.14- SSL sertifika Request'imi Complete etme yani sertifkanın tanımlanması işlemi için servers > certificates altında Pending request durumda bekleyen sertifka isteğine tıklayıp, sağ bölümde bulunan Complete Link'ine tıklıyorum.

2.15- Açılan pencere satın aldığım sertifikamı paylaşımlı bir klasör içine tutup, bu klasörün UNC (Universal Naming Convention) Path bilgisini *File to import from altındaki alana yazıyor, OK butonuna basıyorum.

2.16- Pending request durumda bekleyen sertifkamın Valid durumda olduğunu görebiliyorum. Sıra, sertifikam için ilgili servislerin ataması işlemine geldi. ilgili servislerin ataması işlemini yapmadan, sertifika kullanımı sağlanayacaktır. Bunun için üst bölümde bulunan kalem simgesine tıklıyorum.

2.17- Açılan pencerede services altında SMTP ve IIS servislerini seçip, Save butonuna basıyorum.

2.18- Save butonuna bastıktan sonra karşıma çıkan Warning penceresinde Overwrite the existing default SMTP certificate? sorusunu Yes butonuna basarak onayladıktan sonra kapatıyorum.

2.19- İlgili servislerin tanımladığımız sertifikaya atandığını, sertifikamızın durumunun da Valid yani geçerli olduğunu görebiliyorum.
NOT: Bu işlemlerden sonra mutlaka CMD ya da PowerShell konsolunu Run as administrator olarak çalıştrırıp, konsolunu IISRESET komutu ile IIS servislerini Restart etmeyi unutmayın!

2.20- Sertifikamızın geçerlilik durumunu ve detaylı bilgilerini
Get-ExchangeCertificate | where {$_.Status -eq "Valid" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter |
komutuyla görüntüleyebilirim.

2.21- Sıra, tanımlanan SSL sertifikasının Client Access Service (CAS), başka bir ifade ile Front End Transpot Service, tanımlamasını yapmaya geldi. Client'lar, Transport Service (Exchange Back End) hizmetlerine doğrudan bağlanmazlar. Https protokolü üzerinden gelen Client bağlantı istekleri ilk önce Client Access Service (CAS) tarafından karşılanır. Client Access Service (CAS), tüm Client bağlantı isteklerini kabul etmekten sorumludur ve gelen bu bağlantıları Exchange Mailbox Server'daki Transport Service (Exchange Back End) hizmetlerine yönlendirir. Bu nedenle gelen Client bağlantı istekleri ilk önce Client Access Service (CAS) tarafından karşılanğı için, SSL sertifikasının Transport Service (Exchange Back End) Binding'lerinde tanımlanması gerekmektedir.

Bunun için öncelikle IIS Manager'ı açıyor, Server Certificates altında sertifikamın oluştuğunu görüyorum.


2.22- Default Web Site (Front End Transport-CAS) üzerine tıklayıp, sağ bölümde Bindings... Link'ine tıklıyorum.

2.23- https için oluşturulmuş olan Site Bindig'leri alaşağıdaki gibidir.

2.24- Her iki Site Binding'e tek tek tıklayıp açtıktan sonra SSL certificate menüsünden oluşturduğum SSL sertifikasını seçip, OK butonuna basıyorum.


2.25- Bu işlemlerden sonra CMD ya da PowerShell konsolunu Run as administrator olarak çalıştrırıp, konsolunu IISRESET komutu ile IIS servislerini Restart ediyorum.

2.26- Browser üzerinden daha önce tanımladığım Virtual Directory URL bilgisi ile ECP'ye (Exchange Control Panel) erişim sağlatığımda, sertifikamın başarılı bir şekilde tanımlandığını görebiliyorum.

3- External DNS Yapılandırma Ayarları
Exchange Server DNS kayıtları, Local ortamınızda bir DNS hizmeti verip, bunu da Firewall'dan dışarıya açmadıysanız, hizmet sağlayıcınız üzerinden yönetilmektedir. İlgili DNS kayıtlarını, servis sağlayıcınızın size sunduğu DNS panel yönetim konsolu üzerinden oluşturmalısınız. Bu kayıtlar aşağıdaki gibidir.
● Host (A): Ör. exmail.firatboyan.com.
Exchange Control Panel (ECP), Outlook Web App (OWA), Outlook Anywhere (RPC over HTTP), MAPI (Mapi over HTTP), Offline Address Book (OAB), Exchange Web Services (EWS), POP3, IMAP4 gibi servislerin kullanımı için gerekli Host (A) kaydıdır.
● MX (Mail exchanger)
● PTR (Pointer)
● SPF (Sender Policy Framework)
● Autodiscover

3.1- MX (Mail Exchanger) Kaydı:
MX kayıtları; bir e-posta hesabına gelen e-postaları, kullanıcının e-posta hesaplarını barındırdığı SMTP Server'a yönlendirilmesini sağlayan alan adınız ile ilişkilendirilmiş DNS kayıtlarıdır. Başka bir ifade ile; Şirket içerisinde ve dışarısındaki SMTP Server'lar, bir birlerini DNS’te yer alan MX (Mail Exchanger) kayıtlarından bulurlar. Sorgulama yapılırken ilgili Domain ismine gidilir ve o Domain'e SMTP Server'ın nerede olduğu sorulur. Eğer MX kayıtlarınızı girmezseniz, dış dünyadan e-posta alamazsınız. Çünkü size atılan e-postaların hangi IP'de sonlanacağı, gönderen tarafından bilinemez.
DNS'in MX kaydını sorgulayabiliyor olduğunu CMD üzerinden nslookup -querytype=mx firatboyan.com komutu ile kontrol edebilirsiniz.
3.2- SPF (Sender Policy Framework) Kaydı:
Sender Policy Framework (SPF) kaydının amacı, SPAM iletilerin engellenmesidir. Bir çok SMTP Server, üzerinde SPF kaydı olmayan alan adlarına ait e-posta hesaplarından e-posta kabul edilmemekte veya önemsiz klasörüne düşmektedir.
Bu nedenle; SMTP Server'ınızdan farklı bir SMTP Server'a e-posta iletirken, iletimi gerçekleştirmek istediğiniz taraf, sizi doğrulamak için SPF kaydınızı sorguluyor olabilir.
Bundan dolayı Sender Policy Framework (SPF) kaydı, alan adınızın (Domain) hangi SMTP Server üzerinden e-posta gönderme iznine sahip olduğunu tanımlamanız gerekmektedir. Böyle bir durumda sorunlarla karşılaşmamak için aynı DNS Zone altında MX kaydına ek olarak SPF kaydı da oluşturun.
NOT: Sender Policy Framework (SPF) kayıtları TXT kaydı olarak eklenmektedir.
SPF'yi örnek vererek biraz daha net hale getireyim:
ör. mail@firatboyan.com mail hesabımın bulunduğu Exchange Server üzerinden mailin çıkış IP Adresi 31.210.64.2 olsun. mail@firatboyan.com e-posta hesabımdan Google'ın mail hizmeti olan gmail.com uzantılı bir e-posta adresine mail gönderimi gerçekleştirdiğimde, üzerindeki SPF kayıtlarını kontrol eden Server, SPF kaydı içinde 31.210.64.2 IP adresini doğrulayamazsa gönderilen Mail'i reddeder. SPF kayıtlarını yapılandırırsak, SPF kaydı içerisinde 31.210.64.2 IP adresi olacağı için Server tarafından kabul edilecektir.
Text alanına, v=spf1 a mx ip4:31.210.64.2 -all yazıyorum.
Bu, 31.210.64.2 IP adresindeki tüm Host (A) kayıtları ile ilişkili olan MX kayıtları demektir.
İlgili SPF kaydı girilten sonra, CMD (Command Promt) üzerinden;
nslookup -querytype=txt firatboyan.com komutu ile kontrol edilebilir.

3.3- PTR (Pointer) Kaydı:
PTR kaydı, sizin DIŞ DNS hizmetinizi aldığınız alandan eklenebilecek bir kayıt türü değildir. Bu kayıt türü, ISP'niz tarafından açılıp, devreye alınmaktadır. Bu kaydı açtırmak için, ISP'nize PTR kaydı açtırma talebi iletmeniz gerekmektedir. Eğer bu kayıt oluşturulmazsa, göndermiş olduğunuz e-posta, SPAM olarak etiketlenecektir.
3.4- Autodiscover Kaydı:
İlk kez Exchange Server 2007’de gelen Autodiscover servisi, Client'ın Outlook ayarlarının otomatik olarak gerçekleştirilmesi için kullanılan bir servistir. Biraz daha netleştirecek olursak;
Bir e-posta kullanıcısı, genelde iki bilgiye sahip olur. Bu bilgiler, E-posta adresi ve parola bilgileridir. Ancak aynı kullanıcı; Exchange Server adresi (hangi Exchange Server'a erişeği), bu Exchange Server'ın SSL/TLS isteyip istemediği, hangi Port üzerinden yayın yapıldığı gibi bilgilere sahip değildir. İşte Autodiscover servisinin çıkış noktası tam da burasıdır. Özetle Autodiscover servisi, bir e-posta istemcisinin, erişim ve hizmet ayarları için ihtiyaç duyduğu gerekli ayarları otomatik olarak sağlayan servistir.
Temel çalışma mantığı şu şekildedir:
1- Client, Autodiscover URL adresine "Autodiscover Request" gönderir.
2- IIS (Internet Information Services) üzerinden sunulan Autodiscover servisi (Client Access Service-CAS), isteği işler. Kimlik doğrulama yapar ve o kullanıcı için doğru ayarları bulur.
3- Client'a cevap olarak bir Autodiscover.xml dosyası gönderir.
4- Client, bu dosya içindeki bilgilere göre e-posta profilini oluşturup gerekli ayarlarını yapılandırır.
Desktop tabanlı Mail Client’lar Autodiscover URL‘e ulaşmak için sırasıyla 4 bulma yöntemi denerler. Eğer Autodiscover URL’i bulmak için denenen ilk yöntem başarısız olursa sonraki ve gerekli ise daha sonraki bulma yöntemlerine geçilir. Eğer yöntemlerden biri ile URL’e ulaşılırsa sonraki bulma yöntemleri denenmez.
3.4.1- Service Connection Point (SCP) URL
Domain-Member bir bilgisayar, Autodiscover için Active Directory Configuration Partition’da bulunan Service Connection Point-SCP (Servis Bağlantı Noktası) nesnesini sorgular. SCP kaydını oraya yazan ise setup/config sırasında Exchange Server’dır ve içerisinde Internal Autodiscover URL bilgisi yer alır.
SCP bilgisi, ADSI Edit üzerinde Configuration > Services > Microsoft Exchange > Organization Adı (FIRATBOYAN) > Administrative Groups > Exchange Administrative Group (FYDIBOHF23SPDLT) > Servers > Host Name (EXCHSRV01) > Protocols > Autodiscover altındaki serviceBindingInformation Attribute değerinde yer almaktadır.


Eğer Domain-Member Client, SCP’den Autodiscover URL bilgisini okuyabilirse, bunu alır ve servise ulaşmak için kullanır. Bu bulma yönteminde SCP’den dönen URL bilgisi, Client Access Service'in (Exchange Server) iç erişim adreslerini işaret eder.
https://EXCHSRV01.firatboyan.local/autodiscover/autodiscover.xml |
Yukarıdaki bu Internal URL yordamı, SCP erişimi için kullanılmaktadır ve bu ilk Autodiscover URL bulma yöntemi, Workgroup Client'lar için geçerli değildir. Çünkü Workgroup Client'lar, mimari gereği Autodiscover URL bilgisini SCP’den sorgulamazlar ancak şunu özellikle belirtmek gerekir ki bir Domain-Member Client, fiziksel bağlantı ya da VPN erişimi anlamında Exchange Server'ın bulunduğu Network içinde değilse, SCP sorgulaması yapılamayacaktır. Her iki durumda da Client'lar, sıradaki diğer bulma yöntemlerini kullanarak ileyeceklerdir.
NOT: Bu Internal URL genellikle, Virtual Directory URL Yapılandırma makalemde bahsetmiş olduğum gibi, dijital sertifika içinde e-posta adresiniz için kullandığınız Domain tarafında bir sorun yaşamamanız için External URL yapısına dönüştülür.
SCP'deki Autodiscover URL bilgisini
Get-ClientAccessService | fl identity,autodiscoverserviceinternaluri |
komutu yardımıyla Exchange Management Shell (EMS) üzerinden de sorgulayabilirsiniz.

3.4.2- Hard-coded URLs
Eğer bir Client, Domain-Member değil ise, yani bir Workgroup Client ise, Mail Account’un Domain Suffix’ini (ör. firatboyan.com) referans alıp birkaç Hard-Coded Autodiscover URL kombinasyonunu türetir ve yine belirli bir sırada DNS servisinden IP adreslerini sorgular.
Eğer bir Client, Domain-Member olduğu halde, ör. VPN iletişimi olmaması gibi bir nedenden ötürü, SCP kaydını okuyamazsa, yine aynı şelilde Mail Account’un Domain Suffix’ini referans alıp aşağıdaki gibi Hard-Coded Autodiscover URL kombinasyonlarını türetir ve yine belirli bir sırada DNS servisinden IP adreslerini sorgular.
Buna göre ör. mail@firatboyan.com olan bir-posta hesabı için türetilen URL, ilk etapta aşağıdaki gibi türetilecektir. Client, bu ilk URL'den doğru bir yanıt alamazsa, ki çoğunlukla alamaz. Bunun nedeni, e-posta Domain'i için dış DNS hizmetinize erişildiğinde firatboyan.com Domain'indeki Web sitesine bağlı autodiscover Virtual Directory'sine erişip, buradan da bu Virtual Directory içindeki autodiscover.xml dosyasını okumaya çalışacaktır. Sizin Domain'inizde de autodiscover adında bir Virtual Directory ve bu Virtual Directory içinde de ilgili XML dosyası olmayacağı için, buradaki Autodiscover Request işlemi başarısız olacaktır.
https://firatboyan.com/autodiscover/autodiscover.xml |
Aşağıdaki URL yordamı, External URL'ler için, DIŞ DNS'teki Autodiscover Host (A) kaydına karşılık gelen Public IP adresinin sorgulanması için kullanılmaktadır. Dikkat ederseniz, her iki URL de HTTPS’tir. Çünkü Mail Client’ın Autodiscover servisinden bilgileri alabilmesi için öncelikle User Name ve Password bilgilerini göndererek kimlik doğrulaması (Authentication) gerçekleştirmesi gerekir. Yine HTTPS sayesinde hassas bilgilerin gönderileceği sunucunun da gerçekten gitmek istediği sunucu olup olmadığını doğrulama şansına sahip olur. Bu yüzden URL’ler Secure ve dijital sertifika tabanlıdır.
Secure HTTP sayesinde;
• İletişim öncesinde Server tarafından Client'a gönderilen dijital sertifika vasıtasıyla Client'ın User Name ve Password ile Credential bilgisi göndereceği Server'ı doğrulama şansı olur.
• Client’ın kimlik doğrulama için Server'a gönderdiği Credential bilgisinin transferi sırasında Man-in-the-middle gibi araya girme ataklarına karşı güvenliği artırır.
https://autodiscover.firatboyan.com/autodiscover/autodiscover.xml |
Eğer URL’lerden birinde doğru Exchange Server Autodiscover servisiyle karşılaşırsa Client, HTTP POST ile Credential (User Name ve Password) bilgisi gönderir ve kendini tanıtarak süreci ilerletir.
3.4.3- HTTP Redirection
Eğer Mail Client, bu aşamaya kadar geldiyse, bir önceki yöntemde doğru HTTPS URL’lere ulaşamamış demektir. Bu durumda yine Mail Account’un Domain Suffix’ini (ör. firatboyan.com) referans alarak aşağıdaki gibi Secure olmayan bir HTTP URL türetir.
http://autodiscover.firatboyan.com/autodiscover/autodiscover.xml |
Türetilen bu HTTP URL ile bu sefer GET işlemi yapar ve GET metoduyla çağırılan istek (Request), HTTPS olmadığı ve dijital sertifika gereksinimi olmadığı için sunucu kimlik doğrulaması yapılmaz. Ek olarak HTTP Redirection için istemci kimlik doğrulaması (Client Authentication) gerekmediği için Credential (User Name ve Password) bilgisi gönderilmez. Buradan tam olarak doğru Autodiscover servisine ait Secure HTTP URL’e yönlendirilip yönlendirilmediğine bakar, yani aslında bu HTTP servise herhangi bir bilgi göndermez. Yani POST işlemi yapmaz ve herhangi bir yapılandırma ayarı beklemez. Sadece HTTP Redirection (yeniden yönlendirme) için 301 veya 302 yanıtı bekler. Eğer bir yanıt alırsa, bu durumda HTTP URL ile işi biter ve yönlendirme mesajıyla öğrendiği HTTPS URL’e gidip, tıpkı 2. adımdaki gibi sunucu kimlik doğrulama sonrası POST yaparak Credential bilgisi gönderme ve servis ayarlarını alma sürecini ilerletir.
3.4.4- DNS SRV Kaydı
Eğer önceki bulma yöntemlerinden hiçbiri Client’ı bir Autodiscover servisine ulaştıramazsa Client, son olarak firatboyan.com’un DNS Zone’una aşağıdaki SRV kaydının karşılığını sorar.
_autodiscover._tcp.firatboyan.com |
Bu kaydın karışılığı, aşağıdaki gibi bir HTTPS URL olmalıdır.
https://autodiscover.firatboyan.com/autodiscover/autodiscover.xml |
Client, bu URL’i alabilirse, Autodiscover iletişimini başlatmayı dener. Eğer bu aşamada da doğru bir URL alamazsa, Client için Autodiscover macerasının sonu demektir ve kullanıcıdan gerekli e-posta servis bilgilerini Manual olarak girmesi istenir. Giremez ise e-posta hesabı ekleme işlemi başarısız bir şekilde sonlanır.
5- Exchange Server için NAT ve Firewall Policy Yapılandırması
5.1- 25 Port'unun ISP (Internet Service Provider-Internet Servis Sağlayıcı) üzerinden açılması
Firewall üzerinde NAT ve Policy yapılandırması işlemini gerçekleştirmeden önce, 25 numaralı Port'un Internet hizmeti aldığınız (ISP-Internet Service Provider) tarafından açık olduğundan emin olmanız gerekmektedir. Bu Port'un kontrolünü TELNET komutu ile kontrol edebilirsiniz.
Komut istemcisi (CMD) üzerinde ör. telnet 73.122.35.127 25 komutunu çalıştırdığınızda Port'unuzun açık olup olmadığını test edebilirsiniz.
Bu kontrolü Server ya da client üzerinden yapakcasanız, bunun için Telnet Client'ı yüklemeniz gerekecektir.

25 numaralı Port kapalı ise, ISP'niz ile iletişime geçerek açtırmanız gerekecektir. Bu Port açılmadan dış dünya ile e-posta gönerim ve alım işlemleri yapamazsınız!
5.2- Firewall Port Bilgileri
Exchange Server’ın dış dünyaya e-posta atabilmesi ve yine dış dünyadan e-posta alabilmesi için Firewall üzerinde aşağıda belirttiğim Port'lar için NAT ve policy yapılandırma işlemleri yapılması gerekmektedir.
Amaç |
Port |
Kaynak |
Hedef |
• Autodiscover
• ActiveSync
• Exchange Web Services (EWS)
• Offline address book (OAB)
• Outlook Anywhere (RPC over HTTP)
• Outlook MAPI over HTTP
• Exchange Control Panel (ECP)
• Outlook on the web (Outlook Web App) |
• 443/TCP (HTTPS) |
• WAN (Any) |
• LAN (Load Balancer) |
• Tavim paylaşımı
• Outlook on the web (443/TCP Redirection)
• Autodiscover (443/TCP erişim kontrolü) |
• 80/TCP (HTTP) |
• WAN (Any) |
• LAN (Load Balancer) |
• İç yöne e-posta akışı |
• 25/TCP (SMTP) |
• WAN (Any) |
• LAN (Antispam Mail Gateway) |
• Dış yöne e-posta akışı |
• 25/TCP (SMTP) |
• LAN (Antispam Mail Gateway) |
• WAN (Any) |
NOT: Exchange Server üzerinde IMAP ve POP yapılandırması yapmayacaksanız, IMAP ve POP Port'ları için Firewall üzerinde NAT oluşturmanıza gerek yoktur.
Aşağıdaki diyagramda LAN ya da WAN ortamındaki Outlook Client, Outlook'tan e-posta gönderimi yaparken ilk etapta 443 Port'u üzerinden MAPI over HTTP ya da RPC over HTTP (Outlook Anywhere) ile Exchange Server'daki posta kutusuna bağlanacak; e-posta, Exchange Server tarafından 25 Port'u üzerinden Internet'e gönderilecektir. Tam tersi işlemde ise; yine Internet ortamından 25 Port'u üzerinden gelen e-posta, Exchange Server'a iletilecektir. Outlook Client, bağlantısını sürdürdüğü sürece e-postalarına erişebilcektir. Exchange Server üzerine IMAP ya da POP hizmetleri verecekseniz Outlook Client, burada belirleyeceğiniz Port üzerinden e-posta gönderimi yapacaktır. Bu Port numarası da genellikle 587'dir. Bu durumda ise 587 Port'u için WAN to LAN yönünde NAT tanımlaması yapmanız gerecektir.

NOT: Yukarıdaki görsel, klasik bir mimari için örnek teşkil etmesi için hazırlanmıştır.
Firewall üzerinde gerekli Port'lar için NAT yapılandırma işlemlerinizi tamamladıktan sonra mutlaka PowerShell üzerinden aşağıdaki komutlar yardımıyla Test işlemleri gerçekleştirmenizi öneririm.
5.2.1- Aşağıdaki komut yardımıyla ortamımdaki Public IP (Wan IP) bilgisin çekiyorum.
(Invoke-WebRequest -Uri "http://ifconfig.me/ip").Content |
5.2.2- Aşağıdaki komut yardımıyla Public IP bilgim üzerinden 443 TCP bağlantı kontrolümü sağlıyorum.
Test-NetConnection 73.122.35.127 -Port 443 |
5.2.3- Aşağıdaki komut yardımıyla Public IP bilgim üzerinden 25 SMTP bağlantı kontrolümü sağlıyorum.
Test-NetConnection 73.122.35.127 -Port 25 |
5.2.4-Aşağıdaki komut yardımıyla Private IP (Lan IP) bilgim üzerinden 25 SMTP bağlantı kontrolümü sağlıyorum.
Test-NetConnection 10.10.10.200 -Port 25 |

Faydalı olması dileğiyle...
Etiketler: Windows Server 2016, Exchange Server 2019 Kurulum, Yapılandırma, Exchange Server Konfigürasyon, Exchange Server Firewall policy yapılandırması, Exchange Server Nat, Exchange Server DNS Ayarları
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.