İÇİNDEKİLER
-
GİRİŞ
-
Sunucu Taraflı İstek Sahteciliğini (SSRF) Tanıyalım
-
SSRF saldırılarını önlemek için alınabilecek tedbirler
-
DNS Çözümlemesi ile SSRF saldırılarından korunmak
-
Whitelist oluşturma ve SSRF saldırılarını önlemedeki rolü
-
OWASP SSRF yönergeleri ve önerileri
-
SSRF güvenlik açıklarını belirlemeye ve önlemeye yönelik araçlar ve kaynaklar
-
UYGULAMA ÖRNEĞİ – BASIC SSRF
-
SONUÇ
-
KAYNAKÇA
GİRİŞ
Bu makalede, SSRF saldırıları hakkında bilmeniz gerekenleri, web sitenizdeki güvenlik açıklarını nasıl tespit edebileceğinizi, SSRF saldırısının yarattığı etkiden ve bu saldırıyı önlemek için en iyi uygulamalardan bahsedeceğim. Ek olarak, DNS çözümleme ve Whitelist oluşturmanın SSRF güvenlik açıklarını nasıl önleyebileceğini açıklayacağım.
Sunucu Taraflı İstek Sahteciliğini (SSRF) Tanıyalım
SSRF saldırısı nedir?
Server Side Request Forgery yani kısaca SSRF saldırısı, bir saldırganın sunucudan diğer dahili veya harici sunuculara hazırlanmış bir istek göndermesine olanak tanıyan, sunucu tarafında gerçekleştirilen bir saldırıdır. Bu saldırı, güvenlik kontrollerini atlamak ve hassas verilere veya hizmetlere erişmek için kullanılabilir. Saldırgan, yerel dosyalar, ağ hizmetleri veya web uygulamaları gibi erişim yetkisine sahip olmadığı kaynaklara erişmek için isteği manipüle edebilir.
Web sitenizdeki SSRF güvenlik açığı nasıl tespit edilir?
Web sitenizdeki SSRF güvenlik açıklarını tespit etmek zor olabilir. Ancak, bu güvenlik açıklarını belirlemenize yardımcı olabilecek bazı yaygın göstergeler vardır. Web siteniz kullanıcıların URL girmesine izin veriyorsa, web sitesinin SSRF saldırılarına karşı savunmasız olması mümkündür. Bir başka gösterge de web sitesinin diğer sunuculardan veri almak için sunucu tarafında API’leri kullanmasıdır. Yanlış yapılandırılmış veya güvenli olmayan API’ler saldırganlar tarafından SSRF saldırıları başlatmak için suistimal edilebilir.
SSRF saldırısının web siteniz üzerindeki etkisi
Bir SSRF saldırısının etkisi yıkıcı olabilir. Saldırganlar bu saldırıyı, erişime açık olmayan hassas verilere veya hizmetlere erişmek için kullanabilir. Bu durum veri hırsızlığı, veri manipülasyonu ve hatta sistemin tamamen ele geçirilmesi ile sonuçlanabilir. Ayrıca, saldırganlar SSRF saldırılarını güvenlik kontrollerini atlamak ve dahili ağlara veya sunuculara erişmek için kullanabilir, bu da ağın tamamında çok daha fazla saldırıyla sonuçlanabilir.
SSRF saldırılarını önlemek için alınabilecek tedbirler
SSRF saldırılarını önlemek için tekniklerin ve en iyi uygulamaların bir kombinasyonu kullanılmalıdır. SSRF saldırılarını önlemek için izleyebileceğiniz en iyi uygulamaları aşağıda bulabilirsiniz:
- Girdi doğrulama: Özellikle URL’ler ve IP adresleri olmak üzere tüm kullanıcı girdilerini doğrulayın. Kullanıcı girdisinin sterilize edildiğinden ve kullanımının güvenli olduğundan emin olmak için girdi doğrulama kütüphaneleri ve framework’leri kullanın.
- Güvenli API’ler kullanın: Uygun şekilde yapılandırılmış ve kimliği doğrulanmış güvenli API’ler kullanın. Kimlik doğrulama ve yetkilendirme mekanizmalarını kullanarak API’lere erişimi kısıtlayın.
- Bir web uygulaması güvenlik duvarı (WAF) kullanın: Bir WAF, kötü niyetli istekleri ve trafiği engelleyerek web sitenizi SSRF saldırılarından korumaya yardımcı olabilir.
- Yazılımınızı düzenli olarak güncelleyin ve yama yapmayı ihmal etmeyin: Yazılımınızı en son güvenlik yamaları ve güncellemeleri ile güncel tutun. Bu, bilinen güvenlik açıklarının istismar edilmesini önlemeye yardımcı olabilir.
- Kullanıcılarınızı eğitin: Kullanıcılarınızı SSRF saldırılarının riskleri ve bunların nasıl önleneceği konusunda eğitin. Şüpheli etkinlik veya talepleri bildirmeleri için onları teşvik edin.
DNS Çözümlemesi ile SSRF saldırılarından korunmak
DNS çözümlemesi, web sitenizi SSRF saldırılarından korumanın yollarından biridir. DNS çözümlemesi, alan adlarını IP adreslerine dönüştürme işlemidir. Bir kullanıcı tarayıcısına bir URL girdiğinde, tarayıcı alan adını bir IP adresine çevirmek için DNS çözümleyicisine bir istek gönderir. IP adresi elde edildikten sonra, tarayıcı web sunucusuna bağlanabilir ve web sayfasını alabilir.
SSRF saldırısı durumunda saldırgan, isteği amaçlanan sunucu yerine kötü niyetli bir sunucuya göndermek için URL’yi manipüle edebilir. Ancak tarayıcı, DNS çözümlemesini kullanarak isteği göndermeden önce IP adresinin amaçlanan sunucuya ait olduğunu doğrulayabilir. Bu, isteğin kötü niyetli bir sunucuya gönderilmesini önleyebilir ve böylece SSRF saldırısını önleyebilir.
Whitelist oluşturma ve SSRF saldırılarını önlemedeki rolü
Whitelist yani beyaz liste oluşturmak, SSRF saldırılarını önlemenin bir başka yoludur. Beyaz liste oluşturmak, yalnızca yetkili URL’lere veya IP adreslerine erişime izin verme işlemidir. Beyaz liste oluşturarak, web siteniz tarafından yalnızca izin verdiğiniz URL’lere veya IP adreslerine erişilebilmesini sağlayabilirsiniz. Bu, saldırganların yetkisiz kaynaklara erişmesini ve SSRF saldırıları başlatmasını önleyebilir.
Ayrıca, dahili veya hassas kaynaklara erişimi kısıtlamak için beyaz listeyi kullanabilirsiniz. Bu kaynaklara erişimi kısıtlayarak, saldırganların SSRF saldırıları yoluyla bunlara erişmesini önleyebilirsiniz.
OWASP SSRF yönergeleri ve önerileri
Açık Web Uygulaması Güvenlik Projesi (OWASP) SSRF saldırılarını önlemeye yönelik kılavuzlar ve öneriler sunmaktadır. OWASP SSRF Cheat Sheet sayfası, SSRF saldırılarının nasıl önleneceğine dair kapsamlı bir kılavuz sunmaktadır. İlgili sayfada SSRF saldırılarını önlemek için girdi doğrulama, güvenli API’ler ve DNS çözümlemesi kullanımı gibi konular yer almaktadır.
SSRF güvenlik açıklarını belirlemeye ve önlemeye yönelik araçlar ve kaynaklar
SSRF güvenlik açıklarını belirlemenize ve önlemenize yardımcı olabilecek çeşitli araçlar ve kaynaklar vardır. İşte en popüler araç ve kaynaklardan bazıları:
- OWASP ZAP: OWASP ZAP ücretsiz ve açık kaynaklı bir web uygulaması güvenlik tarayıcısıdır. Web sitenizdeki SSRF güvenlik açıklarını belirlemenize yardımcı olabilir.
- Burp Suite: Burp Suite bir web uygulaması güvenlik test aracıdır. Web sitenizdeki SSRF güvenlik açıklarını belirlemek için kullanılabilir.
- Nmap: Nmap bir ağ keşif aracıdır. SSRF saldırılarına karşı savunmasız olabilecek açık portları ve hizmetleri belirlemek için kullanılabilir.
- OWASP SSRF Cheat Sheet: OWASP SSRF Cheat Sheet, SSRF saldırılarının nasıl önleneceğine dair kapsamlı bir kılavuz sunar.
UYGULAMA ÖRNEĞİ – BASIC SSRF
Bu laboratuvar uygulamasında temel bir SSRF güvenlik açığını manipüle edeceğiz. Laboratuvar uygulamasında bir stok takip özelliği mevcuttur. Laboratuvar uygulamasını başarıyla çözmek için, stok takip URL’sini değiştirmemiz ve http://localhost/admin arayüzünden “carlos” adlı kullanıcıyı silmemiz gerekiyor.
Laboratuvar uygulamasına giriş yapıyoruz ve açılan sayfada önümüzdeki ürünlerden herhangi birine tıkladıktan sonra stok takip özelliğini çalıştıran “Check stock” butonuna tıklıyoruz. Laboratuvar uygulamasının bizden ilgili butonun gönderdiği isteği manipüle etmemizi bekliyor.
Bu laboratuvar uygulamasının açık kaynaklı yayınlandığı eğitim ortamı dışında Port Swigger firması Burp Suite programının da arkasındaki isim. Ücretsiz ve paralı versiyonu mevcut. Bu uygulama için ücretsiz versiyonunu kullanarak laboratuvar uygulamasını başarıyla tamamlayabiliriz.
BurpSuite programımızı açıyoruz ve Proxy sekmesine tıklıyoruz. Butona tıkladığımızda giden isteği BurpSuite programı yardımıyla yakalıyoruz ve isteğe sağ tıklayıp “Send to Repeater”a tıklıyoruz.
Giden isteğin ekran görüntüsü aşağıdadır. Ekran görüntüsünün en altında “stockApi” parametresinin bir URL’e istek gönderdiğini fark ediyoruz, manipülasyon yapacağımız kısım da burası.
Repeater sekmesinde laboratuvar uygulamasının bize verdiği bilgileri referans alarak “stockApi” parametresini uygun bir şekilde düzenleyerek “carlos” kullanıcısını isteği gönderiyoruz ve aşağıdaki ekran görüntüsünde sağ tarafta yer alan “Response” ekranında yönetici panelinde bu yaptığımız işlemin yanıtı olarak “302 Found” değerini görüyoruz, demek ki işlem başarılı.
Özetleyecek olursak, sunucular arasında bir güven ilişkisi bulunur. Bu, belirli IP adresleri ve portlar, güvenilir adreslere erişime açık olduğu anlamına geliyor. Örnek üzerinden ilerlersek, localhost adresinden yaptığımız bir post isteğiyle normalde kimlik doğrulaması gerektiren bir işlemi yetkilendirme olmadan gerçekleştirebildik.
SONUÇ
SSRF saldırıları web siteniz ve işletmeniz için yıkıcı olabilir. Ancak SSRF saldırılarının ne olduğunu, güvenlik açıklarının nasıl tespit edileceğini ve bunları önlemeye yönelik en iyi uygulamaları anlayarak web sitenizi bu saldırılardan koruyabilirsiniz. Ayrıca, DNS çözümlemesi ve Whitelist metodlarını kullanarak web sitenize ekstra bir güvenlik katmanı ekleyebilir, SSRF güvenlik açıklarını önleyebilirsiniz. Yazılımınızı düzenli olarak güncellemeyi, kullanıcılarınızı eğitmeyi ve SSRF güvenlik açıklarını belirlemek ve önlemek için araçlar ve kaynaklar kullanmayı unutmayın.
KAYNAKÇA
- OWASP. 03.01.2020. Server Side Request Forgery (SSRF). https://owasp.org/www-community/attacks/ServerSideRequest_Forgery
- OWASP. 28.06.2019. OWASP SSRF Cheat Sheet. https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html
- Acunetix. 03.02.2022. What is Server Side Request Forgery (SSRF) ?. https://www.acunetix.com/blog/web-security-zone/server-side-request-forgery-vulnerability/
- PortSwigger. 01.04.2019. Server Side Request Forgery (SSRF). https://portswigger.net/web-security/ssrf
- Uygulama örneği ekran görüntüleri kaynakları:
- Yasin G. 28.11.2020. SSRF (Server Side Request Forgery) Zafiyeti. 07.06.2023 tarihinde https://yasingll.medium.com/ssrf-server-side-request-forgery-zafiyeti-b43219fb2bf7 adresinden alındı.
- Pytang. 4.10.2021. A’dan Z’ye Server Side Request Forgery [SSRF]. 07.06.2023 tarihinde https://www.turkhackteam.org/konular/adan-zye-server-side-request-forgery-ssrf.1996477/ adresinden alındı.
Cover Photo by pixelcreatures on pixabay
Bu eser Creative Commons Atıf-AynıLisanslaPaylaş 4.0 Uluslararası Lisansı ile lisanslanmıştır.
İntihal kontrolü Duplichecker üzerinden yapılmıştır. Makale %97 oranında özgün içerikten oluşmaktadır.
Professional Linguist with 4 years of experience in translation, offering language services as an independent contractor. Proven track record of delivering high-quality translations in the gaming industry, collaborating with a prominent gaming company for 3 consecutive years. Skilled in English-Turkish language pair, achieving C2 proficiency level with immersive experiences in both academic and professional settings. Completed a year of studies and work in San Francisco, USA, further enhancing language skills and cultural adaptability. Adept in Computer Education and Instructional Technologies, on track to obtain a Bachelor of Education degree from Marmara University. Demonstrated proficiency in German at A2 level, with certifications from the Goethe Institute for completion of A1 and A2 levels.