Page 70 - bilgem-teknoloji-dergisi-12
P. 70
Bilgi Güvenliği BILGEM
TEKNOLOJI
Oturum anahtarları, uygulamalar la Cookie tarayıcı kapatılsa bile tarayıcının Cookie li bir Cookie için aşağıdaki özelliklerin sağlanması
depolama alanında saklanır ve Expires ile belirtilen
gerekir.
tarafından benzersiz olarak zamandan önce tekrar istek yapılır ise bir önceki Güvenli iletişim (HTTPS) kullanan uygulamalarda
tasarlanıp kullanıcılara atanan Cookie değeri de sunucuya gönderilir. da Secure özelliği aktif edilmelidir.
değerlerdir. Güvenli Oturum Yönetimi Nasıl Olmalıdır? HTTPS üzerinden gelmeyen HTTP üzerinden gel-
Oturum Anahtarı İsmi mesi sebebiyle meydana gelebilecek MITM atakla-
rını engellemek için de ‘HTTP Strict Transport Se-
altına girmesine neden olur. Dolayısıyla Cookie Oturum anahtarının ismi, kullanıcıya herhangi bir curity (HSTS)’ kullanılmalıdır.
oluştururken eğer ihtiyaç yok ise sadece belirtilen bilgi vermemelidir. PHPSESSIONID (PHP), JSESSIO-
domain veya alt domain (subdomain) için Cookie NID (J2EE), CFID ya da CFTOKEN (ColdFusion), ASP. İstemci taraflı scripting dillerine erişimin kapatıl-
kullanımı tercih edilmelidir. NET_SESSIONID (ASP.NET) gibi uygulama geliştirme ması için HttpOnly özelliği aktif edilmelidir.
platformu hakkında bilgi veren oturum anahtarları Gerekmedikçe Persistent Cookie kullanılmamalıdır.
venli taşınması hem de güvenli saklanması için Path özelliği de domain’e benzemektedir. Eğer bulunmaktadır. Bu isimler yerine genel bir ifade ile Bir Cookie’nin sadece belirtilen uygulamalarda
Cookie’ler farklı özel parametreler sunarlar. aynı domain içinde farklı klasörlerde iki uygula- “id” olarak isimlendirilerek kullanılmalıdır. kullanılması için Domain ve Path bilgileri sadece
ma var ise ve Cookie değerlerinin karışmaması uygulamaya özgü bilgiler (uygulamanın çalıştığı
Secure Özelliği için Path =/dashboard-1 ve Path=/dashboard-2 Oturum Anahtarı Boyutu ve Entropisi Domain ve Path) ile doldurulmalıdır.
Genel olarak tarayıcılar Cookie gönderirken özel gibi kullanılması gerekmektedir. Özellikle yönetim Kaba kuvvet saldırılarından kaçınma amaçlı oturum Cookiler her zaman cookie bölümünde taşınmalı-
bir tanımlama yok ise oturum anahtarını http kul- panelleri bu tür yapılarda bulundurulabilir. Bu ne- anahtarı boyutunun yeterli boyutta olması gerek- dır. URL üzerinden taşınması engellenmelidir.
lanarak gönderirler. Bu durum ağ trafiğini dinle- denle yönetim panelleri için kullanılan Cookie de- mektedir. Günümüzde 128 bit uzunluklu anahtar-
yen saldırganlara trafiği açık olarak izleme ola- ğerlerinin ilgili Path’ler için atanması doğru bir yol
nağı tanır. Bu durumun oluşmaması için HTTPS olacaktır. lar yeterli gelmektedir. Oturum anahtarları tahmin Güvenli Olarak Oturum Sonlandırma ve
üzerinden gönderilerek “Secure” özelliği aktif edil- edilebilir yapıda olmamalıdır. Her hangi bir istatis- Zaman Aşımı
melidir. Expires Özelliği tik veya korelasyon ile tespit edilememelidir. Yeterli Uygulamada kullanıcının her hangi bir zamanda
Cookie’de bulunan Expires değeri ile Cookie içeri- karmaşıklıkta olmalıdır. oturumunu sonlandırması Çıkış butonu gibi bir bu-
Httponly Özelliği sinde bulunan değerlerin yaşam süresi belirlenir. ton entegre edilmelidir. Bu butona tıklanması ile
Cookide taşınan bilgiler istemci tarafında Javasc- İstemciler bir internet sayfasına istek gerçekleş- Oturum Anahtarı Değeri oturum anahtarı geçersiz hale getirilmelidir. Bu ön-
ript dili kullanılarak değiştirilebilmektedir. Özel- tirdiğinde belirtilen Domain ve Path için Cookie Oturum anahtarı değeri ve içeriği her hangi bir an-
likle XSS saldırılarında karşılaşılmaktadır. Htt- değerinin olup olmadığına bakar. Eğer ilgili bilgi- lam ve bilgi ifade etmemelidir. Bilgi ifşasına neden leme ek olarak oturum sonlandırma için aşağıdaki
pOnly özelliği aktif edilirse cookilere javascript dili ler için bir Cookie değeri var ise tarayıcı Expires olacak bir değer olmamalıdır. önlemlerden en az birinin uygulamada kullanılması
kullanılarak erişilemez. değerini kontrol eder. Expires değeri istek yapılan gerekmektedir.
zamanın ilerisinde ise Cookie değerini ekleyerek Oturum Anahtarı Üretimi Kullanıcıdan belli bir süre yanıt alınamadığı za-
Cookie oluşturulurken kullanılan domain ilişkili isteği gerçekleştirir. Oturum anahtarları üretilirken, rastgele sayı üreteç- man oturum sonlandırılabilir. HTTP isteklerinin gel-
Cookie bilgisine hangi domainlerden erişim yapı- me durumu dikkate alınır.
labileceğini gösterir. Tarayacılar domain bilgisin- Cookie’ler yaşam süresine göre iki çeşide ayrılır. leri kullanılıp özetleri (hash) alınmalıdır. Her giriş Kullanıcı uygulamaya giriş yaptıktan sonra, her-
de belirtilen kapsamdaki tüm domain’lere, istek- Session Cookie: Herhangi bir Expires veya Max-A- esnasında yeniden üretilmelidir.
ler içinde geçen Cookie bilgisini otomatik olarak ge değeri atanmamış Cookie’lerdir. Bu Cookie’ler hangi bir aktivite olup olmadığına bakmaksızın, bel-
gönderirler. Aynı zamanda alt domain’ler istemci oturum açılınca bellekte tutulur ve tarayıcı kapatı- Güvenli Cookie Oluşturmak li bir toplam süreyi geçince oturum sonlandırılması
taraflı scripting dilleri ile bu Cookie değerine de lınca bellekten silinirler. Cookie’lerin özellikleri yardımı ile oturum anahtarı- yapılabilir.
erişim sağlayabilirler. Eğer Cookie için domain nın güvenliği amaçlanmaktadır. Dolayısıyla güven-
tanımı geniş tutulursa, tüm alt domain’ler atan- Persistent Cookie: Bu tür Cookie’ lerin Expires Güvenli Oturum İçin Ek Tedbirler
mış Cookie değerine erişim yapabilir. Bu durum veya Max-Age değerleri atanmıştır. Dolayısıy- Kullanılan uygulamanın kritikliğine göre bazı hu-
Cookie içinde bulunan oturum anahtarının risk suslarda ek tedbirler alınabilir.
Kullanıcıya IP adresi limitleme seçeneği verile-
Httponly Özelliği bilir. Kullanıcıya sadece belli IP adresleri üzerinden
giriş yapmasına izin verilebilir.
Çift faktörlü doğrulama etkinleştirilebilir. Kullanı-
cı adı ve parolaya ek olarak SMS mesajı gibi doğru-
lamalar kullanılabilir.
Httponly Özelliği Uygulama sunucusundaki tüm iletişimin güvenli
protokol olan HTTPS ile yapılması gerekmektedir.
Kaynakça
- https://docs.microsoft.com/en-us/previous-versions//
ms533046(v=vs.85)?redirectedfrom=MSDN
Expires Özelliği - https://cheatsheetseries.owasp.org/cheatsheets/Session_
Management_Cheat_Sheet.html
- https://www.netsparker.com.tr/blog/web-guvenligi/http-isle-
yisi-ve-guvenligi-acisindan-cookie-ve-session-yonetimi/
68 69