Cross-Site Request Forgery (CSRF) Nedir ve Nasıl Korunuruz?

Bu yazıda, Cross-Site Request Forgery (CSRF) saldırıları ve bu tür saldırılara karşı alınabilecek önlemler detaylı bir şekilde ele alınmıştır. CSRF'nin nasıl çalıştığı ve korunma yöntemleri hakkında bilgilendirici bir rehber sunulmuştur.

BFS

Web dünyasında her gün yeni güvenlik açıkları ve tehditler ortaya çıkıyor. Bunlardan biri, çoğu zaman gözden kaçan ama son derece tehlikeli olan Cross-Site Request Forgery (CSRF) saldırılarıdır. Bu yazımızda, CSRF nedir, nasıl çalışır ve bu tür saldırılara karşı nasıl korunabileceğimizden bahsedeceğiz.

CSRF Nedir?

Bir sabah, bankanızın sitesine giriş yaptığınızı hayal edin. İşlerinizi hallettiniz, hesap bakiyenizi kontrol ettiniz, belki de bir transfer işlemi yapıyorsunuz. Ama farkında olmadığınız bir şey var. Bilgisayarınızda açık olan başka bir sekme, sizi fark ettirmeden bankanızın sitesine, sizin adınıza bir işlem gönderiyor. Bu işlem, belki de bankanızda bir para transferi yapmayı amaçlayan bir saldırı olabilir. İşte buna Cross-Site Request Forgery (CSRF) denir.

CSRF, kötü niyetli bir kullanıcının, sizin kimlik bilgilerinizi kullanarak, güvenli bir web sitesine sahte istekler göndermesini sağlar. Basitçe söylemek gerekirse, saldırgan, sizin bilginiz olmadan ve sizin tarayıcınızda oturum açmışken, bir web sitesine işlem yapmanızı sağlar. Bu saldırının en tehlikeli yönü, kullanıcının yetkilendirilmiş olduğu bir işlem yapılmasını sağlamasıdır.

CSRF Nasıl Çalışır?

CSRF saldırısının nasıl işlediğini daha iyi anlamak için birkaç adımda örnek bir senaryo üzerinden ilerleyelim:

1. Sahte İstek Gönderimi: Saldırgan, sizin bankanızda oturum açtığınızı bilmektedir. Ancak, bankaya ait hiçbir şüpheli siteye erişimi yoktur. O zaman ne yapar? Sizi, bankanın web sitesindeki bir işlemi (mesela para transferi) gerçekleştirecek şekilde kandıran bir web sayfası tasarlar.

2. Kullanıcıdan Bilgi Almak: Siz, hiç şüphe duymadan saldırganın hazırladığı zararlı sayfaya tıklarsınız. Burada fark etmediğiniz şey, bu sayfa aslında bankanızın web sitesine, sizin adına, bir para transferi işlemi gönderiyor.

3. İşlem Başarıyla Gerçekleşiyor: Sizin banka hesabınızda herhangi bir değişiklik olmadan, saldırgan istediği işlem gerçekleşmiş olur.

Görünüşte basit bir işlem gibi ama oldukça tehlikeli. Özellikle oturum açmış kullanıcılar için büyük risk oluşturur çünkü kullanıcıyı, yetkili olduğu bir işlemde yanıltmak oldukça kolaydır.

CSRF'den Nasıl Korunulur?

Evet, CSRF oldukça tehlikeli olabilir ama iyi haber şu ki, korunmak mümkün. İşte bu tür saldırılardan korunmak için uygulayabileceğiniz bazı yöntemler:

# 1. Token Kullanımı
En yaygın savunma mekanizmalarından biri CSRF token kullanmaktır. Bir web uygulaması, her form gönderimi için rastgele oluşturulmuş bir token ekler. Bu token, sunucu tarafından doğrulanır ve her istekten önce bu token’in doğru olup olmadığı kontrol edilir. Eğer token geçersizse, işlem reddedilir.

Kod Örneği:




# 2. SameSite Çerez Politikası
Web uygulamaları, kullanıcı çerezlerini kullanarak oturum yönetimini sağlar. Ancak, CSRF saldırılarından korunmanın bir diğer yolu, SameSite çerez politikasını etkinleştirmektir. Bu, yalnızca aynı sitelerden gelen talepleri kabul eder ve dışarıdan gelen istekleri engeller.

Kod Örneği:


Set-Cookie: sessionid=abcd1234; SameSite=Strict; Secure


# 3. Referer ve Origin Başlıklarını Kontrol Etme
Sunucular, gelen isteğin kaynağını doğrulamak için Referer veya Origin başlıklarını kontrol edebilir. Eğer bu başlıklar, beklenmedik bir kaynaktan geliyorsa, istek reddedilebilir.

#### 4. Çift Onaylı İşlemler
Özellikle önemli işlemler için, çift onaylı işlemler (double-confirmation) eklemek etkili olabilir. Kullanıcının gerçekleştirmek istediği işlemi, bir onay penceresi veya SMS doğrulaması ile onaylatmak, CSRF saldırılarının etkisini azaltır.

Sonuç

Cross-Site Request Forgery (CSRF) saldırıları, internet kullanıcıları için ciddi bir tehdit oluştursa da, alınacak basit önlemlerle önlenebilir. Web geliştiricileri, token kullanımı, SameSite çerez politikası ve başlık doğrulama gibi önlemleri alarak uygulamalarını güvence altına alabilir. Her zaman dikkatli olmak, kullanıcılar için güvenli bir internet deneyimi sunmanın anahtarıdır.

Unutmayın, bir web geliştiricisi olarak en önemli görevimiz, kullanıcılarımızın güvenliğini sağlamaktır. CSRF gibi saldırılara karşı korunmak, sadece daha güvenli bir site yapmakla kalmaz, aynı zamanda kullanıcılarımızın güvenini kazanmak demektir.

İlgili Yazılar

Benzer konularda diğer yazılarımız

VPN Kullanırken Güvenlik Hatalarından Kaçınmak: En Yaygın Yapılan 7 Hata ve Çözümleri

**İnternette güvenli gezintiyi sağlamak, modern dünyada her geçen gün daha önemli hale geliyor. Hangi cihazı kullanırsanız kullanın, dijital güvenliğinizi korumak, çoğu zaman zor bir görev gibi görünebilir. Ancak **VPN** (Virtual Private Network - Sanal...

Web Güvenliğini Arttırmak İçin 2025'te Kullanılacak 10 Yeni Yöntem

Web güvenliği her geçen yıl daha da önemli bir konu haline geliyor. Özellikle 2025’e yaklaştıkça, hacker’lar sürekli yeni yöntemler geliştirirken, biz de onları durdurmanın yollarını arıyoruz. İnternetin büyümesiyle birlikte, her web sitesi sahibi kendini...

Web Sitesi Güvenliğini Arttırmak İçin 2025'te Kullanılması Gereken En İyi 5 SSL Sertifikası Seçeneği

Web sitesi güvenliği, dijital dünyada birinci öncelik haline geldi. Kullanıcı bilgilerini korumak, marka güvenilirliğini artırmak ve web sitenizin arama motorlarında üst sıralarda yer almasını sağlamak için doğru SSL sertifikasını seçmek çok önemlidir....