Merhaba
Exchange Server Subscription Edition (SE), Exchange 2019’un mimarisini devralan ve uzun vadeli destek alan sürümdür. Yönetim arayüzü olan Exchange Control Panel (ECP) yeni adıyla Exchange admin center (EAC) varsayılan olarak https://sunucu/ecp adresinden erişilebilir.
Aynı IIS sitesi hem Outlook Web Access (OWA)’yı hem Exchange admin center (EAC)’yi yayınladığından, ECP çoğu kurulumda internete de açık kalır. Bu, saldırganlar için ciddi bir hedef yüzeyidir: geçmişte Exchange admin center (EAC) üzerinden sömürülen birçok kritik güvenlik açığı (ProxyShell, ProxyNotShell vb.) yaşandı. Bu yazıda Exchange admin center (EAC)/Exchange Control Panel (ECP) erişimini yalnızca yönetim ağıyla sınırlamak için üç yöntemi Exchange Server SE üzerinde ele alıyoruz:
- IIS – IP and Domain Restrictions (sunucu üzerinde IP bazlı kısıtlama)
- PowerShell – Client Access Rules (Exchange’in kendi kuralları ile Exchange admin center (EAC) ve Remote PowerShell kısıtlaması)
- WAF – F5 iRule / FortiWeb (sunucuya dokunmadan, merkezi kısıtlama)
/ecp sanal dizinini kullanır. /ecp tümüyle dışarıya kapatıldığında, dış ağdan bağlanan kullanıcılar OWA seçeneklerine (kural, imza, otomatik yanıt ayarları) erişemez. Bu, ECP kısıtlamasının bilinen bir yan etkisidir ve üç yöntem için de geçerlidir.Ön Hazırlık: Yönetim Ağını Belirleyin
Başlamadan önce ECP’ye erişebilecek kaynakları netleştirin:
- Yönetici iş istasyonlarının / yönetim VLAN’ının IP aralığı (Örn.
192.168.171.0/24) - Sunucunun kendisi için loopback:
127.0.0.1(ve::1) - DAG kullanıyorsanız tüm düğümlerin listesi (yapılandırma her düğümde tekrarlanmalıdır)
Yöntem 1 – IIS: IP and Domain Restrictions
Bu yöntem, Exchange sunucusundaki IIS üzerinde /ecp sanal dizinine sadece izin verilen IP’lerden erişilmesini sağlar.
Neden Default Web Site, Exchange Back End değil?
Exchange mimarisinde IIS’te iki site vardır: Default Web Site (Front End / Client Access, 80–443 portları) ve Exchange Back End (444 portu). Dış istemciler her zaman önce Front End‘e gelir; istek buradan Exchange tarafından Back End’e proxy’lenir. Yani gerçek istemci IP’sini gören ve dış erişimi karşılayan kat Front End’dir.
Bu yüzden kısıtlama Default Web Site → ecp üzerinde yapılmalıdır. Kısıtlamayı Exchange Back End → ecp üzerinde yaparsanız iki sorun oluşur:
- IP filtresi yanlış çalışır: Back End’e ulaşan trafik artık gerçek istemcinin IP’si değil, Front End’in (yani sunucunun kendi / localhost) IP’sidir. Dolayısıyla kaynak IP’ye göre izin/ret kararı doğru verilemez.
- Servisler kırılabilir: Back End’i yanlış kısıtlamak sunucunun kendi iç proxy trafiğini engelleyerek OWA dahil diğer hizmetleri de bozabilir.
Kısacası: yalnızca Default Web Site → ecp üzerinde yapılandırma yapın, Exchange Back End‘e dokunmayın.
1.1. IP and Domain Restrictions özelliğini yükleyin
Server Manager konsolunu açıyoruz.
Dashboard ekraninda Add roles and Features tıklıyoruz. Dilerseniz sağ üst köşedeki Manage menüsünden Add Roles and Features ile rol ekleme sihirbazını açabiliriz.

Add Roles and Features Wizard ekranı geliyor karşımıza.
Before you begin ekranında herhangi rol ve özellik) kurulumu için gerekli ön bilgileri görüyoruz:
- Administrator hesabının güçlü bir parolası olmalıdır
- Network ayarları Statik IP adresi olarak yapılandırılmalıdır
- Sunucu üzerinde Windows Update ile en güncel güvenlik güncelleştirmeleri yüklenmelidir
Before you begin ekranında Next ile devam ediyoruz.

Select Installation Type ekranında Role-based or feature-based installation seçeneğini tercih ediyoruz. Bu seçenek, Windows Server üzerinde ihtiyaç duyulan rollerin ve özelliklerin manuel olarak seçilerek kurulmasını sağlar ve Web Server (IIS) gibi altyapı bileşenleri için kullanılan standart kurulum yöntemidir.
Select Installation Type ekranında Next ile devam ediyoruz.

Select destination server ekranında Select a server from the server pool seçeneği ile kurulumun yapılacağı W25EXCSE sunucusunu seçiyoruz.
Select destination server ekranında Next ile devam ediyoruz.

Select server roles ekranında Web Server (IIS) rolü altında bulunan IP Adress and Domains Restrictions özelliğini işaretlememiz gerekiyor.

Web Server (IIS) rolü altında bulunan IP Adress and Domains Restrictions özelliği kurulum için hazır Next diyerek devam ediyoruz.

Select features ekranında IP Adress and Domains Restrictions özelliğini herhangi bir şey şeçmemize gerek olmadığı için Next diyerek devam ediyoruz.

Confirm installation selections ekranında Web Server (IIS) rolü altında bulunan IP Adress and Domains Restrictions özelliği kurulum için seçildiğini görüyoruz.
Kurulumlar tamamlandıktan sonra sunucunun otomatik olarak restart etmek istersek eğer Restart the destination server automatically if required seçeneğini işaretlememiz gerekiyor. Ancak Web Server (IIS) rolü altında bulunan IP Adress and Domains Restrictions özelliği için sunucumuzu yeniden başlatmamıza gerek yok.
Install diyerek Web Server (IIS) rolü altında bulunan IP Adress and Domains Restrictions özelliğinin kurulumunu başlatıyoruz.

Web Server (IIS) rolü altında bulunan IP Adress and Domains Restrictions özelliği kurulumunu başarılı bir şekilde tamamlandığını görüyoruz.
Close diyerek Add Roles and Features Wizard ekranını kapatıyoruz.

1.2. Exchange Control Panel (ECP) sanal dizinini seçin
Windows Tools altında Internet Information Services (IIS) Manager konsolunu açıyoruz.

Internet Information Services (IIS) Manager → Sunucu Adı → Sites → Default Web Site → ecp yolunu açın ve orta panelde IP Address and Domain Restrictions simgesine çift tıklayın.

1.3. Belirtilmeyen istemcileri reddedin
IP Address and Domain Restrictions menüsünde sağ tuş Edit Feature Settings yada Actions panelinden Edit Feature Settings‘i açın:

Edit IP and Domain Restrictions Settings ekranında
- Access for unspecified clients: Listede kuralı olmayan istemciler için varsayılan davranış. Bizim senaryoda Deny seçilir yani yalnızca izin verilenler girer, geri kalan herkes engellenir.
- Enable domain name restrictions: Kuralları IP yerine DNS alan adına göre tanımlamayı açar. Her istek için ters DNS sorgusu gerektirdiğinden yavaştır ve önerilmez; kapalı bırakın.
- Enable Proxy Mode: IIS’in kaynak IP olarak TCP bağlantısının IP’si yerine X-Forwarded-For başlığındaki IP’yi değerlendirmesini sağlar. Exchange bir yük dengeleyici / reverse proxy arkasındaysa, gerçek istemci IP’sini görebilmek için bunu açın (ve proxy’nin XFF başlığı eklediğinden emin olun). Doğrudan erişimde kapalı kalır.

Deny Action Type: Reddedilen isteklere IIS’in nasıl yanıt vereceğini belirler:
-
- Unauthorized (401): “Yetkisiz” döner (kimlik doğrulama gerekiyormuş izlenimi).
- Forbidden (403): “Yasak” döner – kaynak var ama erişim reddedildi (varsayılan).
- Not Found (404): “Bulunamadı” döner – ECP’nin varlığını gizler.
- Abort: Bağlantıyı hiç yanıt vermeden koparır – en sessiz seçenek; istemci zaman aşımı görür.

Edit IP and Domain Restrictions Settings ekranında
- Access for unspecified clients:
Deny - Deny Action Type:
Abort(bağlantıyı sessizce keser; alternatif olarakNot Found - 404 döndürür)

Yapılan değişikliklerin geçerli olabilmesi için Internet Information Services (IIS) hizmetinin yeniden başlatılması gerekir. İki yöntemden birini kullanabilirsiniz:
Yöntem 1 – IIS Manager üzerinden:
Internet Information Services (IIS) Manager → Sunucu Adı → Sites → Default Web Site → ecp yolunda sağ tuş Manage Website menüsü altında Restart (Yeniden Başlat) seçeneğine tıklayarak Web Server (IIS)’i yeniden başlatıyoruz.

Yöntem 2 – Komut satırından:
Windows PowerShell‘i Run as administrator (Yönetici olarak) açın ve aşağıdaki komutu çalıştırın.
iisreset

iisreset komutu yükseltilmiş yetki (elevated) gerektirir. Command Prompt (Komut istemi) veya Windows PowerShell’i Run as administrator” (Yönetici olarak çalıştır) ile açmadan bu komutu çalıştırırsanız Access denied, you must be an administrator of the remote computer hatasını alır ve Restart attempt failed mesajı ile karşılaşırsınız. Bu durumda pencereyi Administrator (Yönetici) olarak yeniden açıp komutu tekrar çalıştırmanız yeterlidir. Başarılı olduğunda “Internet services successfully restarted” çıktısını görürsünüz.
Edit IP and Domain Restrictions Settings ekranında
- Access for unspecified clients:
Deny - Deny Action Type:
Abort(bağlantıyı sessizce keser; alternatif olarakNot Found - 404 döndürür)
şeklinde yapılandırısanız ve herhangi bir IP adresi tanımlamazsanız W25EXCSE isimli Exchange Server SE sunucumuz dahil Exchange Control Panel (ECP)’ye erişemezsiniz.

1.4. İzin verilecek IP’leri ekleyin (Allow Entry)
IP Address and Domain Restrictions menüsünde sağ tuş Add Allow Entry yada Actions panelinden Add Allow Entry‘i açın:
-
- Örnek olak Yönetim ağı:
192.168.171.0– Mask/Prefix:255.255.255.0 - Loopback:
127.0.0.1(Bu sadece Exchange Server SE kurulu olduğu sunucu üzerinde izin vermenizi sağlar.)
- Örnek olak Yönetim ağı:

Add Allow Restriction Rule ekranında
- Specific IP address: Tek bir IP adresine izin verir. Örn. yönetici iş istasyonu
192.168.171.10. - IP address range: Bir ağ bloğuna izin verir. Alttaki Mask or Prefix alanına maske yazılır. Örn. adres
192.168.171.0, Mask255.255.255.0→ tüm192.168.171.xağı. (IPv6 için prefix kullanılır, Örn.64.)

Buradaki ortamımız lab ortamı olduğu için W25EXCSE isimli sunucumuzun IP adresini 192.168.1.206 yada 127.0.0.1 Loopback IP adresini kullanıyoruz.
Yapılan değişikliklerin geçerli olabilmesi için Internet Information Services (IIS) hizmetinin yeniden başlatılması gerekir. İki yöntemden birini kullanabilirsiniz:
Yöntem 1 – IIS Manager üzerinden:
Internet Information Services (IIS) Manager → Sunucu Adı → Sites → Default Web Site → ecp yolunda sağ tuş Manage Website menüsü altında Restart (Yeniden Başlat) seçeneğine tıklayarak Web Server (IIS)’i yeniden başlatıyoruz.

Yöntem 2 – Komut satırından:
Windows PowerShell‘i Run as administrator (Yönetici olarak) açın ve aşağıdaki komutu çalıştırın.
iisreset

iisreset komutu yükseltilmiş yetki (elevated) gerektirir. Command Prompt (Komut istemi) veya Windows PowerShell’i Run as administrator” (Yönetici olarak çalıştır) ile açmadan bu komutu çalıştırırsanız Access denied, you must be an administrator of the remote computer hatasını alır ve Restart attempt failed mesajı ile karşılaşırsınız. Bu durumda pencereyi Administrator (Yönetici) olarak yeniden açıp komutu tekrar çalıştırmanız yeterlidir. Başarılı olduğunda “Internet services successfully restarted” çıktısını görürsünüz.
W25EXCSE isimli Exchange Server SE sunucumuz üzerinden Exchange Control Panel (ECP)’ye erişebiliyoruz.

W25DC isimli Active Directory sunucumuz üzerinden Exchange Control Panel (ECP)’ye erişemiyoruz.

Notlar ve Uyarılar:
- DAG (Database Availability Group): Yapılandırma otomatik replike olmaz; DAG’daki her düğümde tekrarlanmalıdır.
- CU (Cumulative Update) / SU (Security Update) sonrası: Exchange CU (Cumulative Update) veya Exchange SU (Security Update) kurulumları sanal dizinleri yeniden oluşturabilir ve bu ayarları sıfırlayabilir. Güncelleme sonrası ayarları mutlaka doğrulayın.
- Load Balacing (Yük dengeleyici): Trafik SNAT ile geliyorsa tüm istemciler yük dengeleyicinin IP’sinden görünür ve IP kısıtlaması işlevsiz kalır. Bu durumda kısıtlamayı WAF katmanında yapın (Yöntem 1.3).
Yöntem 2 – PowerShell: Client Access Rules
Exchange Server SE, Client Access Rules özelliğini destekler (Exchange 2016’da yoktu; 2019 ve SE’de vardır). Bu yöntem, karmaşık ağ/güvenlik duvarı kuralları yerine Exchange’in kendi motoruyla erişimi denetler ve tüm sunuculara Active Directory üzerinden otomatik dağıtılır. On-premises Exchange’de yalnızca iki protokol desteklenir:
ExchangeAdminCenter→ Exchange Control Panel (ECP) / Exchange admin center (EAC)RemotePowerShell→ Exchange Management Shell / Remote PowerShell
2.1. Önce kendinizi kilitlemeyin: Remote PowerShell’i her zaman açık tutun
Yanlış bir kural sizi yönetimden dışlayabilir. Bu yüzden önce en yüksek öncelikli bir “izin ver” kuralı oluşturun:
Exchange Management Shell‘i Run as administrator (Yönetici olarak) açın ve aşağıdaki komutu çalıştırın.
New-ClientAccessRule -Name "Always Allow RemotePowerShell" `
-Action AllowAccess `
-AnyOfProtocols RemotePowerShell `
-Priority 1

2.2. Exchange admin center (EAC)/Exchange Control Panel (ECP)’yi yönetim ağı dışında engelleyin
Exchange Management Shell‘i Run as administrator (Yönetici olarak) açın ve aşağıdaki komutu çalıştırın.
New-ClientAccessRule -Name "Block EAC except MGMT" `
-Action DenyAccess `
-AnyOfProtocols ExchangeAdminCenter `
-ExceptAnyOfClientIPAddressesOrRanges 192.168.171.0/24 `
-Priority 2
-ExceptAnyOfClientIPAddressesOrRanges tek IP, aralık veya CIDR kabul eder: 192.168.1.10 , 192.168.0.1-192.168.0.254 , 192.168.171.0/24. Birden fazla değeri virgülle birlikte yazabilirsiniz: 192.168.1.206,192.168.1.200.

iisreset gerekir mi? Hayır. IIS yönteminin (Yöntem 1) aksine Client Access Rules’da iisreset veya IIS ayarı yapmanıza gerek yoktur. Kurallar Active Directory üzerinden tüm Exchange sunucularına otomatik dağıtılır ancak dağıtım anında olmayabilir, birkaç dakika sürebilir. Bu süre içinde kural henüz etkili olmamış gibi görünebilir; test etmeden önce biraz bekleyin.Kuralların oluştuğunu listeleyerek doğrulayın:
Get-ClientAccessRule | Format-Table Name,Priority,Action,AnyOfProtocols,Enabled
Çıktıda iki kural da (Priority (Öncelik), Action (Aksiyon), Protocol (Protokol) Enabled = True) görünmelidir:

W25EXCSE isimli Exchange Server SE sunucumuz üzerinden Exchange Control Panel (ECP)’ye erişebiliyoruz.

W25DC isimli Active Directory sunucumuz üzerinden Exchange Control Panel (ECP)’ye erişemiyoruz.

2.3. Uygulamadan önce test edin
Belirli bir IP ve protokol için hangi kuralın eşleşeceğini test edin
Exchange Management Shell‘i Run as administrator (Yönetici olarak) açın ve aşağıdaki komutu çalıştırın.
Test-ClientAccessRule -RemoteAddress 8.8.8.8 -Protocol ExchangeAdminCenter -AuthenticationType Basic
W25DC isimli Active Directory sunucumuzun IP Adresi üzerinden Exchange Control Panel (ECP)’ye erişemiyoruz.

W25EXCSE isimli Exchange Server SE sunucumuzun IP Adresi üzerinden Exchange Control Panel (ECP)’ye erişebiliyoruz.

Test-ClientAccessRule iki parametreyi daha zorunlu ister; komut satırında vermezseniz ekranda tek tek sorar (Supply values for the following parameters: RemotePort / User):
-RemotePort:İstemcinin sunucuya bağlandığı hedef port. Exchange admin center (EAC)/Outlook Web Access (OWA) HTTPS üzerinden çalıştığından443yazın.-User:Bağlantının hangi kullanıcı adına simüle edileceği (Örn.administrator). Client Access Rules kuralları kullanıcıya göre de kapsanabildiği için test edilecek kullanıcıyı belirtirsiniz.
Bu ikisini de komuta ekleyerek soru sorulmadan çalıştırabilirsiniz:
Dış / Yetkisiz bir IP → Engellenmeli (DenyAccess kuralına düşmeli)
Test-ClientAccessRule -RemoteAddress 8.8.8.8 -Protocol ExchangeAdminCenter -AuthenticationType Basic -RemotePort 443 -User administrator

Yönetim Ağından bir IP → Geçmeli (izinli olmalı)
Test-ClientAccessRule -RemoteAddress 192.168.171.10 -Protocol ExchangeAdminCenter -AuthenticationType Basic -RemotePort 443 -User administrator

Çıktı nasıl okunur? Çıktıda bir DenyAccess kuralı listeleniyorsa o IP engellenir; hiçbir şey dönmüyorsa (boş çıktı) eşleşen bir engelleme kuralı yok, yani erişime izin verilir. Örnek: izinli 192.168.1.206 için çıktı boştur (erişim var), engelli 192.168.1.200 için ise Block EAC except MGMT … DenyAccess satırı döner.
Tüm kuralları listeleyin:
Get-ClientAccessRule | Format-Table Name,Priority,Action,AnyOfProtocols,Enabled

2.4. İzinli (except) IP listesini görüntüleme ve güncelleme
Get-ClientAccessRule | Format-Table varsayılan görünümü izinli IP listesini göstermez. Kuralda hangi IP’lerin muaf (izinli) olduğunu görmek için Format-List ile ilgili alanı çağırın:
Get-ClientAccessRule "Block EAC except MGMT" | Format-List Name,Action,AnyOfProtocols,ExceptAnyOfClientIPAddressesOrRanges,Priority,Enabled
ExceptAnyOfClientIPAddressesOrRanges satırında izinli IP’leri görürsünüz (Örn. {192.168.171.10}).

192.168.171.10 ve 192.168.171.11. Kendi ortamınızda bu adresleri kendi yönetim IP’lerinizle değiştirin.Listeye yeni bir IP eklemek için Set-ClientAccessRule kullanılır.
192.168.171.10’a ek olarak 192.168.171.11’i de izinli yap (ikisini birlikte yazıyoruz)
Set-ClientAccessRule -Identity "Block EAC except MGMT" `
-ExceptAnyOfClientIPAddressesOrRanges 192.168.171.10,192.168.171.11

Ardından Doğrulayın (dağıtım için birkaç dakika bekleyebilirsiniz):
Get-ClientAccessRule "Block EAC except MGMT" | Format-List Name,ExceptAnyOfClientIPAddressesOrRanges

Test Edin:
Test-ClientAccessRule -RemoteAddress 192.168.1.200 -Protocol ExchangeAdminCenter -AuthenticationType Basic -RemotePort 443 -User administrator

ExceptAnyOfClientIPAddressesOrRanges satırında artık {192.168.171.10, 192.168.171.11} görünmeli. Test sonucu da farkı gösterir: 192.168.171.11 ekleme öncesinde Test-ClientAccessRule çıktısında Block EAC except MGMT / DenyAccess satırını döndürürken (engelli), ekleme sonrasında çıktı boştur yani artık erişime izin verilir.
İzinli listesinden bir IP çıkarma. İki yolu vardır. En basiti, listeyi kalan IP’lerle yeniden yazmaktır (Set listeyi baştan tanımlar) Örneğin 192.168.171.11‘i çıkarıp yalnızca 192.168.171.10‘u bırakmak:
Set-ClientAccessRule -Identity "Block EAC except MGMT" `
-ExceptAnyOfClientIPAddressesOrRanges 192.168.171.10
Alternatif olarak, tüm listeyi yeniden yazmadan yalnızca tek bir değeri çıkarmak için Exchange’in çok değerli özellikler için desteklediği @{Remove=...} sözdizimini kullanabilirsiniz (aynı şekilde @{Add=...} ile ekleme de yapılır):
Set-ClientAccessRule -Identity "Block EAC except MGMT" `
-ExceptAnyOfClientIPAddressesOrRanges @{Remove="192.168.171.11"}
Çıkardıktan sonra Get-ClientAccessRule … | Format-List … ile doğrulayın; listeden düşen adres (Örn. 192.168.171.11) artık tekrar engellenir.
2.5. Kaldırma
Remove-ClientAccessRule -Identity "Block EAC except MGMT"

Kuralların silindiğini listeleyerek doğrulayın:

Notlar ve Uyarılar:
- Kurallar Active Directory üzerinden dağıtılır; değişiklikler anında etkili olmayabilir (dağıtım birkaç dakika sürebilir).
- Client Access Rules, Exchange’in gördüğü gerçek istemci IP’sini değerlendirir. Reverse proxy / yük dengeleyici SNAT yapıyorsa tüm istemciler proxy IP’sinden görünür; bu durumda kural beklenen şekilde çalışmaz.
RemotePowerShellizin kuralını kaldırmadan önce Exchange admin center (EAC) engelleme kuralını test edin; aksi halde yönetime erişimi kaybedebilirsiniz.- Client Access Rules Exchange Online‘da emekliye ayrılmıştır; bu yöntem yalnızca on-premises Exchange (2019 / SE) için geçerlidir.
Yöntem 3 – WAF ile Kısıtlama (F5 iRule / FortiWeb)
En sağlam yaklaşım, kısıtlamayı sunucunun önündeki WAF / Load Balacing (Yük Dengeleyici) katmanında yapmaktır.
Avantajları:
- Merkezi yönetim: Her Exchange sunucusunda ayrı ayrı yapılandırma gerekmez.
- Güncellemelerden etkilenmez: Exchange CU (Cumulative Update) veya Exchange SU (Security Update) kurulumları ayarları bozmaz.
- Sunucuya dokunmaz: Exchange organizasyonunda hiçbir değişiklik yapılmaz.
3.1. İzin verilen ağlar için bir Data Group tanımlayın
F5 üzerinde Local Traffic → iRules → Data Group List altında ecp_allowed_subnets adında Address tipinde bir data group oluşturun ve yönetim ağınızı ekleyin (Örn.192.168.171.0/24).
3.2. iRule’u HTTPS Virtual Server’a uygulayın
when HTTP_REQUEST {
# Yalnızca /ecp isteklerini denetle
if { [string tolower [HTTP::uri]] starts_with "/ecp" } {
# İstemci IP izinli ağlarda değilse engelle
if { not [class match [IP::client_addr] equals ecp_allowed_subnets] } {
HTTP::respond 403 content "Access Denied"
return
}
}
}
Data group kullanmak istemezseniz aralığı doğrudan yazabilirsiniz:
when HTTP_REQUEST {
if { [string tolower [HTTP::uri]] starts_with "/ecp" } {
if { not [IP::addr [IP::client_addr] equals 192.168.171.0/24] } {
HTTP::respond 403 content "Access Denied"
return
}
}
}
X.Y.Z.0/24 yerine kendi yönetim ağınızı yazın. HTTP::respond 403 yerine reject kullanarak bağlantıyı tümden kesebilirsiniz.

3.3. Aynı Kısıtlamanın FortiGate / FortiWeb WAF Karşılığı
Fortinet ortamında mantık F5 ile birebir aynıdır: /ecp yoluna yalnızca yönetim ağından izin ver, diğer tüm kaynakları engelle.
Not: FortiGate’in yerleşik (native) WAF profili, HTTPS trafiğinde URL yoluna göre kaynak IP ayrımı yapmakta sınırlıdır. Fortinet ortamında bu iş için doğru araç, Exchange’i reverse proxy olarak yayınlayan FortiWeb‘dir. FortiWeb SSL’i sonlandırdığı için /ecp yolunu görebilir ve kaynak IP’ye göre karar verebilir.
FortiWeb – URL Access ile (iki kurallı mantık): FortiWeb’de tek bir URL Access Rule tek bir Action taşır; “yönetime izin ver, gerisini engelle” için önceliklendirilmiş iki kural oluşturulur.
1. İzin kuralı – Web Protection → Access → URL Access → URL Access Rule:
- Host: Exchange yayın adınız (Örn.
mail.firma.com) - URL Type:
Regular Expression– URL Pattern:^/ecp - Source IPv4:
192.168.171.0/24(yönetim ağı) - Action:
Pass
2. Engelle kuralı – aynı yerde:
- Host:
mail.firma.com - URL Type:
Regular Expression– URL Pattern:^/ecp(kaynak IP koşulu yok → tüm kaynaklar) - Action:
Alert & Deny
3. Bu iki kuralı bir URL Access Policy içinde öncelik sırasına göre ekleyin izin kuralı üstte olacak (kurallar yukarıdan aşağıya değerlendirilir, ilk eşleşen kazanır).
4. Policy’yi ilgili Server Policy’ye bağlayın: Policy → Server Policy → (ilgili policy) → URL Access Policy.
Sonuç: Yönetim ağından gelen /ecp istekleri geçer, diğer tüm kaynaklar Alert & Deny ile engellenir. /owa ve diğer yollar etkilenmez.

Not:
- OWA (
/owa) etkilenmez; yalnızca/ecpdenetlenir. - OWA “Seçenekler” sayfası da
/ecpkullandığından, dış kullanıcılar için bu sayfa da engellenir (Bkz. Baştaki uyarı). - Aynı mantık F5 dışındaki WAF’larda (Azure WAF, FortiWeb, KEMP, NGINX vb.) URL yolu + Kaynak IP kuralı olarak uygulanabilir.
Yöntemlerin Karşılaştırması
| Kriter | Yöntem 1: IIS IP Restrictions | Yöntem 2: Client Access Rules | Yöntem 3: WAF (F5 / FortiWeb) |
|---|---|---|---|
| Uygulama yeri | Her Exchange sunucusu (IIS) | Exchange (AD üzerinden dağıtılır) | Yük dengeleyici / WAF |
| Kurulum zorluğu | ● Kolay | ● Orta (PowerShell) | ● Orta–İleri |
| CU/SU sonrası kalıcılık | ● Bozulabilir, kontrol gerekir | ● Kalıcı | ● Kalıcı |
| Çok sunucu / DAG | ● Her düğümde ayrı yapılır | ● Otomatik | ● Merkezi |
| Kilitlenme riski | ● Düşük | ● Orta (dikkat gerekir) | ● Düşük |
| Reverse proxy / SNAT sorunu | ● Etkilenir | ● Etkilenir | ● Etkilenmez (kaynak WAF’ta) |
● Olumlu / Güçlü Yön ·
● Orta / Dikkat ·
● Zayıf Yön / Kısıt