Server Cookie Name
Server Cookie Name Koşulu Nedir?
Server Cookie Name koşulu, Kurum Servisinden dönen HTTP yanıtındaki Set-Cookie başlığını kontrol ederek trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
Çerezler (Cookie), istemci (tarayıcı) ile sunucu arasında durum (state) bilgisini saklamak ve taşımak için kullanılan küçük veri parçacıklarıdır. HTTP stateless olduğu için, oturum ve kullanıcı takibi cookie'ler ile sağlanır.
Sunucu, bu cookie'yi:
- Oturum takibi,
- Kimlik doğrulama,
- Yetkilendirme,
- Güvenlik kontrolleri için kullanır.
Nasıl Oluşur?
Sunucu response header'ında Set-Cookie gönderir:
Set-Cookie: session_id=abc123; Path=/; HttpOnly; SecureTarayıcı:
Cookie'yi saklar, aynı domain/path için yapılan bir sonraki istekte otomatik olarak geri gönderir.
Cookie: session_id=abc123Set-Cookie: session_id=new123; Path=/; HttpOnly
Set-Cookie: tracking=abc; Domain=.example.com
Bu koşul yalnızca yanıt (response) aşamasında değerlendirilebilir.
WARNING
Server Cookie Name koşulu yalnızca Response aşamasında çalışır. Kurum Servisi yanıt vermeden önce bu koşul değerlendirilemez.
Server Cookie Name Koşulunun Önemi
Kurum Servislerinin gönderdiği çerezler, oturum oluşturma, yetkilendirme ve durum yönetimi için kritik öneme sahiptir.
Server Cookie Name koşulu sayesinde;
- Backend'in oturum oluşturup oluşturmadığı kontrol edilebilir,
- Belirli çerez değerlerine göre caching stratejileri uygulanabilir,
- Çerez bazlı yönlendirme kararları alınabilir,
- Çerez manipülasyonu için koşullar tanımlanabilir.
Server Cookie vs User Cookie:
| Kriter | Server Cookie | User Cookie |
|---|---|---|
| Yön | Yanıt (Response) | İstek (Request) |
| Başlık | Set-Cookie | Cookie |
| Kullanım | Sunucu → İstemci | İstemci → Sunucu |
| Değerlendirme | Yalnız Response aşaması | Request + Response aşaması (değer istekten okunur) |
Kullanılabildiği vService Tipleri
Nasıl Eklenir?
Yeni bir Server Cookie Name Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Conditions → Add adımları takip edilir.
- Criteria olarak Server cookie name seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Server Cookie Name Koşulu Ekleme Formu
Server Cookie Name Koşulu Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden Server cookie name seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Cookie Name Zorunlu
Kontrol edilecek sunucu çerezinin adı bu alana girilir.
Yaygın Sunucu Çerezi Örnekleri:
| Çerez Adı | Tipik Kullanım |
|---|---|
session_id | Yeni oturum oluşturma |
JSESSIONID | Java oturum başlatma |
auth_token | Kimlik doğrulama token |
csrf_token | CSRF koruması |
server_id | Sticky session |
INFO
Content Matching Method Varsayılan: Exact match
İçeriğin nasıl eşleştirileceğini belirler. Alan, formda etiketsiz bir açılır liste olarak Criteria'nın hemen altında görünür ve Exact match seçili açılır.
| Seçenek | Kod | Açıklama |
|---|---|---|
| Exact match | exactMatch | Değer birebir eşleşmelidir. |
| Start | start | Değer belirtilen metinle başlamalıdır. |
| End | end | Değer belirtilen metinle bitmelidir. |
| Includes | sub | Değer belirtilen metni içermelidir. |
| Regex | regex | Değer düzenli ifadeyle eşleşmelidir. |
| Is present | found | Yalnızca varlık kontrolü sağlanır. (değer önemli değil) |
TIP
Is present seçildiğinde, sunucunun bu çerezi gönderip göndermediği kontrol edilir; değeri önemli değildir. Bu seçimde Query ve Case Insensitive alanları gizlenir.
Örnek: Backend'in yeni oturum oluşturup oluşturmadığının tespiti.
INFO
Case Insensitive Varsayılan: Kapalı
Büyük/küçük harf duyarlılığını kontrol eder.
- Aktif:
example,EXAMPLE,Exampleaynı kabul edilir - Aktif Değil: Tam eşleşme gerekir (varsayılan)
INFO
Query Zorunlu
Eşleştirilecek olan değer bu alana girilir. Seçilen eşleştirme yöntemine göre:
- Exact match: Değerin birebir karşılığını kontrol eder.
- Start: Aranacak metin parçasının başlangıcını kontrol eder.
- End: Aranacak metin parçasının bitişini kontrol eder.
- Includes: Aranacak metin parçasının içinde geçme durumunu kontrol eder.
- Regex: Düzenli ifade deseni (Regex) ile kontrol eder.
Is present seçildiğinde bu alan gizlenir.
Örnek Değerler:
server1: Belirli sunucu ID kontrolü^[a-zA-Z0-9]{32}$: Session ID format regextrue: Boolean değer kontrolü
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir.
TIP
Eşleştirme, çerezin değeri üzerinde yapılır: Cookie Name yalnızca hangi çerezin okunacağını seçer, Query ise o çerezin değerini karşılaştırır. Sunucu çerezinin değeri, aksiyonlarda Cevap Çerez bilgisi akıllı değişkeniyle, çerez adı verilerek de kullanılabilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Yeni Oturum Tespiti. Backend'in yeni oturum oluşturup oluşturmadığını tespit etmek için Is present kullanın.
- Sticky Session Doğrulama. Sunucu ID çerezlerini kontrol ederek sticky session'ın doğru çalıştığını doğrulayın.
- Response Aşamasında Kullanın. Bu koşul yalnızca response aşamasında çalışır. Request aşamasında kullanılamaz.
- Set-Cookie Attributes'a Dikkat.
Set-CookiebaşlığıPath,Domain,Secure,HttpOnlygibi nitelikler de içerir; ancak eşleştirme yalnızca çerezin değeri üzerinde yapılır: nitelikler karşılaştırmaya dahil edilmez.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Yeni Oturum Oluşturma Tespiti
Kullanım Amacı: Kurum Servisinin yeni oturum başlatıp başlatmadığını tespit edip cache bypass ve güvenlik önlemleri uygulamak.
Konfigürasyon: Cookie name → session_id · Content Matching Method → Is present
Aksiyon Önerileri:
- ✅ Cookie Encryption → Session cookie şifrelenir, oturum güvenliği artırılır.
- ✅ HTTP Cookie Security →
HttpOnly,Secure,SameSiteattribute'ları eklenir, XSS ve CSRF koruması sağlanır.
Senaryo 2: Kimlik Doğrulama Token Format Doğrulaması
Kullanım Amacı: Kurum Servisinin gönderdiği auth token formatını doğrulamak ve hatalı token'ları temizlemek.
Konfigürasyon: Cookie name → auth_token · Content Matching Method → Regex · Query → ^[a-f0-9]{64}$
Aksiyon Önerileri:
- ✅ Delete HTTP Header → Hatalı format token'ı içeren
Set-Cookieheader'ı kaldırılır, güvenlik sağlanır. - ✅ Manage HTTP Security Headers →
X-Token-Invalid: trueheader eklenir, Kurum Servisi uyarılır.
Senaryo 3: CSRF Token Tespiti ve Güvenlik
Kullanım Amacı: Kurum Servisinin CSRF koruması için token gönderip göndermediğini kontrol etmek ve güvenlik header'ları eklemek.
Konfigürasyon: Cookie name → csrf_token · Content Matching Method → Is present
Aksiyon Önerileri:
- ✅ Manage HTTP Security Headers →
X-CSRF-Protected: trueveX-Frame-Options: SAMEORIGINheader'ları eklenir. - ✅ CORS → CSRF korumalı response'larda CORS header'ları düzenlenir, cross-origin güvenliği sağlanır.
- ✅ Add HTTP Header →
X-Content-Type-Options: nosniffheader eklenir, ek güvenlik sağlanır.
Senaryo 4: Remember Me Cookie Güvenliği
Kullanım Amacı: Persistent login çerezini tespit edip güvenlik attribute'larını düzenlemek ve metrikleri izlemek.
Konfigürasyon: Cookie name → remember_me · Content Matching Method → Is present
Aksiyon Önerileri:
- ✅ Set HTTP Header → Remember me cookie'sine
Max-Age=2592000(30 gün) veSecureattribute'ları eklenir. - ✅ HTTP Cookie Security →
HttpOnlyveSameSite=Strictattribute'ları eklenir, uzun süreli oturum güvenliği sağlanır.
