- Katılım
- 21 May 2023
- Mesajlar
- 752
- Tepki
- 17
- Puan
- 18
Bir siteye giriş yaptıktan sonra sayfalar arasında gezerken neden tekrar tekrar parola sorulmuyor? Yanıt oturum kavramında; ama bunun için protokolün doğal bir eksiğinin telafi edilmesi gerekiyor.
Aşağıda oturumun sözlükteki tanımını, HTTP'nin durum tutmayan yapısını, bu eksiğin nasıl kapatıldığını ve bu yöntemin bilinen zayıflıklarını iki standart kaynağa bakarak topluyoruz.
Oturum ne anlama geliyor?
IETF'in güvenlik terimleri sözlüğü kavramı iki açıdan tanımlıyor.
Birincisi zaman açısından: genellikle bir oturum açmayla başlayan ve kullanıcının bir bilgisayar sistemine eriştiği kesintisiz zaman aralığı.
İkincisi etkinlik açısından: bilgisayar kullanım süresi boyunca kullanıcı tarafından ya da kullanıcı için gerçekleştirilen işlemler veya diğer bilgisayar etkinlikleri kümesi.
İki tanım birlikte okunduğunda oturumun iki bileşeni netleşiyor: bir zaman aralığı ve o aralıkta yapılan işler.
- Başlangıç: Genellikle oturum açma.
- Süre: Kesintisiz bir zaman aralığı.
- İçerik: O sürede yapılan işlemler.
Protokolde neden sorun oluyor?
Web tarafında oturumu zorlaştıran bir tasarım tercihi var. RFC 6265, HTTP'yi "büyük ölçüde durum tutmayan" bir protokol olarak niteliyor.
Bunun anlamı, her isteğin kendi başına değerlendirilmesi. Sunucu, bir isteği daha önce gelen istekle kendiliğinden ilişkilendirmiyor.
Belge çözümü de tanımlıyor: bu belge HTTP Cookie ve Set-Cookie başlık alanlarını tanımlıyor ve bu alanlar, sunucuların kullanıcı aracılarında durum saklamasına imkân veriyor.
Saklanan bu duruma çerez deniyor ve amaç yazılı: sunucuların, büyük ölçüde durum tutmayan HTTP üzerinde durumlu bir oturum sürdürebilmesi.
Püf nokta' Alıntı:Oturumu mümkün kılan şey sunucunun hafızası değil; tarayıcıda tutulan ve her istekte geri gönderilen küçük bir durum bilgisi.
Yöntemin bilinen zayıflığı
Belge mekanizmayı överken bırakmıyor; açık bir uyarı ekliyor.
Metne göre çerezlerin, güvenliklerini ve gizliliklerini zayıflatan birçok tarihsel kusuru bulunuyor.
Yine de aynı cümlede gerçek durum kabul ediliyor: Cookie ve Set-Cookie başlık alanları internette yaygın biçimde kullanılıyor.
Bu ikili değerlendirme, oturum yönetiminde neden ek önlemlerin gerektiğini de açıklıyor. Mekanizmanın kendisi kimlik doğrulaması sağlamıyor; yalnız durumu taşıyor.
Oturum ile kimlik doğrulama aynı şey değil
Durum taşımak, karşı tarafın kim olduğunu doğrulamıyor. Kimlik doğrulama girişte bir kez yapılıyor; oturum ise o doğrulamanın sonucunu sonraki isteklere taşıyor.
Bu ayrım, güvenlik önlemlerinin nereye konacağını da belirliyor. Parola politikası girişi korurken, oturum yönetimi girişten sonrasını koruyor.
İkisinin arasındaki boşluk da burada ortaya çıkıyor: doğrulama ne kadar güçlü olursa olsun, taşınan durum bilgisi ele geçirilirse aynı yetkiler kullanılabiliyor.
Belirtimin çerezlerin tarihsel kusurlarına dair uyarısı tam bu boşluğa işaret ediyor.
Oturum ne zaman biter?
Sözlüğün tanımındaki "kesintisiz zaman aralığı" ifadesi, oturumun bir sonu olduğunu da söylüyor.
Bitişin iki yolu var. Kullanıcı oturumu kendisi kapatıyor ya da süre dolduğu için sistem sonlandırıyor.
Süre sınırının varlığı güvenlik açısından belirleyici: açık kalan bir oturum, cihaza erişebilen başka birinin aynı yetkilerle işlem yapabilmesi anlamına geliyor.
Aynı sebeple ortak kullanılan cihazlarda oturumun kapatılması, parola gücünden bağımsız bir koruma sağlıyor.
Sunucu tarafında ne tutuluyor?
Tarayıcıda taşınan bilgi genellikle kısa bir tanımlayıcı oluyor; asıl veri sunucuda, o tanımlayıcıyla eşleşen bir kayıtta duruyor.
Bu tercih iki fayda sağlıyor. Birincisi boyut: her istekte taşınan bilgi küçük kalıyor. İkincisi denetim: sunucu, kaydı silerek oturumu tek taraflı sonlandırabiliyor.
Alternatif yaklaşımda bilginin kendisi tarayıcıda taşınıyor. Bu durumda sunucunun kayıt tutması gerekmiyor ama iptal etmek de zorlaşıyor.
Hangi yaklaşımın seçildiği, "çıkış yaptım ama hâlâ giriş yapmış görünüyorum" gibi durumların sebebini de açıklıyor.
Uygulamada nelere dikkat ediliyor?
Birincisi kapsam. Durum bilgisinin hangi alan adı ve hangi yol için geçerli olduğu belirleniyor; gereğinden geniş bir kapsam, bilgiyi gereksiz yere fazla isteğe taşıyor.
İkincisi süre. Kalıcı bir durum bilgisi ile tarayıcı kapandığında silinen bir bilgi farklı riskler taşıyor.
Üçüncüsü taşıma. Durum bilgisi düz metin bir bağlantı üzerinden gidiyorsa, aradaki bir taraf onu görebiliyor.
Tarayıcıda hangi bilginin saklandığını çerez yazımızda, bağlantının güvenli tutulmasını HSTS yazımızda ele almıştık.
İkinci bir doğrulama katmanının ne kazandırdığını ise iki faktörlü doğrulama yazımızda anlatmıştık.
Sık Sorulan Sorular
Oturum ne demek?
Genellikle oturum açmayla başlayan kesintisiz zaman aralığı ve o sürede yapılan işlemler kümesi.
HTTP neden oturum tutmuyor?
Belirtim protokolü büyük ölçüde durum tutmayan olarak niteliyor; her istek kendi başına değerlendiriliyor.
Durum nasıl taşınıyor?
Sunucunun kullanıcı aracısında sakladığı ve çerez denen durum bilgisiyle.
Çerez güvenli mi?
Belge, güvenliği ve gizliliği zayıflatan birçok tarihsel kusur bulunduğunu belirtiyor.
Oturumu kapatmak neden önemli?
Açık kalan oturum, cihaza erişen başka birinin aynı yetkilerle işlem yapabilmesi anlamına geliyor.
Özetle
Oturum, bir zaman aralığı ile o aralıkta yapılan işlemlerin bütünü. HTTP büyük ölçüde durum tutmadığı için bu süreklilik, tarayıcıda saklanan ve her istekte geri gönderilen durum bilgisiyle sağlanıyor. Belirtim mekanizmanın yaygınlığını kabul ederken güvenlik ve gizlilik açısından tarihsel kusurlarını da açıkça yazıyor.
Ortak kullanılan bir cihazda son oturumunuzu kapattınız mı?
Güncelleme: 3 Eylül 2026. RFC 4949 ve RFC 6265 (HTTP State Management Mechanism) kontrol edildi.
Dijital Dünyanıza Yön Veren Pusula