Ağ Segmentasyonunda Sıfır Güven (Zero Trust): DMZ Bölgesindeki Web Sunucusundan İç Veritabanına Yalnızca İzinli Port Geçişi
Birçok kurumda dış dünyaya açık e-ticaret veya kurumsal web sunucuları, iç ağdaki Active Directory ve veritabanı sunucularıyla aynı yerel ağda (LAN) barındırılır. Bir web açığı (SQL Injection, Log4j veya uzaktan kod çalıştırma) üzerinden web sunucusunu ele geçiren bir saldırgan, elini kolunu sallayarak iç ağdaki tüm dosya sunucularına, muhasebe veritabanlarına ve etki alanı denetleyicilerine erişebilir. Bu felaketi önleyen klasik ama tavizsiz savunma hattı DMZ (Demilitarized Zone - Arındırılmış Bölge) ve Sıfır Güven (Zero Trust) mimarisidir.
1. DMZ Mimarisi ve Çift Yönlü Güvenlik Duvarı Kuralı
DMZ, dış dünya (İnternet) ile iç ağ (LAN) arasında konumlanan izole bir ağ tamponudur:
[İNTERNET (Untrusted)]
│
▼ (Yalnızca Port 80 ve 443 Geçebilir!)
[SOPHOS XGS GÜVENLİK DUVARI]
│
▼
[DMZ BÖLGESİ: Web & E-Ticaret Sunucusu (192.168.100.10)]
│
▼ (KATİ KURAL: DMZ'den İç Ağa Doğru YALNIZCA Port 1433 İzni!)
[İÇ AĞ (LAN): MS SQL Veritabanı Sunucusu (10.10.20.50)]
2. Altın Kural: "DMZ'den İç Ağa Asla Doğrudan Oturum Açılamaz!"
En kritik güvenlik ilkesi şudur:
- İzin Verilen: DMZ'deki web sunucusu, iç ağdaki SQL sunucusunun yalnızca TCP 1433 portuna bağlanabilir (Web uygulamasının veri çekmesi için).
- KESİNLİKLE YASAK OLANLAR:
- DMZ'deki sunucu iç ağdaki hiçbir IP'ye ping atamaz (ICMP Drop).
- DMZ'deki sunucu iç ağa RDP (3389), SSH (22), SMB (445) veya RPC oturumu açamaz!
- DMZ'deki sunucu iç ağdaki Active Directory'ye üye yapılamaz (Ayrı bir Workgroup veya izole DMZ Forest olmalıdır).
3. Güvenlik Duvarı Kural Yapılandırması
Kural 1: Web_Inbound
- Source: Any (İnternet) -> Destination: DMZ_Web_Server (192.168.100.10)
- Services: HTTP (80), HTTPS (443) -> ACTION: ALLOW (IPS ve WAF Açık!)
Kural 2: DMZ_to_Database (Katı Kısıtlama)
- Source: DMZ_Web_Server (192.168.100.10) -> Destination: Internal_SQL_Server (10.10.20.50)
- Services: MSSQL (TCP 1433) -> ACTION: ALLOW
Kural 3: DMZ_to_Internal_DenyAll (Çöp Kuralı)
- Source: DMZ_Subnet -> Destination: Internal_LAN
- Services: ANY -> ACTION: DROP & LOG
Karşılaşılan Kritik Hatalar ve Çözüm İpuçları
- DMZ Sunucusundan İç DNS'e İzin Verme Tuzağı: Web sunucusuna iç ağdaki Active Directory DNS sunucusunun IP'sini verirseniz, saldırgan web sunucusunu ele geçirdiğinde DNS üzerinden iç ağdaki tüm sunucu isimlerini keşfeder. Çözüm: DMZ sunucularına doğrudan Cloudflare (
1.1.1.1) veya Google (8.8.8.8) gibi bağımsız genel DNS adresleri tanımlanmalıdır.
Mühendis Notu
Bir web sunucusunu tasarlarken "Bu sunucu yarın hacklenecek" varsayımıyla yola çıkın. Saldırgan web sunucusunun root/admin yetkisini ele geçirse bile, DMZ duvarına çarptığında iç ağdaki hiçbir kritik veriye dokunamadan o izole hücrede hapsolup kalmalıdır.
