Güvenli cookie ayarları nelerdir? Session hijacking nasıl önlenir?

Cevap

Session hijacking, saldırganın kullanıcının oturum kimliğini (session ID / token) ele geçirip onun yerine istek atmasıdır. Kimlik genelde cookie'de taşındığı için cookie ayarları kritiktir.

Set-Cookie: sid=abc123; HttpOnly; Secure; SameSite=Lax; Path=/; Max-Age=3600
BayrakNe yapar?Neye karşı korur?
HttpOnlyJavaScript document.cookie ile okuyamazXSS ile token çalınması
SecureYalnızca HTTPS üzerinden gönderilirAğ dinleme (MITM)
SameSite=Lax/StrictSiteler arası isteklerde cookie gönderimini kısıtlarCSRF
Max-Age / ExpiresÖmrü sınırlarUzun süre geçerli çalıntı oturum
__Host- önekiSecure, Path=/ ve Domain'siz olmayı zorunlu kılarAlt alan adından cookie ezme

Diğer önlemler

  • Girişten sonra session ID yenileme: session fixation saldırısını önler.
  • Kısa ömürlü oturum + kullanıcı hareketsizliğinde zaman aşımı.
  • Çıkışta sunucu tarafında oturumu gerçekten geçersiz kılma.
  • Şifre değişince tüm oturumları sonlandırma.
  • Session ID tahmin edilemez olmalı (kriptografik rastgele, en az 128 bit).
  • Şüpheli değişikliklerde (ülke, cihaz) yeniden doğrulama istemek.

Token'ı localStorage'da tutmak XSS durumunda doğrudan okunabilmesi anlamına gelir; HttpOnly cookie bu açıdan daha güvenlidir.

  1. CORS nedir? Neden CORS hatası alırız?OrtaWeb GüvenliğiFull Stack
  2. XSS ve CSRF saldırıları nedir, nasıl korunulur?ZorWeb GüvenliğiFull Stack
  3. Authentication ile authorization arasındaki fark nedir?KolayWeb GüvenliğiFull Stack
  4. Content Security Policy (CSP) nedir ve nasıl yapılandırılır?ZorWeb GüvenliğiFull Stack
  5. OWASP Top 10 nedir? En önemli maddelerini özetleyin.OrtaWeb GüvenliğiFull Stack
  6. Parolalar veritabanında nasıl saklanmalıdır? bcrypt ve Argon2 neden tercih edilir?OrtaWeb GüvenliğiFull Stack

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle