Kalo te përmbajtja
SEO Analyzer

Siguri

Certifikata SSL/TLS

Vlefshmëria dhe data e skadimit të certifikatës; mjeti e lexon, por pa e verifikuar zinxhirin.

Çfarë është

Certifikata TLS provon se serveri me të cilin po flet shfletuesi është vërtet pronari i atij emri domaini. Ajo lëshohet nga një autoritet certifikimi të cilit shfletuesit i besojnë.

Çdo certifikatë ka një afat. Sot afatet janë të shkurtra — 90 ditë për certifikatat falas më të përhapura — pikërisht që rinovimi të jetë i automatizuar dhe jo i harruar.

Verifikimi i vërtetë ka tri pjesë: a është ende brenda afatit, a e mbulon emrin e domainit, dhe a çon zinxhiri i saj deri te një autoritet i besuar.

Pse ka rëndësi

Kur certifikata skadon, shfletuesi nuk shfaq faqen — shfaq një ekran të plotë paralajmërimi që thotë se lidhja nuk është private. Shumica e vizitorëve kthehen mbrapa në atë çast.

Pra skadimi nuk e ngadalëson sajtin; e mbyll. Për një dyqan, kjo është ndërprerje e plotë e shitjeve, dhe ndodh në një çast të caktuar që dihet paraprakisht.

Problemi është pothuajse gjithnjë proces, jo teknologji: rinovimi automatik u prish disa javë më parë dhe askush nuk e vuri re, sepse asgjë nuk dështon derisa afati mbaron.

Problemet e tjera janë më të fshehta. Një certifikatë që nuk e mbulon www.shembull.com por vetëm shembull.com do të japë paralajmërim vetëm te njëri variant. Dhe një zinxhir i paplotë punon në desktop, ku shfletuesi e plotëson vetë, dhe dështon në disa pajisje mobile.

Si rregullohet

  • Automatizo rinovimin dhe monitoro se ai funksionoi. Të dyja, jo vetëm e para.
  • Vendos një njoftim te 30 ditë para skadimit, i pavarur nga sistemi i rinovimit.
  • Mbulo të gjitha emrat që përdoren vërtet, përfshirë www dhe nëndomainet.
  • Dërgo zinxhirin e plotë. Kontrolloje me: ``sh openssl s_client -connect shembull.com:443 -servername shembull.com </dev/null ``
  • Çaktivizo protokollet e vjetra. TLS 1.0 dhe 1.1 duhen hequr; minimumi është TLS 1.2.
  • Pas rinovimit, ringarko serverin — shumë ndërprerje vijnë nga një certifikatë e re që nuk u lexua kurrë.

Si e mat ky mjet

SecurityAnalyzer::checkSsl() (services/SecurityAnalyzer.php:44) së pari kontrollon skemën: nëse URL-ja nuk nis me https://, jep konstatim kritik dhe kthehet (:50).

Për URL HTTPS, hap një lidhje ssl://host:443 (:60), kap certifikatën e palës tjetër dhe e analizon. Nga data e skadimit dalin tri përfundime: e skaduar (:71, kritike), skadon brenda 30 ditësh (:73, paralajmërim), e vlefshme (:77, kaluar me lëshuesin dhe datën).

Çfarë NUK e mat

Zinxhiri i certifikatës nuk verifikohet. Konteksti i lidhjes krijohet me verify_peer => false (services/SecurityAnalyzer.php:58), prandaj një certifikatë e vetënënshkruar, një e lëshuar nga një autoritet i pabesuar, ose një që nuk e mbulon emrin e domainit raportohen si të vlefshme për sa kohë data e skadimit është në të ardhmen. Kjo është boshllëku kryesor: shfletuesi do ta refuzonte faqen, mjeti thotë se gjithçka është në rregull.

Asnjë nga këto nuk kontrollohet: versioni i TLS-së (fusha ssl_protocol mbushet me tekstin e ngurtë TLS, :65), shifrat, mbulimi i emrave alternativë, plotësia e zinxhirit, apo revokimi.

Kontrolli kërkon lidhje rrjeti dhe lexon orën e sistemit, prandaj rezultati i tij nuk është i riprodhueshëm; nga 31 faqet e korpusit të provës, dalje referencë u prodhua vetëm për një — atë mbi http:// (MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §1.2).

Mospërputhje midis tekstit të analizuesit dhe matjes

Kjo faqe ndjek matjen, jo tekstin që prodhon analizuesi.
Teksti i analizuesitÇfarë ndodhSi u matBurimi
Valid SSL certificate — Issuer: …, Expires: …Konteksti krijohet me verify_peer=false, prandaj një certifikatë e vetënënshkruar ose e lëshuar për një emër tjetër raportohet si e vlefshme derisa data e skadimit të kalojë.Opsioni 'verify_peer' => false te rreshti 58; asnjë kontroll emri hosti nuk ekziston në metodë.matur gjatë 5.10services/SecurityAnalyzer.php:58

Kodi që e kryen matjen

  • services/SecurityAnalyzer.php:44SecurityAnalyzer::checkSsl
  • services/SecurityAnalyzer.php:58verify_peer

Standardi