Kurumsal ortamlarda yazıcılar, ERP uygulamaları, izleme sistemleri, yedekleme yazılımları çeşitli otomasyon cihazları gibi SMTP kimlik doğrulaması yapamayan birçok sistemin e-posta gönderebilmesi için güvenli SMTP Relay altyapısına ihtiyaç duyulur. Çoğu ortamda ihtiyaç doğrudan Exchange Mailbox sunucuları üzerinde oluşturulan Receive Connector’lar karşılanmaktadır. Ancak yaklaşım, Mailbox sunucularının gereksiz SMTP trafiğine maruz kalmasına saldırı yüzeyinin genişlemesine neden olabilir.
Microsoft Exchange Server Subscription Edition (SE) birlikte sunulan Edge Transport rolü, SMTP trafiğini Mailbox sunucularından ayırarak daha güvenli yönetilebilir mimari oluşturulmasına olanak tanır. Edge Transport sunucusu, yalnızca SMTP iletişimini yöneten bağımsız rol olduğundan, Active Directory etki alanına dahil edilmeden çalışabilir yalnızca SMTP Relay amacıyla kullanılabilir.
makalede, Exchange Server SE Edge Transport rolünün Workgroup ortamında kurulumu, gerekli yapılandırmalar yalnızca belirli IP adreslerinden SMTP Relay hizmeti verecek şekilde güvenli olarak nasıl yapılandırılacağı adım adım anlatılacaktır.
Neden Edge Transport Kullanılmalı?Edge Transport rolünün yalnızca SMTP Relay amacıyla kullanılmasının birçok avantajı bulunmaktadır.
- Exchange Mailbox sunucuları doğrudan SMTP Relay yüküne maruz kalmaz.
- SMTP trafiği ayrı sunucu üzerinden yönetilir.
- Güvenlik açısından saldırı yüzeyi azaltılır.
- Relay yetkileri merkezi olarak yönetilebilir.
- SMTP erişimi yalnızca belirli IP adresleri sınırlandırılabilir.
- DMZ ortamında konumlandırılabilir.
- Active Directory bağımlılığı bulunmaz.
- Gerektiğinde Anti-Spam özelliklerinden yararlanılabilir.
- SMTP servisleri Mailbox rolünden bağımsız olarak yönetilebilir.
makaledeki senaryoda;
- Exchange Server SE Edge Transport rolü Workgroup ortamında kurulacaktır.
- Sunucu Active Directory etki alanına dahil edilmeyecektir.
- SMTP Relay yalnızca belirli IP adreslerinden kabul edilecektir.
- Relay yetkisi yalnızca izin verilen istemcilere verilecektir.
- İnternet çıkışı DNS üzerinden gerçekleştirilecektir (Smart Host kullanılmayacaktır).
Edge Transport sunucusu Workgroup ortamında çalışacak olsa SMTP haberleşmesinde kullanılacak tam etki alanı adının (FQDN) doğru oluşturulabilmesi için Primary DNS Suffix değeri yapılandırılmalıdır. ayar, sunucunun EHLO/HELO komutlarında kendini doğru FQDN tanıtmasını sağlar SMTP sertifikası DNS kayıtlarının uyumlu şekilde çalışmasına katkıda bulunur. işlem sunucuyu Active Directory etki alanına dahil etmez.
Edge Transport sunucusunun FQDN değerinin DNS üzerinden doğru şekilde çözümlenebilmesi için A (Host) kaydı oluşturun. kayıt, SMTP haberleşmesi sırasında sunucunun doğru şekilde bulunmasını sistemler tarafından erişilebilmesini sağlar.
Ön GereksinimlerExchange Server SE Edge Transport rolü, Microsoft Visual C++ Redistributable paketine AD LDS (Active Directory Lightweight Directory Services) bileşenine ihtiyaç duyar. Kuruluma başlamadan önce ön gereksinimlerin yüklenmesi gerekmektedir.
Tüm ön gereksinimler tamamlandıktan sonra Exchange Server SE Edge Transport rolünü komut satırı üzerinden unattended (katılımsız) modda kurulumunu başlatın. yöntem, kurulumun daha hızlı tekrarlanabilir şekilde gerçekleştirilmesini sağlar.
Exchange SE iso bağlayın uygun sürücüye gidin aşağıdaki komutu çalıştırın tabi bunları powershell i administrator olarak çalıştırıp yapınız.
\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /Mode:Install /Role:EdgeTransport /TargetDir:"E:\Program Files\Microsoft\Exchange Server\V15" $ServerName = $env:COMPUTERNAME $ConnName = "SMTP Relay" $Identity = "$ServerName\$ConnName" $Bindings = "0.0.0.0:25" $CSVPath = "C:\programlar\ip.csv" # zaten aldiginiz IP listesi $NewFqdn = "$ServerName.mitas.intranet" # gerekirse degistirin # ---- CSV'den IP listesini oku ---- if (-not (Test-Path $CSVPath)) { throw "CSV bulunamadi: $CSVPath" } $RawEntries = Import-Csv $CSVPath | Select-Object -ExpandProperty IPs if (-not $RawEntries -or $RawEntries.Count -eq 0) { throw "CSV icinde IP verisi. Header 'IPs' olmali." } # Gecerli IP / CIDR / araligi formati disinda kalan satirlari ayikla # (ornegin CSV'ye yanlislikla ikinci kez girmis "IPs" header metni gibi) $IPPattern = '^(\d{1,3}\.){3}\d{1,3}(\/\d{1,2})?$|^(\d{1,3}\.){3}\d{1,3}-(\d{1,3}\.){3}\d{1,3}$' $InvalidEntries = $RawEntries | Where-Object { $_ -notmatch $IPPattern } $IPRanges = $RawEntries | Where-Object { $_ -match $IPPattern } if ($InvalidEntries) { Write-Warning "CSV' gecersiz/beklenmeyen $($InvalidEntries.Count) satir bulundu atlandi:" $InvalidEntries | ForEach-Object { Write-Warning " - '$_'" } } if (-not $IPRanges -or $IPRanges.Count -eq 0) { throw "Dogrulamadan sonra gecerli IP kalmadi, islem durduruldu." } Write-Host "$($IPRanges.Count) gecerli IP/aralik CSV'den okundu ($($RawEntries.Count) satirin arasindan)." # ---- Minimal relay-only ayarlar ---- $ConnectorParams = @{ RemoteIPRanges = $IPRanges Bindings = $Bindings AuthMechanism = "Tls" PermissionGroups = "AnonymousUsers" MessageRateLimit = 600 MaxInboundConnection = 5000 MaxInboundConnectionPerSource = 50 MaxInboundConnectionPercentagePerSource = 2 MaxMessageSize = 40MB MaxRecipientsPerMessage = 200 ProtocolLoggingLevel = "Verbose" RequireTLS = $false Fqdn = $NewFqdn } # ---- Var kontrolu (idempotent) ---- $Existing = Get-ReceiveConnector $Identity -ErrorAction SilentlyContinue try { if ($Existing) { Write-Host "Connector zaten mevcut, guncelleniyor: $Identity" Set-ReceiveConnector $Identity -ErrorAction Stop } else { Write-Host "Connector olusturuluyor: $Identity" New-ReceiveConnector -Name $ConnName -Server $ServerName -Usage Custom -ErrorAction Stop } } catch { Write-Error "Connector olusturma/guncelleme BASARISIZ oldu: $($_.Exception.Message)" throw # script burada durur, asagidaki sahte "basarili" mesajlarina inmez } # ---- Anonim relay iznini ekle (PermissionGroups tek basina relay hakki vermez) ---- # Not: adimdan sonra Get-ReceiveConnector ciktisinda PermissionGroups # alaninda "Custom" otomatik olarak belirecek, elle eklemeye gerek. try { Get-ReceiveConnector $Identity -ErrorAction Stop | Add-ADPermission ` -User "NT AUTHORITY\ANONYMOUS LOGON" ` -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient" ` -ErrorAction Stop Write-Host "`n$Identity basariyla yapilandirildi." Write-Host "Dogrulama: Get-ADPermission '$Identity' | Where-Object { `$_.ExtendedRights -like 'Accept-Any-Recipient' }" } catch { Write-Error "Relay izni eklenirken BASARISIZ oldu: $($_.Exception.Message)" throw }adımda PowerShell kullanılarak SMTP Relay hizmeti sunacak Receive Connector oluşturulmaktadır. Script öncelikle CSV dosyasında tanımlanan IP adreslerini okuyarak yalnızca istemcilerin bağlanmasına izin verecek şekilde RemoteIPRanges ayarını yapılandırır. Ardından Receive Connector üzerinde kullanılacak dinleme adresi (Bindings), FQDN bilgisi, kimlik doğrulama mekanizması (AuthMechanism), izin grupları (PermissionGroups), mesaj boyutu, alıcı sayısı, bağlantı limitleri protokol günlükleme (Protocol Logging) gibi SMTP yapılandırmaları otomatik olarak uygulanır. Son olarak Add-ADPermission komutu NT AUTHORITY\ANONYMOUS LOGON hesabına Ms-Exch-SMTP-Accept-Any-Recipient Extended Right yetkisi atanarak, yalnızca RemoteIPRanges içerisinde tanımlanan istemcilerin Exchange organizasyonu dışındaki alıcılara tebilmesi (SMTP Relay) sağlanır. Yapılandırma tamamlandıktan sonra Get-ADPermission komutu atanan izinler doğrulanarak Receive Connector’ın doğru şekilde oluşturulduğu kontrol edilir.
New-SendConnector ` -Name $ConnectorName ` -AddressSpaces "SMTP:*;1" ` -DNSRoutingEnabled $true ` -Usage Internet Write-Host "Send Connector '$ConnectorName' created successfully."SMTP Relay sunucusunun dış ortamlara e-posta gönderebilmesi için Send Connector oluşturulmaktadır. örnekte oluşturulan Send Connector, tüm SMTP etki alanlarına (SMTP:*;1) posta iletecek şekilde yapılandırılmıştır. DNSRoutingEnabled parametresi True olarak ayarlandığından, e-postaların iletimi Smart Host kullanılmadan, alıcı etki alanlarının MX kayıtları sorgulanarak DNS üzerinden doğrudan gerçekleştirilir. Usage parametresi Internet olarak belirlendiği için Connector, internet üzerindeki tüm SMTP etki alanlarına posta gönderecek şekilde yapılandırılmıştır. Böylece Edge Transport sunucusu, kendisine Relay edilen e-postaları DNS çözümlemesi yaparak hedef posta sunucularına güvenli standart SMTP iletişimi iletebilir.
İstersen bunun altına notu ekleyebilirsin:
Not: Eğer kurumunuzda tüm e-postaların güvenlik geçidi, e-posta güvenlik ürünü veya akıllı ana bilgisayar (Smart Host) üzerinden gönderilmesi isteniyorsa, DNSRoutingEnabled değeri False olarak yapılandırılmalı ilgili Smart Host adresi Send Connector üzerinde tanımlanmalıdır. makaledeki senaryoda ise doğrudan internet çıkışı tercih edildiğinden DNS yönlendirmesi kullanılmaktadır.
Exchange Server Subscription Edition (SE) sunulan Edge Transport rolü, yalnızca SMTP Relay hizmeti sunacak ortamlar için güvenli, desteklenen yönetimi kolay çözüm sunmaktadır. Özellikle artık desteklenmeyen IIS 6.0 SMTP Virtual Server altyapısının yerine modern alternatif olarak kullanılabilen Edge Transport, merkezi yönetim, gelişmiş SMTP denetimi, ayrıntılı günlükleme güvenlik özellikleriyle kurumsal ihtiyaçları karşılayabilecek mimari sağlamaktadır.
makalede, Exchange Server SE Edge Transport rolünün Standalone olarak kurulumu, gerekli ön gereksinimlerin hazırlanması, Receive Connector Send Connector yapılandırmaları yalnızca yetkilendirilmiş IP adreslerinden SMTP Relay hizmeti verecek şekilde güvenli altyapının nasıl oluşturulacağı adım adım ele alınmıştır. yapı sayesinde uygulama sunucuları, yazıcılar, ERP sistemleri SMTP istemcileri için merkezi güvenilir Relay hizmeti sunulabilir.
Microsoft’un belirttiği gibi, Standalone Edge Transport mimarisinde sunucunun Active Directory Edge Subscription ilişkilendirilmesine gerek yoktur. Böylece EdgeSync, Direct Trust sertifikaları ek bileşenlere ihtiyaç duyulmadan, daha sade operasyonel yükü düşük SMTP Relay altyapısı kurulabilir.
Doğru yapılandırılmış Receive Connector’lar, IP tabanlı erişim kontrolleri, uygun Send Connector ayarları düzenli bakım Exchange Server SE Edge Transport, uzun yıllar güvenle kullanılabilecek, desteklenen ölçeklenebilir SMTP Relay çözümü sunmaktadır. Özellikle mevcut IIS SMTP altyapısını modern Microsoft tarafından desteklenen platforma taşımayı planlayan kurumlar için yaklaşım, hem güvenlik hem yönetilebilirlik açısından önemli avantajlar sağlamaktadır.