SSRF nedir?
SSRF (Server-Side Request Forgery), saldırganın bir sunucu uygulamasını kendi seçtiği adreslere istek göndermeye zorlayabildiği açıktır. İstek sunucunun kendisinden çıktığı için, dışarıdan erişilemeyen iç ağ kaynaklarına ulaşılabilir.
Açık, uygulamanın kullanıcıdan aldığı bir adresi (URL) doğrulamadan getirmesinden doğar. Görsel indirme, web kancası (webhook), URL önizleme ve içe aktarma özellikleri tipik zeminlerdir.
Nasıl çalışır?
Saldırgan, uygulamaya bir iç adres verir: örneğin yalnızca sunucudan erişilebilen bir yönetim arayüzü veya yerel bir servis. Uygulama bu isteği kendi ağ konumundan yapar ve yanıtı döndürebilir ya da işleyebilir. Böylece güvenlik duvarının arkasındaki servisler keşfedilebilir.
Bulut ortamlarında sorun daha da kritik olabilir; çünkü sunucuya özel meta veri servisleri, geçici kimlik bilgilerini barındırabilir ve yalnızca yerel olarak erişilebilir.
Sunucu ve hosting ortamında
Uygulamanın localhost’ta dinleyen servisleri (veritabanı yönetim araçları, önbellek, izleme arayüzleri) kimlik doğrulaması olmadan çalışıyorsa, SSRF bunlara ulaşmak için kullanılabilir. Bulut veya VPS ortamında meta veri uç noktasına yapılan istekler özellikle engellenmelidir.
- İç servisleri yalnızca gerekli arayüzlere bağlayın ve kimlik doğrulaması ekleyin.
- Giden bağlantılar için güvenlik duvarı kuralları tanımlayın.
Nasıl korunulur?
- Kullanıcıdan alınan adresleri izin listesiyle (belirli alan adları) sınırlayın.