Secure, HttpOnly ve SameSite cookie attribute'ları nedir?
Kısa cevap
Cookie attribute'ları, Set-Cookie header'ında cookie değerinin yanına eklenen ve tarayıcının cookie'yi nasıl kullanacağını belirleyen işaretlerdir. Secure, cookie'nin yalnızca HTTPS bağlantılarında gönderilmesini sağlar. HttpOnly, sayfadaki JavaScript'in cookie'yi okumasını engeller; XSS ile session cookie'sinin çalınmasını zorlaştırır. SameSite, cookie'nin başka bir siteden başlatılan isteklerde gönderilip gönderilmeyeceğini belirler (Strict, Lax, None); Strict CSRF'i sınırlar. TR7'de HTTP Cookie Security aksiyonunun Cookie Security Options alanında Mark as Secure, Mark as HttpOnly ve Mark as SameSite=Strict seçilir; seçilen attribute'lar vService'in gönderdiği yanıtlardaki bütün Set-Cookie header'larına eklenir; TR7'nin kendi eklediği cookie'ler de buna dahildir. TR7'nin kendi ürettiği Session Affinity Manager (SAM) cookie'sinin attribute'ları ayrıca vService'teki Security Flags alanında seçilir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Actions (Policy Actions) → HTTP Cookie Security aksiyonu | Cookie Security Options: Mark as Secure, Mark as HttpOnly, Mark as SameSite=Strict (en az biri seçilir) | Yanıtlardaki bütün cookie'lere (TR7'nin eklediği cookie'ler dahil) attribute ekleme; yalnızca HTTP vService'te ve yanıt aşamasında çalışır |
| Load Balancer → Load Balancer vService List → HTTP vService formu → Persistence: Session Affinity Manager (SAM) | Security Flags: HttpOnly, Secure (HTTPS only), SameSite=Strict, SameSite=Lax (formda HttpOnly ve Secure (HTTPS only) işaretli gelir) | TR7'nin ürettiği SAM cookie'sinin attribute'ları; yalnızca Cookie Source = TR7 Generates iken uygulanır |
Attribute'lar ve TR7'deki Uygulanışı
| Attribute | Etkisi | Korunduğu risk | HTTP Cookie Security aksiyonunda |
|---|---|---|---|
| Secure | Cookie yalnızca HTTPS'te gönderilir | Şifresiz bağlantıda cookie'nin okunması | Yalnızca HTTPS üzerinden gelen isteklerin yanıtlarına eklenir; header satırında secure geçiyorsa eklenmez |
| HttpOnly | JavaScript cookie'yi okuyamaz | XSS ile session çalma | Header satırında httponly geçiyorsa eklenmez |
| SameSite=Strict | Cookie yalnızca aynı siteden başlatılan isteklerde gönderilir | CSRF | Mevcut SameSite değeri (Lax, None) kaldırılır, yerine Strict yazılır |
Attribute'ların tanımı RFC 6265 · Set-Cookie bölümündedir. Aksiyonun kurulumu: Cookie'lere Secure, HttpOnly, SameSite özelliklerini otomatik ekleyebilir miyim?
Sık Karıştırılan Noktalar
- "Secure cookie'yi şifreler." Secure yalnızca cookie'nin şifresiz bağlantıda gönderilmesini engeller; değer tarayıcıda okunabilir kalır. Değeri şifrelemek için Cookie Encryption aksiyonu kullanılır.
- "HTTP cookie security aksiyonu SameSite için Lax da ekleyebilir." Aksiyon yalnızca SameSite=Strict yazar ve cookie'deki mevcut SameSite değerini Strict ile değiştirir. Başka siteden gelen bağlantılarla açılan sayfalarda ya da SSO akışlarında cookie'nin gönderilmesi gerekiyorsa bu seçenek işaretlenmez.
- "Aksiyon yalnızca Kurum Servisinin cookie'lerini etkiler." Aksiyon, yanıt TR7'den çıkmadan hemen önce çalışır; TR7'nin kendi eklediği cookie'ler (SAM ve persistence cookie'si, CAPTCHA cookie'si) de kapsanır. SAM cookie'sinin attribute'ları vService'teki Security Flags alanından seçilir; SameSite=Lax yalnızca bu alanda bulunur, ancak aynı vService'te Mark as SameSite=Strict seçiliyse bu değer de Strict ile değiştirilir.
Dokümantasyonda nasıl yapılır
