Ką patikrinti, norint įvertinti svetainės saugumą?
Iš išorės patikrinami keturi dalykai: ar TLS sertifikatas galioja ir nukreipia į HTTPS, ar siunčiamos saugumo antraštės, ar puslapyje nėra mišraus turinio, ir ar viešai neprieinami administravimo bei konfigūracijos adresai. Ketvirtas sluoksnis — atnaujinimai — matomas tik viduje.
Saugumo auditas skamba kaip darbas įsilaužimo specialistui, bet didžioji jo dalis matoma iš išorės ir per kelias minutes. Ne todėl, kad tai lengva, o todėl, kad dažniausios klaidos yra konfigūracijos, ne kodo.
Svarbu iš karto atskirti: čia kalbama apie higieną, ne apie pažeidžiamumų paiešką. Piktybinio kodo ir žinomų spragų tikrinimas yra kitas darbas — jam Lietuvoje veikia ir nemokamas NKSC įrankis.
1. Sertifikatas ir HTTPS
Pirmas ir vienintelis sluoksnis, kurį pastebi lankytojas. Tikrinama:
- ar sertifikatas galioja ir kada baigiasi;
- ar
http://nukreipia įhttps://, o ne veikia lygiagrečiai; - ar
wwwir bewwwversijos veda į tą patį adresą.
Dvi lygiagrečiai veikiančios versijos yra ir saugumo, ir SEO problema: turinys dubliuojasi, o dalis lankytojų lieka neužšifruotame ryšyje.
2. Saugumo antraštės
Čia gyvena didžiausias skirtumas tarp „veikia" ir „tvarkinga". Antraštės yra nurodymai naršyklei, ką ji gali daryti su tavo puslapiu:
Strict-Transport-Security naršyklė nebebando HTTP net vieno karto
Content-Security-Policy iš kur leidžiama krauti skriptus
X-Content-Type-Options draudimas spėti failo tipą
Referrer-Policy kiek adreso atiduodam svetimai svetainei
X-Frame-Options ar mūsų puslapį galima įdėti į svetimą rėmą
Jos nieko nesulaužo ir nieko nekainuoja, o be jų naršyklė elgiasi atlaidžiausiai įmanomu būdu.
3. Mišrus turinys ir svetimi skriptai
Puslapis per HTTPS, kuriame nors vienas paveikslėlis ar skriptas ateina per HTTP, yra puslapis su skyle. Naršyklė dalį tokio turinio blokuoja tyliai, ir klaida pasirodo kaip „kažkas neveikia".
Antra pusė — kiek svetimų domenų apskritai turi teisę vykdyti kodą tavo puslapyje. Kiekvienas jų yra pasitikėjimas, kurio nekontroliuoji.
4. Kas prieinama, kai neturėtų
Greita patikra, kurią verta padaryti visiems: ar viešai neatsidaro
/.env, /.git/config, /backup.zip, administravimo skydelis be apribojimų.
Tai ne teorija — būtent taip randama dauguma nutekėjusių raktų.
Ko iš išorės nepamatysi
Bibliotekų versijų, serverio pataisymų, slaptažodžių politikos ir atsarginių kopijų. Šitą dalį tikrina tik tas, kas turi prieigą — todėl išorinis auditas niekada nėra pilnas auditas, ir gera ataskaita tai pasako.
Susiję straipsniai
Ta pati tema iš kitos pusės — kiekvienas atsako į savo klausimą:
- Saugumo antraštės: ką kiekviena jų daro
- Techninis SEO auditas: ką tikrinti ir kada
- Nemokamas SEO skenas: ką jis realiai parodo
Kaip tai patenka į balą, aprašyta ties ką tikriname.
Šaltiniai
Tai, kuo remiasi šis tekstas — pirminiai šaltiniai, ne perpasakojimai:
Dažni klausimai
Ar SSL sertifikato pakanka?
Ne. Sertifikatas užšifruoja ryšį ir nieko daugiau. Jis nesustabdo nei kenkėjiško skripto puslapyje, nei atviro `/.env`, nei silpno slaptažodžio.
Ar saugumo antraštės lėtina svetainę?
Ne. Tai kelios eilutės atsakyme — matuojama baitais, ne milisekundėmis. Vienintelė reali kaina yra laikas, kurio reikia teisingai suderinti `Content-Security-Policy`.
Kaip dažnai tikrinti?
Antraštes ir sertifikatą — po kiekvieno serverio ar CDN pakeitimo. Viską kita — kartą per ketvirtį. Sertifikato galiojimui verta turėti atskirą priminimą.
Ar saugumas veikia SEO?
Netiesiogiai, bet realiai. HTTPS yra reitingavimo signalas, o užkrėsta svetainė gali gauti įspėjimą paieškos rezultatuose — tai kainuoja daugiau nei bet kuri techninė smulkmena.
Pasitikrink
Nemokamas skenas parodo, ką iš to, kas aprašyta, tavo svetainė jau daro, o ko — ne.