Cross-Site Request Forgery (CSRF) Nedir ve Web Güvenliğinde Nasıl Korunursunuz?

CSRF (Cross-Site Request Forgery) saldırıları, web uygulamaları için büyük bir tehdit oluşturur. Bu yazıda, CSRF'nin ne olduğunu, nasıl işlediğini ve bu tür saldırılardan nasıl korunabileceğimizi keşfedeceksiniz.

BFS

Web güvenliği, her geçen gün daha da kritik bir hale geliyor. İnternetin her alanında etkileşimde bulunurken, en küçük bir güvenlik açığı bile büyük bir felakete yol açabilir. Bugün, web güvenliğinin en karmaşık tehditlerinden biri olan Cross-Site Request Forgery (CSRF) saldırısından bahsedeceğiz. Peki, CSRF nedir ve nasıl korunabilirsiniz?

CSRF Saldırısı Nedir?

CSRF, bir tür web uygulama saldırısıdır. Bu tür saldırılar, kullanıcının bilmeden zararlı bir istek göndermesine neden olur. Web uygulamalarında genellikle oturum açmış bir kullanıcı, belirli bir işlem gerçekleştirebilmek için kimlik doğrulaması yapar. Ancak, CSRF saldırıları, saldırganların kurbanın kimlik doğrulamasını kullanarak, belirli eylemleri gerçekleştirmelerini sağlar. Bu, kullanıcının güvendiği bir siteyi, saldırganın çıkarları doğrultusunda yanlış yönlendirmek anlamına gelir.

Bir CSRF saldırısının temel işleyişi şu şekilde olur: Kullanıcı, bir web sitesine giriş yaptıktan sonra, başka bir kötü amaçlı siteye yönlendirilir. Bu site, kullanıcının oturum bilgilerini ve kimliğini çalarak, aslında güvenli olan bir işlemi yapmaya zorlar. Örneğin, bir bankacılık uygulaması üzerinden para transferi yapmak gibi. Bu işlem, kullanıcının bilgisi dışında gerçekleşir.

CSRF Saldırıları Nasıl Gerçekleşir?

Düşünün ki bir gün sosyal medya hesabınızda oturum açtınız ve bir arkadaşınız size bir link gönderdi. Linki tıkladığınızda, farkında olmadan bir para transferi işlemi gerçekleştirebilecek bir sayfaya yönlendiriliyorsunuz. Buradaki tuzak, CSRF saldırısının tipik bir örneğidir. Bu tür saldırılar genellikle şu şekilde yapılır:

1. Hedef Web Sitesine Oturum Açılması: Kullanıcı, güvenilir bir web sitesine giriş yapar (örneğin, bir banka hesabı).
2. Zararlı Bir Linkin Tıklanması: Saldırgan, kullanıcıyı kötü niyetli bir link ile başka bir web sitesine yönlendirir.
3. Web Sitenin Gizli İşlemi Gerçekleştirmesi: Kullanıcı, başka bir sayfada gezinirken, saldırganın hazırladığı kötü niyetli istek arka planda, kullanıcının güvenli hesabı üzerinden gerçekleştirilir.

Bunlar, CSRF saldırılarının basit ama etkili örnekleridir. Ancak, bunu savunmanın yolları da mevcuttur!

CSRF Saldırılarından Nasıl Korunuruz?

Web güvenliğinde her zaman bir adım önde olmak önemlidir. CSRF saldırılarına karşı korunmak için birkaç etkili yöntem bulunmaktadır. İşte bu konuda alabileceğiniz bazı önlemler:

# 1. Token Kullanımı

En etkili korunma yöntemlerinden biri, her formda benzersiz bir CSRF token kullanmaktır. Bu, her formun içerisinde gizli bir değer olarak bulunur ve kullanıcıdan bağımsız olarak sunucu tarafından oluşturulur. Sunucu, gönderilen isteği bu token ile karşılaştırarak, isteğin geçerli olup olmadığını kontrol eder. Eğer token eşleşmezse, istek reddedilir.


// CSRF token üretimi
session_start();
if(empty($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32)); // Benzersiz token oluştur
}

// Token'i formda gönder
echo '';


# 2. SameSite Cookie Özelliği

Modern tarayıcılar, SameSite çerez özelliği ile CSRF saldırılarına karşı bir başka koruma sağlar. Bu özellik, sadece aynı site içindeki isteklerin geçerli olmasını sağlar ve üçüncü parti sitelerden gelen istekleri engeller. Yani, kullanıcı çerezi sadece kendi web sitesinde kullanabilecektir.


// SameSite cookie kullanım örneği
document.cookie = "key=value; SameSite=Strict; Secure";


# 3. Referer ve Origin Header Kontrolü

Bir başka önlem, her isteğin referer veya origin başlıklarını kontrol etmektir. Bu başlıklar, isteğin hangi kaynaktan geldiğini belirtir. Eğer istek beklenen kaynaktan gelmiyorsa, sunucu isteği reddedebilir.

# 4. Güvenli Formlar ve POST İstekleri

Bazı CSRF saldırıları, sadece GET istekleriyle değil, POST istekleriyle de gerçekleştirilebilir. Bu yüzden, işlemlerinizi POST ile gerçekleştirmek ve form verilerini gizlemek oldukça önemlidir.

CSRF'yi Engellemek İçin En İyi Uygulamalar

- İşlem Başına Benzersiz CSRF Token: Her form için benzersiz token kullanmak.
- SameSite Cookies: Tarayıcıların güvenlik önlemleriyle uyumlu olun.
- Sunucu Tarafı Doğrulama: Her isteği sunucuda yeniden doğrulamak.
- Minimal Yetki Prensibi: Kullanıcıların yalnızca gerekli izinlere sahip olmasını sağlamak.

Sonuç

Web uygulamalarında güvenlik her zaman ön planda olmalıdır. CSRF gibi saldırılar, görünürde basit gibi görünen fakat ciddi tehlikeler taşıyan bir saldırı türüdür. Ancak doğru önlemlerle bu saldırılara karşı korumalıyız. CSRF token kullanmak, SameSite özelliğiyle tarayıcı güvenliğini artırmak ve başlıkları doğru kontrol etmek, sizi bu tür saldırılardan koruyabilir. Web güvenliğini ciddiye alarak, sadece kendi sitenizi değil, kullanıcılarınızı da güvende tutabilirsiniz.

İlgili Yazılar

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

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....

Web Sitenizi Güçlendirmek İçin En İyi 7 WordPress Güvenlik Eklentisi ve Neden Kullanmalısınız?

---Web Sitenizi Güçlendirmek İçin En İyi 7 WordPress Güvenlik Eklentisi ve Neden Kullanmalısınız?Web sitesi yöneticisi olmanın en zorlayıcı yönlerinden biri, site güvenliğini sağlamaktır. Özellikle WordPress gibi popüler platformlarda, sitenizi kötü niyetli...