Sessiya Nədir?
Sessiya,istifadəçinin vebsayt və ya veb tətbiqi ilə qarşılıqlı əlaqəsi zamanı məlumatlarını saxlamaq üsuluna deyilir . İstifadəçi vebsayta daxil olduqda, server həmin istifadəçi üçün sessiya yarada bilər. Bundan əlavə, sessiya serverə istifadəçinin giriş statusu, üstünlükləri və formalara daxil edilmiş hər hansı məlumat kimi məlumatları izləməyə imkan verir.Bir istifadəçi veb-sayta daxil olduqda server adətən sessiya başlayır.
Hər bir istifadəçi üçün fərdi təcrübə təmin etmək üçün sessiyalardan istifadə edə bilərik. Biz istifadəçinin adını və üstünlüklərini saytın hər yerində göstərə bilərik. Bundan əlavə, veb-sayt istifadəçinin səhifələri arasında alış-veriş səbətinin məzmununu yadda saxlamaq üçün sessiyalardan istifadə edə bilər.
Sessiya idarəetməsi nədir və məqsədi
Sessiyanın idarə edilməsi istifadəçi ilə bəzi xidmət və ya proqramlar arasında təhlükəsiz qarşılıqlı əlaqəni asanlaşdırmaq üçün istifadə olunur. İstifadəçinin veb tətbiqi ilə davam edən sessiyası olduqda, onlar öz sessiyaları çərçivəsində sorğular göndərirlər və çox vaxt potensial olaraq həssas məlumatları təqdim edirlər. Tətbiq bu məlumatı saxlaya və yaxud çoxsaylı sorğular üzrə sessiya zamanı istifadəçinin statusunu izləyə bilər..
Tətbiq və onun bütün istifadəçiləri arasında mübadilə edilən HTTP trafikində hər sorğu eyni sessiyayla əlaqəli olsa belə, müstəqil şəkildə işlənir.Bunun üçün sessiya tokenləri işlədilir Beləliklə, sessiyanın idarə edilməsi qarşılıqlı əlaqəni idarə etmək üçün çox vacibdir və tokenlər istifadəçi ilə veb tətbiqi arasında irəli və geri ötürüldükləri üçün həyati əhəmiyyət kəsb edir. Hər bir sorğu və verilən cavab proqrama ondan istifadə edən müştəri haqqında fərqli məlumatları yadda saxlamağa imkan verən sessiya tokeninə sahib olacaq.
Sessiyaların idarə edilməsinin əsas komponentləri
1.Sessiyanın yaradılması: İstifadəçi veb proqrama daxil olaraq sessiyaya başladıqda həmin istifadəçi üçün unikal sessiya ID-si yaradılır. Bu ID istifadəçinin sessiya ilə qarşılıqlı əlaqəsini müəyyənləşdirir və əlaqələndirir.
2.Sessiyanın İzlənməsi : Server hər bir sessiya ID-sini müvafiq istifadəçi məlumatları ilə əlaqələndirərək aktiv seansları izləyir. Bu məlumatlar verilənlər bazası və ya yaddaş keşi kimi server tərəfində saxlanıla bilər.
3.Sessiya Taymout : Sessiyaların qeyri-aktiv seansların avtomatik dayandırılmasını təmin etmək üçün əvvəlcədən müəyyən edilmiş fasilə müddəti var. Sessiya bitdikdə istifadəçi yeni sessiya yaratmaq üçün yenidən daxil olmalıdır.
.4.Sessiyanın dayandırılması: İstifadəçilər proqramdan çıxmaqla öz sessiyalarını əl ilə dayandıra bilərlər. Sessiya dayandırıldıqda, bütün əlaqəli sessiya məlumatları silinir və sessiya ID-si etibarsız olur.
5.Sessiya Təhlükəsizliyi: Sessiya idarəetmə sistemləri sessiyanın qaçırılması və ya fiksasiya hücumlarından və icazəsiz girişdən qorumaq üçün təhlükəsizlik tədbirlərindən istifadə edir.
Sessiya İdarəetmə komponentləri
1.Sessiya identifikatorları (IDs)- Sessiya identifikatorları (session identifiers) və ya sessiya ID-ləri, istifadəçilərin veb saytlarla əlaqəsini izləmək və idarə etmək üçün istifadə edilən unikal məlumatlar toplusudur. Hər dəfə bir istifadəçi veb sayta daxil olduqda və ya müəyyən əməliyyatlar etdikdə, server həmin istifadəçini tanımaq və sessiyanı davam etdirmək üçün sessiya identifikatorundan istifadə edir. Sessiya identifikatorları adətən kukilər vasitəsilə brauzerdə saxlanılır və hər sorğuda serverə göndərilir.
Sessiya identifikatorları, istifadəçilərin müəyyən müddət ərzində saytda etdiyi hərəkətləri izləmək üçün istifadə edilir. Bu, istifadəçinin giriş məlumatlarını, alış-veriş səbətini və digər vəziyyət məlumatlarını saxlamaq üçün vacibdir.Nümunə olaraq istifadəçinin onlayn mağazaya daxil olub səbətinə məhsul əlavə etməsini deyə bilərik. Sessiya identifikatoru vasitəsilə server həmin istifadəçinin səbətində nə olduğunu “yadda saxlayır” və istifadəçi saytdan çıxdıqdan sonra belə həmin məlumatları geri çağırmaq mümkün olur.Sessiya identifikatorları unikal olmalıdır və hər bir istifadəçiyə xüsusi olaraq təyin edilməlidir ki, istifadəçilərin məlumatları qarışdırılmasın və təhlükəsizlik təmin edilsin.
2.Sessiya kukiləri (cookies): Sessiya kukiləri bir seans üçün davam edən kukilərdir . Sessiya kukiləri müvəqqəti yaddaş yerində saxlanılan və sessiya bitdikdən sonra silinən məlumatları ehtiva edir. Digər kukilərdən fərqli olaraq, sessiya kukiləri heç vaxt cihazınızda saxlanmır. Buna görə də onlar keçici kukilər, davamlı olmayan kukilər və ya müvəqqəti kukilər kimi də tanınırlar. Sessiya kukisi kukini yaradandan başqa heç bir maşına ötürülə bilməyən serverə xas kukidir. Server müvəqqəti olaraq sessiya kukisini saxlayan təsadüfi yaradılan nömrə olan “ sessiya identifikatoru ” yaradır. Bu kuki istifadəçinin girişi kimi məlumatları saxlayır və istifadəçinin veb-sayt daxilində hərəkətlərini izləyir.
Veb saytın özü istifadəçinin veb səhifəsində hərəkətini izləyə bilmir və hər yeni səhifə sorğusunu yeni istifadəçinin yeni sorğusu kimi qəbul edir. Sessiya kukiləri veb-saytlara veb səhifələr arasında hərəkət edərkən veb-sayt daxilində istifadəçiləri yadda saxlamağa imkan verir . Buna görə də, sessiya kukiləri olmadan veb saytların yaddaşı yoxdur. Sessiya kukiləri, funksiyalar istifadəçilərin fəaliyyətindən asılı olduqda, onlayn mağazalarda və vebsaytlarda istifadəçi təcrübəsi və razılığı üçün çox vacibdir .
3.Serverdə saxlanan sessiyalar: Bu tipdə sessiya məlumatları serverdə saxlanılır və idarə olunur. Server hər bir istifadəçi üçün fərqli sessiya identifikatoru yaradır və əlaqəli sessiya məlumatlarını saxlayır. Sessiya identifikatoru adətən müştəri tərəfində kuki kimi saxlanılır və hər sorğu ilə göndərilir. Server sessiya identifikatoru əsasında sessiya məlumatlarını alır və ondan istifadəçi vəziyyətini saxlamaq, autentifikasiya və avtorizasiya yoxlamalarını həyata keçirmək üçün istifadə edir.
Sessiya İdarəetmə Texnikaları
1.Stateful Sessiyalar:
Stateful sessiyalar serverin istifadəçi vəziyyətini izlədiyi sessiyalardır. Hər bir istifadəçinin vəziyyəti serverdə saxlanılır.Sessiya ID-ləri və kukilər vasitəsilə istifadəçi vəziyyəti izlənilir. Məsələn, serverdə istifadəçinin giriş vəziyyəti, alış-veriş səbəti kimi məlumatlar saxlanılır. Bu xidmətlər istifadəçinin vəziyyətini davamlı olaraq saxlayır.
İstifadəçi vəziyyətinin davamlı yaddaşda saxlanması, real-time yeniləmələr etməsi kimi üstünlükləri vardır.Çatışmamazlıqları isə serverin yükünü artırması və serverdən asılı olmasıdır.
2.Stateless Sessiyalar:
Stateless sessiyalar serverin istifadəçi vəziyyətini izləmədiyi sessiyalardır. Hər bir sorğu müstəqildir və istifadəçi vəziyyəti saxlanılmır.Hər sorğuda bütün lazım olan məlumatlar ötürülür. Sessiya vəziyyəti kukilər və ya tokenlər vasitəsilə istifadəçi tərəfində saxlanılır. Məsələn; REST API-ləri, hər bir sorğu müstəqil olduğu üçün bu üsuldan istifadə edir.server yükünün az olması, xəta tolerantlığına (hər bir sorğu müstəqildir) malik olması kimi Üstünükləri vardır.Çatışmamazlıqlarına isə Sessiyanın davamlılığının olmaması, hər dəfə eyni məlumatların ötürülməsinin lazım olması və s, aiddir.
Sessiya idarə edilməsində sessiya müddəti və vaxt aşımı (timeout):
Sessiyanın vaxt aşımına uğraması istifadəçinin bir interval (veb server tərəfindən müəyyən edilmiş) ərzində veb-saytda heç bir hərəkət etmədiyi zaman baş verən hadisəni təmsil edir. Hadisə, server tərəfində, istifadəçi sessiyasının statusunu ‘etibarsız’ (yəni, “artıq istifadə edilmir”) olaraq dəyişdirir və veb serverə onu məhv etməyi tapşırır (onda olan bütün məlumatları silməklə). Sessiyanın vaxt aşımı istifadəçi üçün fəaliyyət pəncərəsinin vaxtını müəyyən edir, bu pəncərə təcavüzkarın mövcud istifadəçi sessiyasını oğurlamağa və istifadə etməyə cəhd edə biləcəyi vaxtı nisbətən azaldır,onun işini çətinləşdirir.
Təhlükəsiz sessiya nədir
Təhlükəsiz sessiya, istifadəçinin veb tətbiqi ilə qarşılıqlı əlaqə zamanı onun məlumatlarının məxfiliyinin və bütövlüyünün təmin edildiyi bir oturumdur. Bu, potensial təhdidlərə qarşı qoruma tədbirlərini əhatə edir.Təhlükəsiz Sessiya ,Vebsayt və ya başqa elektron vasitələrlə Təlimatlar vermək və ya Şirkətlə əlaqələri davam etdirmək üçün Şirkət tərəfindən təmin edilən təhlükəsiz giriş kodları ilə Müştərinin başlatdığı sessiyadır.
Təhlükəsiz sessiyanı poza biləcək təhdidlər
1.Sessiya qaçırma (session hijacking):
Sessiyanın qaçırılması istifadəçinin veb-sessiyasına nəzarəti ələ keçirmək kimi zərərli hərəkətə aiddir. Vebə kontekstində seans, davamlılığı və təhlükəsizliyi təmin etmək üçün unikal sessiya işarəsini paylaşan iki rabitə son nöqtəsi arasında bir sıra qarşılıqlı əlaqədir.
Bu, pis niyyəti şəxsin məlumat və ya xidmətlərə icazəsiz giriş əldə etmək üçün sessiya tokenini oğurladığı və ya manipulyasiya etdiyi hücum formasıdır. Qaçırma prosesi zamanı adətən təcavüzkar istifadəçi ilə vebsayt arasında gizli əl sıxışmasına bənzədilə bilən bu tokeni ələ keçirdikdə başlayır. Bu əlamətə sahib olduqdan sonra, təcavüzkar qanuni istifadəçi kimi maskalanmaq imkanı qazanır və potensial təxribata səbəb olur.
Qlobal əhalinin əhəmiyyətli bir hissəsinin bankçılıq, alış-veriş və sosial qarşılıqlı əlaqə üçün internetdən istifadə etməsi səbəbilə seansların oğurlanmasının potensial təsiri əhəmiyyətlidir. Sessiyanı ələ keçirməklə təcavüzkarlar fırıldaqçılıq edə, şəxsiyyətləri oğurlaya və məxfi fəaliyyətləri ilə kommunikasiyaları poza bilərlər. Beləliklə, sessiyanın oğurlanması haqqında bilik onlayn mövcudluğumuzu qorumaq üçün kritik bir addımdır.
Sessiya qaçırma necə işləyir
Sessiyanın oğurlanması təcavüzkarın həmin sessiya hələ davam edərkən qanuni istifadəçinin sessiyasına nəzarəti ələ keçirmək üçün tutulmuş, kobud məcburi və ya tərs dizayn edilmiş sessiya ID-lərindən istifadə edir. Əksər proqramlarda seansı uğurla oğurladıqdan sonra təcavüzkar istifadəçinin bütün məlumatlarına tam giriş əldə edir və sessiyası oğurlanmış istifadəçinin əvəzinə əməliyyatlar yerinə yetirmə hüququna malik olur.
2.Sessiya saxtakarlığı (session fixation):
Sessiya saxtakarlığı (session fixation), hücumçunun əvvəlcədən müəyyənləşdirdiyi bir sessiya ID-sini istifadəçiyə göndərərək, bu sessiya ID-si ilə istifadəçinin sessiyasına icazəsiz giriş əldə etməsi metodudur. Hücumçu, bu sessiya ID-ni müxtəlif yollarla (zərərli link, URL və s.) istifadəçiyə göndərir və istifadəçi bu ID ilə giriş etdikdən sonra hücumçu həmin sessiyanı oğurlayır. Müdafiə üçün giriş zamanı yeni sessiya ID-si yaradılmalı, sessiya ID-ləri təsadüfi və uzun olmalı, HTTPS istifadə edilməli və kukilər HttpOnly və Secure atributları ilə qorunmalıdır.
Bu təhdidlərə qarşı Təhlükəsizlik Tədbirləri
HTTPS istifadə edilməsi
HTTPS, məlumatların şifrələnmiş şəkildə ötürülməsini təmin edərək, üçüncü tərəflərin məlumatlara girişinin qarşısını alır. Bu, həm istifadəçilər, həm də veb saytı sahibləri üçün daha güvənlidir. HTTPS protokolu, məlumatların server və brauzer arasında təhlükəsiz şəkildə ötürülməsini təmin etmək üçün SSL/TLS şifrələmə metodundan istifadə edir. Bu, xüsusilə bank hesabları və ya email xidmətləri kimi həssas məlumatların ötürülməsi zamanı vacibdir. Müasir brauzerlər HTTP istifadə edən saytları “güvənli deyil” olaraq işarələyir və istifadəçiləri xəbərdar edir
SameSite və Secure kuki atributları
SameSite atributu, kukilərin yalnız müəyyən kontekstdə göndərilməsini təmin edərək, “cross-site request forgery” (CSRF) kimi hücumların qarşısını alır. Secure atributu isə kukilərin yalnız HTTPS vasitəsilə ötürülməsini təmin edir, bu da kukilərin üçüncü tərəflər tərəfindən ələ keçirilməsinin qarşısını alır. Bu iki atribut birlikdə istifadə edilərək, kuki əsaslı təhlükəsizlik boşluqlarının qarşısını almaqda effektivdir.
İki faktor autentifikasiyası (2FA)
İki faktor autentifikasiyası, istifadəçilərin giriş zamanı əlavə bir təsdiq metodundan (məsələn, SMS kodu və ya mobil tətbiq vasitəsilə doğrulama) istifadə etməsini tələb edir. Bu, parolun ələ keçirildiyi hallarda belə, hücumçuların hesaba girişini əngəlləyərək təhlükəsizliyi əhəmiyyətli dərəcədə artırır.
Sessiya məlumatlarının minimal saxlanması
Sessiya məlumatlarının minimal saxlanması, istifadəçi məlumatlarının məxfiliyini qorumaq və potensial təhlükəsizlik risklərini azaltmaq üçün vacibdir. Yalnız vacib məlumatların saxlanması və mümkün olduqca azaldılması, məlumatların ələ keçirilməsini və ya sızmasını çətinləşdirir.
Nəticə
Sessiya idarəetməsi və təhlükəsiz oturumlar veb tətbiqlərin təhlükəsizliyini və istifadəçi məlumatlarının qorunmasını təmin etmək üçün vacibdir. Sessiya identifikatorlarının düzgün idarə olunması, HTTPS protokolunun istifadəsi, Secure və SameSite kuki atributlarının tətbiqi, iki faktor autentifikasiyası (2FA) kimi tədbirlər, sessiya saxtakarlığı və digər təhlükəsizlik boşluqlarının qarşısını almaqda böyük rol oynayır. Bu tədbirlər sayəsində veb tətbiqlərin təhlükəsizliyi artırılır və istifadəçilərin məlumatlarının icazəsiz əldə olunması riski minimuma endirilir. Təhlükəsiz sessiya idarəetmə metodları tətbiq edildikdə, həm istifadəçilər, həm də veb sayt sahibləri üçün etibarlı və təhlükəsiz bir mühit yaradılır.