Məqalə bu mövzuya yeni başlayanlar üçün nəzərdə tutulub.
SSL (Secure Sockets Layer), şifrələmə vasitəsi ilə internetdəki məlumatların təhlükəsiz ötürülməsini təmin edən bir protokoldur. Bu protokol Netscape Communications şirkəti tərəfindən hazırlanmışdır. Protokolun 1-ci versiyası heç vaxt nümayiş etdirilməyib, 2 -ci versiyası isə 1995-ci ildə buraxılıb. 2-ci versiyanın kifayət qədər zəiflikləri olduğundan, 3.0 versiyası bir il sonra buraxıldı. İlkin olaraq, HTTPS 443 TCP portundan istifadə edir. Məlumatları şifrələmək üçün 40, 56 və 128 bit açarlardan istifadə olunur. Bayt nə qədər çox olarsa, açar bir o qədər etibarlı olur.
Handshake, ziyarətçinin saytı ziyarət edərkən brauzerin qurduğu etibarlı bir əlaqədir.
HSTS etibarlı əlaqəni aktivləşdirən bir mexanizmdir.
HTTP (HyperText Transfer Protocol), müştəri tətbiqi ilə server arasında məlumat ötürən bir protokoldur.
(https://i.im.ge/2021/10/18/o1zLkW.png)
SSL üç açar yaradır:
Publik - məlumatlarınız serverə göndərildikdə onları şifrələyən açardır.
Şəxsi (private) - məlumatlarınızı deşifrə edən açardır.
Sessiya açarı - istifadəçinin saytda keçirdiyi vaxt üçün yaradılan bir açardır, məlumatları həm şifrələyir, həm də deşifrə edir.
Açarlar yaradıldıqdan sonra, publik açar əsasında Sertifikatlaşdırma mərkəzindən bir SSL sertifikatı almaq üçün sorğu yaranır. SSL sertifikatı açarın sahibi, sertifikatlaşdırma orqanı və publik açar haqqında məlumatları ehtiva edir. SSL sertifikatı istifadə edərkən, server və müştəri arasında, protokol versiyası, sessiya kimliyi, şifrələmə və sıxılma metodu haqqında məlumatları ehtiva edən salamlama mesajları göndərilir. Sonra, server müştəriyə bir sertifikat və ya açar mesajı göndərir, lazım olduqda müştəri sertifikatı tələb edir. Bir neçə əməliyyatdan sonra alqoritm və açarların son dəqiqləşdirilməsi baş verir, server son mesajı və nəhayət gizli məlumat mübadiləsini həyata keçirir. Bu eyniləşdirmə prosesi bir az uzun çəkə bilər, buna görə yenidən əlaqə qurularkən əvvəlki əlaqənin sessiya identifikatorundan istifadə olunur.
(https://i.im.ge/2021/10/18/o1k3Jm.png)
Yuxarıdakı şəkildə:
1. Müştəri serverlə əlaqə qurmağa çalışır. (Hello!) Server cavab verir ki, yalnız təhlükəsiz ünsiyyəti qəbul edir.
2. Server publik açarını müştəriyə göndərir.
3. Müştəri təsadüfi bir ədəd yaradır (bizim misalda 243) və bu ədədi serverin publik açarından istifadə edərək şifrələyir.
4. Şəxsi açarı ilə məlumatların şifrəsini aça bilən yeganə tərəf serverdir. O, şifrəni açdıqdan sonra gizli açarı oxuya bilir (243).
5. Məlumatların ötürülməsi başlayır.
6. Təcavüzkarın gizli açarı (243) təxmin edə bilməməsi üçün, açar daimi intervallarla yenilənir.
PowerShell vasitəsilə serverə https (443) vasitəsilə qoşulmağın mümkünlüyünü yoxlamaq olar:
(https://i.im.ge/2021/10/18/o1zDqm.jpg)
Kiçik layihələr üçün, domen təsdiqləməsi (domain validation) sertifikatından istifadə edilir, məsələn,
Lets Encrypt-in verdiyi sertifikatlar.
DCV E -mail - domenin sahibi olduğunuzu təsdiq etməyiniz lazım olan bir məktub göndərir.
DNS CNAME - DNS -də xüsusi bir qeyd yaratmalısınız və sertifikasiya mərkəzi onu yoxlayır.
(HTTP CSR Hash - serverinizə yüklədiyiniz xüsusi bir .txt faylı veriləcək, sonra sertifikatlaşdırma orqanı onun orada olduğundan əmin olmalı və sizə sertifikat verməlidir.
Böyük layihələr üçün, Business Validation sertifikatlarından istifadə etmək məsləhətdir. Bu zaman yalnız domeni deyil, həm də şirkətin saytla əlaqəsi yoxlanılır:
Extended validation SSL, genişləndirilmiş bir təsdiq sertifikatıdır.
Wildcard SSL - fərqli regional bağlantılı bir neçə alt domeniniz olduqda istifadə olunur. Alt domenləri qorumaq üçün istifadə olunur.
SAN SSL - Çoxlu domen adlarını, hostları, IP ünvanlarını, şlüzləri və firewallları qorumaq üçün istifadə olunur.
CodeSigning SSL - tətbiqləri qorumaq üçün istifadə olunur.
443 portunda HTTPS quraşdırılmayıbsa, bəzi antivirus şirkətləri və Google kimi axtarış sistemləri saytınızı qara siyahıya sala bilər. Əlbəttə ki, SSL məlumatlarınızın ələ keçirilməyəcəyinə 100% zəmanət vermir; bu protokolda kifayət qədər boşluqlar var. Məsələn, sslstrip istifadə oluna bilər və ya təcavüzkar şəxsi açarı klaviaturadan, brauzerdən, əməliyyat sistemindən və PGP yönləndiricisindən oğurlaya bilər. Təcavüzkar, SSL / TLS seanslarının keşləmə mexanizmindən sui -istifadə edərək MitM (Man in the Middle) hücumu da həyata keçirə bilər. MitM hücumu məntiqi səhvlərdən sui-istifadə edərək sertifikatları saxtalaşdırmadan və ya açar oğurlamadan belə həyata keçirilə bilər.
Faydalı yazı üçün təşəkkürlər :)