Konuyu Açan
#1
Birden fazla proxy katmanının arkasındaki uygulamalarda WAF’ın hangi IP’yi “istemci” kabul ettiğini netleştirmek beklediğimden daha fazla uğraştırdı. Özellikle hız sınırlama ve IP bazlı kurallarda, yanlış adresi esas almak hem gerçek kullanıcıları etkileyebiliyor hem de kuralları kolayca aşılabilir hâle getirebiliyor.
Benim anladığım temel noktalar şöyle:
Bir de WAF loglarıyla uygulama loglarında görünen istemci IP’si farklıysa, olay incelemesi epey karışabiliyor. Siz bu zincirde gerçek istemci IP’sini nerede belirliyorsunuz: WAF’ta mı, yük dengeleyicide mi, uygulama katmanında mı? Hangi ayar veya test yöntemi güven sınırını doğrulamada işinize yaradı?
Benim anladığım temel noktalar şöyle:
- Uygulama, gelen her değerine doğrudan güvenmemeli. İstek, yalnızca tanımlı ve güvenilir proxy’lerden geldiyse ilgili başlıklar dikkate alınmalı; aksi hâlde istemci bu başlığı kendisi gönderip yanıltıcı bir IP yazabilir.KOD
1
X-Forwarded-For - Mümkünse origin sunucuya doğrudan erişim kapatılmalı. Yoksa saldırgan WAF’ı atlayarak uygulamaya ulaşabilir ve proxy’nin eklediği başlıklarla aynı güven sınırına tabi olmayan bir istek gönderebilir.
- Birden fazla proxy varsa başlıktaki IP zincirinin hangi yönden okunacağı, her katmanın başlığı ekleme mi yoksa üzerine yazma mı yaptığıyla birlikte doğrulanmalı. IPv6 ve NAT kullanan istemcilerde IP’ye dayalı kısıtların yan etkileri de düşünülmeli.
Bir de WAF loglarıyla uygulama loglarında görünen istemci IP’si farklıysa, olay incelemesi epey karışabiliyor. Siz bu zincirde gerçek istemci IP’sini nerede belirliyorsunuz: WAF’ta mı, yük dengeleyicide mi, uygulama katmanında mı? Hangi ayar veya test yöntemi güven sınırını doğrulamada işinize yaradı?