SSL sertifikatai apsaugokite savo svetainę

SSL sertifikatai: kas tai, kaip veikia, kokie tipai ir kaip įdiegti SSL savo svetainėje

Kiekvieną kartą, kai perkate internetu, prisijungiate prie banko ar tiesiog skaitote naujienų portalą, jūsų naršyklė ir svetainės serveris keičiasi duomenimis. Slaptažodžiai, kortelių numeriai, asmeninė informacija, paieškos užklausos. Visa tai keliauja per internetą, ir be apsaugos bet kas galėtų šiuos duomenis perimti ir perskaityti.

Būtent čia veikia SSL sertifikatas. Tas mažas spynelės ženkliukas naršyklės adreso juostoje ir raidės „HTTPS” prieš svetainės adresą reiškia, kad ryšys tarp jūsų ir svetainės yra šifruotas. Niekas, išskyrus jus ir serverį, negali matyti, ką siunčiate ar gaunate.

Šiame straipsnyje rasite viską apie SSL sertifikatus: nuo techninių principų iki praktinių diegimo žingsnių, nuo nemokamų sprendimų iki pažangių sertifikatų tipų, kurie tinka stambioms įmonėms.

Interneto vizija

Kas yra SSL sertifikatas?

SSL (Secure Sockets Layer) sertifikatas yra skaitmeninis dokumentas, patvirtinantis svetainės tapatybę ir užtikrinantis šifruotą ryšį tarp lankytojo naršyklės ir svetainės serverio.

Techniškai šiuolaikinės svetainės naudoja ne SSL, o jo įpėdinį TLS (Transport Layer Security) protokolą. SSL pavadinimas išliko kaip bendras terminas, nors pats SSL protokolas (paskutinė versija SSL 3.0) yra pasenęs ir nebepriimamas nuo 2015 metų. Kai šiandien kalbame apie „SSL sertifikatą”, iš tikrųjų turime omenyje TLS sertifikatą.

SSL/TLS sertifikatas atlieka dvi funkcijas:

  1. Šifravimas. Visi duomenys, keliaujantys tarp lankytojo ir serverio, yra užšifruoti. Net jei kažkas juos perceptų, matytų tik beprasmišką simbolių rinkinį.
  2. Tapatybės patvirtinimas. Sertifikatas patvirtina, kad svetainė yra ta, kuria dedasi. Tai apsauga nuo situacijos, kai kažkas sukuria netikrą svetainės kopiją ir bando perimti jūsų duomenis (man-in-the-middle ataka).

HTTP vs. HTTPS: koks skirtumas?

  • HTTP (HyperText Transfer Protocol) – standartinis interneto protokolas, perduodantis duomenis atviru tekstu. Bet kas tame pačiame tinkle (pvz., viešame Wi-Fi) gali perimti ir perskaityti šiuos duomenis.
  • HTTPS (HTTP Secure) – tas pats HTTP protokolas, tačiau su SSL/TLS šifravimo sluoksniu. Duomenys šifruojami prieš siuntimą ir iššifruojami tik gavėjo pusėje.

Skirtumas matomas naršyklės adreso juostoje:

  • http://svetaine.lt – nešifruotas ryšys. Naršyklės rodo „Nesaugu” (Not Secure) įspėjimą.
  • https://svetaine.lt – šifruotas ryšys. Rodoma spynelės piktograma.

Kaip veikia SSL šifravimas: techniniai principai

SSL/TLS šifravimas remiasi sudėtinga, tačiau elegantiška sistema. Supaprastintas procesas atrodo taip:

TLS Handshake (rankos paspaudimas)

Kai lankytojas atidaro svetainę su HTTPS, vyksta vadinamasis „TLS handshake” procesas. Tai serija žingsnių, per kuriuos naršyklė ir serveris susitaria dėl šifravimo parametrų:

1. „Client Hello” (kliento pasisveikinimas)
Naršyklė siunčia serveriui pranešimą, kuriame nurodo:

  • Palaikomas TLS versijas (TLS 1.2, TLS 1.3)
  • Palaikomus šifravimo algoritmus (cipher suites)
  • Atsitiktinį skaičių (client random)

2. „Server Hello” (serverio pasisveikinimas)
Serveris atsako pasirinkdamas:

  • TLS versiją, kurią naudos
  • Šifravimo algoritmą
  • Savo SSL sertifikatą
  • Atsitiktinį skaičių (server random)

3. Sertifikato tikrinimas
Naršyklė patikrina serverio SSL sertifikatą:

  • Ar sertifikatą išdavė patikima sertifikavimo institucija (CA)?
  • Ar sertifikatas galiojantis (nepasibaigęs)?
  • Ar sertifikato domeno vardas sutampa su svetainės adresu?
  • Ar sertifikatas nebuvo atšauktas?

4. Raktų apsikeitimas
Naršyklė ir serveris sukuria bendrą simetrinį šifravimo raktą naudodami asimetrinio šifravimo algoritmą. Šis procesas užtikrina, kad net jei kažkas stebi visą komunikaciją, jis negalės atkurti šifravimo rakto.

5. Šifruota komunikacija
Nuo šiol visi duomenys tarp naršyklės ir serverio šifruojami simetriniu raktu. Simetrinis šifravimas yra daug greitesnis nei asimetrinis, todėl jis naudojamas duomenų perdavimui, o asimetrinis tik pradiniam raktų apsikeitimui.

Visas šis procesas vyksta per kelias dešimtąsias sekundės dalies. TLS 1.3 versija dar labiau supaprastino handshake procesą, sumažindama jį iki vieno apsikeitimo (1-RTT), o kartais net iki nulio (0-RTT), jei naršyklė ir serveris jau buvo anksčiau susijungę.

Šifravimo tipai SSL/TLS kontekste

Asimetrinis šifravimas (viešojo rakto kriptografija):

  • Naudoja du raktus: viešąjį (public key) ir privatųjį (private key)
  • Viešuoju raktu užšifruotus duomenis gali iššifruoti tik privatus raktas
  • Naudojamas TLS handshake metu raktų apsikeitimui
  • Lėtesnis, tačiau saugesnis pradiniam ryšiui užmegzti

Simetrinis šifravimas:

  • Naudoja vieną bendrą raktą tiek šifravimui, tiek iššifravimui
  • Naudojamas duomenų perdavimui po sėkmingo handshake
  • Žymiai greitesnis nei asimetrinis
  • Šiuolaikiniai algoritmai: AES-128, AES-256, ChaCha20

Maišos funkcijos (hashing):

  • Sukuria fiksuoto ilgio „pirštų atspaudą” iš bet kokio duomenų kiekio
  • Naudojamos duomenų vientisumo tikrinimui (ar duomenys nebuvo pakeisti kelyje)
  • Šiuolaikiniai algoritmai: SHA-256, SHA-384

SSL sertifikatų tipai pagal validacijos lygį

SSL sertifikatai skiriasi pagal tai, kiek kruopščiai tikrinama sertifikato užsakovo tapatybė. Kuo aukštesnis validacijos lygis, tuo daugiau informacijos apie organizaciją patvirtinama.

DV sertifikatas (Domain Validation)

DV sertifikatas patvirtina tik tai, kad sertifikato užsakovas kontroliuoja domeną. Tai paprasčiausias ir greičiausias sertifikato tipas.

Kaip vyksta validacija:

  • El. paštu: siunčiamas patvirtinimo laiškas adresais admin@, administrator@, hostmaster@, postmaster@ arba webmaster@ jūsų domene
  • DNS įrašu: prašoma pridėti specifinį TXT arba CNAME įrašą prie domeno DNS
  • HTTP failu: prašoma įkelti failą į svetainės šakninį katalogą

Privalumai:

  • Greitas išdavimas (per kelias minutes)
  • Pigiausias (arba nemokamas su Let’s Encrypt)
  • Pakankamas daugumai svetainių
  • Automatizuojamas procesas

Trūkumai:

  • Nepatvirtina organizacijos tapatybės
  • Naršyklėje rodoma tik spynelė, be organizacijos pavadinimo
  • Sukčiai gali gauti DV sertifikatą savo apgaulingai svetainei

Kam tinka: asmeninėms svetainėms, tinklaraščiams, mažoms verslo svetainėms, informacinėms svetainėms, vidiniams projektams.

OV sertifikatas (Organization Validation)

OV sertifikatas patvirtina ne tik domeno nuosavybę, bet ir organizacijos egzistavimą. Sertifikavimo institucija (CA) patikrina įmonės registracijos duomenis.

Kaip vyksta validacija:

  • Patikrinama domeno nuosavybė (kaip DV)
  • Patikrinama organizacijos registracija valstybiniuose registruose
  • Patikrinamas organizacijos adresas ir telefono numeris
  • Gali būti reikalaujama papildomų dokumentų

Privalumai:

  • Patvirtina organizacijos tapatybę
  • Didina pasitikėjimą tarp lankytojų ir partnerių
  • Sertifikato detalėse matomas organizacijos pavadinimas
  • Tinkamas verslo svetainėms

Trūkumai:

  • Brangiau nei DV
  • Ilgesnis išdavimo procesas (1–3 darbo dienos)
  • Vizualiai naršyklėje atrodo identiškai kaip DV (tik spynelė)

Kam tinka: verslo svetainėms, valstybinėms organizacijoms, platformoms, kuriose lankytojų pasitikėjimas yra svarbus.

Orientacinė kaina: 30–200 EUR per metus

EV sertifikatas (Extended Validation)

EV sertifikatas yra aukščiausio lygio SSL sertifikatas. Sertifikavimo institucija atlieka išsamų organizacijos patikrinimą pagal griežtas tarptautines gaires.

Kaip vyksta validacija:

  • Visi OV žingsniai
  • Patikrinama organizacijos veiklos vieta
  • Patikrinamas prašymo pateikėjo įgaliojimas veikti organizacijos vardu
  • Patikrinamas telefono numeris ir atliekamas patvirtinimo skambutis
  • Patikrinama, ar organizacija nėra įtraukta į draudžiamų subjektų sąrašus
  • Procesas atliekamas pagal CA/Browser Forum EV Guidelines

Privalumai:

  • Aukščiausias pasitikėjimo lygis
  • Sertifikato detalėse matoma pilna organizacijos informacija
  • Apsauga nuo phishing (sukčiai negali gauti EV sertifikato)
  • Rekomenduojamas finansų institucijoms ir stambioms el. parduotuvėms

Trūkumai:

  • Brangiausias sertifikato tipas
  • Ilgiausias išdavimo procesas (3–10 darbo dienų, kartais ilgiau)
  • Nuo 2019 m. naršyklės nebesiūlo vizualinio skirtumo (žalios juostos su organizacijos pavadinimu), nors organizacijos pavadinimas vis dar matomas paspaudus ant spynelės

Kam tinka: bankams, finansų įstaigoms, draudimo bendrovėms, stambioms el. parduotuvėms, valstybinėms institucijoms.

Orientacinė kaina: 100–500+ EUR per metus

Vizualinis palyginimas naršyklėje

Iki 2019 metų EV sertifikatai buvo aiškiai atskiriami naršyklėje: adreso juostoje buvo rodoma žalia juosta su organizacijos pavadinimu. Tačiau Chrome (76 versija) ir Firefox pašalino šį vizualinį skirtumą. Dabar visuose sertifikatų tipuose rodoma ta pati spynelės piktograma.

Organizacijos informaciją vis dar galima pamatyti paspaudus ant spynelės ir peržiūrėjus sertifikato detales, tačiau eilinis lankytojas to greičiausiai nedarys.

Ši pokyčio priežastis: tyrimai parodė, kad dauguma naudotojų nežiūri į adreso juostą ir neskiria DV nuo EV. Google ir Mozilla nusprendė, kad klaidinga suteikti per didelį pasitikėjimo jausmą vien dėl sertifikato tipo.

SSL sertifikatų tipai pagal apimtį

Be validacijos lygio, SSL sertifikatai skiriasi ir pagal tai, kiek domenų ar subdomenų jie apima.

Vieno domeno sertifikatas (Single Domain)

Apsaugo vieną konkretų domeną, pavyzdžiui, jusuverslas.lt. Paprastai apima ir www.jusuverslas.lt variantą.

Kam tinka: svetainėms su vienu domenu be subdomenų.

Wildcard sertifikatas

Apsaugo pagrindinį domeną ir visus pirmo lygio subdomenus. Pavyzdžiui, sertifikatas *.jusuverslas.lt apima:

  • jusuverslas.lt
  • www.jusuverslas.lt
  • blog.jusuverslas.lt
  • shop.jusuverslas.lt
  • api.jusuverslas.lt
  • bet kokį kitą subdomeną.jusuverslas.lt

Tačiau wildcard neapima antro lygio subdomenų (pvz., dev.api.jusuverslas.lt). Tokiems atvejams reikėtų atskiro wildcard sertifikato *.api.jusuverslas.lt arba multi-domain sertifikato.

Kam tinka: svetainėms su keliais subdomenais (tinklaraštis, parduotuvė, API, testavimo aplinka tame pačiame domene).

Orientacinė kaina: 50–300 EUR per metus (mokamų). Let’s Encrypt taip pat siūlo nemokamus wildcard sertifikatus.

Multi-domain sertifikatas (SAN / UCC)

SAN (Subject Alternative Name) arba UCC (Unified Communications Certificate) sertifikatas apsaugo kelis skirtingus domenus vienu sertifikatu. Pavyzdžiui:

  • jusuverslas.lt
  • jusuverslas.com
  • jusuverslas.eu
  • kitasdomenas.lt

Kam tinka: įmonėms su keliais domenais, Microsoft Exchange ir Office 365 aplinkoms.

Orientacinė kaina: 80–400 EUR per metus, priklausomai nuo domenų skaičiaus.

Palyginimo lentelė

TipasApimaKainaTinkamumas
Single Domain1 domenas + wwwNuo 0 EUR (Let’s Encrypt)Viena svetainė
Wildcard1 domenas + visi subdomenaiNuo 0 EUR (Let’s Encrypt) iki 300 EURSvetainė su subdomenais
Multi-domain (SAN)2–250 skirtingų domenų80–400+ EURKelios svetainės, Exchange

Nemokamas SSL: Let’s Encrypt ir alternatyvos

Let’s Encrypt

Let’s Encrypt yra nemokama, automatizuota ir atvira sertifikavimo institucija (CA), kurią 2016 metais įkūrė Internet Security Research Group (ISRG). Šiandien Let’s Encrypt apsaugo šimtus milijonų svetainių visame pasaulyje ir yra populiariausias SSL sertifikatų tiekėjas pagal išduotų sertifikatų skaičių.

Kaip veikia Let’s Encrypt:

Let’s Encrypt naudoja ACME (Automatic Certificate Management Environment) protokolą, kuris automatizuoja visą sertifikato išdavimo procesą. Populiariausias ACME klientas yra Certbot, kurį sukūrė Electronic Frontier Foundation (EFF).

Privalumai:

  • Visiškai nemokamas (jokių paslėptų mokesčių)
  • Automatinis sertifikato išdavimas ir atnaujinimas
  • Palaiko vieno domeno, multi-domain ir wildcard sertifikatus
  • Pripažįstamas visų pagrindinių naršyklių ir operacinių sistemų
  • Atviro kodo
  • Plati bendruomenės ir dokumentacijos bazė

Trūkumai:

  • Tik DV lygio validacija (neišduoda OV ar EV sertifikatų)
  • Sertifikatai galioja 90 dienų (reikia automatinio atnaujinimo)
  • Nėra techninės pagalbos (tik bendruomenės forumas)
  • Nėra garantijos ar draudimo (mokamų sertifikatų tiekėjai siūlo finansinę garantiją)

Let’s Encrypt diegimas su Certbot (Nginx, Ubuntu):

# Certbot diegimas
apt install certbot python3-certbot-nginx -y

# Sertifikato gavimas ir automatinis Nginx konfigūravimas
certbot --nginx -d jusuverslas.lt -d www.jusuverslas.lt

# Automatinio atnaujinimo patikrinimas
certbot renew --dry-run

Certbot automatiškai prideda cron darbą, kuris tikrina ir atnaujina sertifikatus kas 12 valandų. Sertifikatas atnaujinamas, kai iki galiojimo pabaigos lieka mažiau nei 30 dienų.

Let’s Encrypt Wildcard sertifikatas:

Wildcard sertifikatui reikalingas DNS-01 validacijos metodas:

certbot certonly --manual --preferred-challenges dns -d jusuverslas.lt -d *.jusuverslas.lt

Certbot paprašys pridėti TXT įrašą _acme-challenge.jusuverslas.lt prie DNS. Automatiniam wildcard atnaujinimui reikia DNS tiekėjo API integracijos (Cloudflare, DigitalOcean, Route53 ir daugelis kitų palaikomi).

ZeroSSL

ZeroSSL yra alternatyva Let’s Encrypt, siūlanti nemokamus DV sertifikatus su web sąsaja.

Privalumai:

  • Nemokamas planas (iki 3 sertifikatų)
  • Web sąsaja sertifikatų valdymui
  • Palaiko ACME protokolą
  • REST API integracijai

Trūkumai:

  • Nemokamas planas ribotas (3 sertifikatai, 90 dienų galiojimas)
  • Mokamas planas reikalingas papildomoms funkcijoms

Cloudflare Universal SSL

Jei naudojate Cloudflare kaip CDN arba DNS tiekėją, gausite nemokamą SSL sertifikatą automatiškai. Cloudflare siūlo kelis SSL režimus:

  • Flexible SSL – šifruotas ryšys tarp lankytojo ir Cloudflare, tačiau nešifruotas tarp Cloudflare ir jūsų serverio. Nerekomenduojama – sukuria klaidingą saugumo iliuziją.
  • Full SSL – šifruotas ryšys abiem kryptimis, tačiau sertifikatas jūsų serveryje netikrinamas.
  • Full (Strict) SSL – šifruotas ryšys abiem kryptimis su sertifikato validacija. Rekomenduojama.

Hostingo tiekėjų nemokamas SSL

Daugelis hostingo tiekėjų automatiškai įdiegia Let’s Encrypt sertifikatus. Tai reiškia, kad užsisakę hostingą, gausite SSL sertifikatą be jokių papildomų veiksmų:

  • Hostinger – automatinis Let’s Encrypt visoms svetainėms
  • SiteGround – automatinis Let’s Encrypt su papildomu Wildcard palaikymu
  • Hetzner – Let’s Encrypt per valdymo pultą arba Certbot

Mokamų SSL sertifikatų tiekėjai

Nors Let’s Encrypt pakanka daugumai svetainių, tam tikrais atvejais mokamas sertifikatas turi pranašumų:

Kada verta rinktis mokamą SSL?

  • Reikia OV arba EV validacijos lygio
  • Reikia finansinės garantijos (warranty) – jei šifravimas būtų pažeistas, CA kompensuoja nuostolius
  • Reikia ilgesnio galiojimo laikotarpio (1–2 metai vietoj 90 dienų)
  • Organizaciniai ar reguliaciniai reikalavimai nurodo naudoti konkrečią CA
  • Norite techninės pagalbos iš sertifikatų tiekėjo

Pagrindiniai mokamų sertifikatų tiekėjai

DigiCert

  • Vienas patikimiausių CA pasaulyje
  • Siūlo DV, OV ir EV sertifikatus
  • Populiarus tarp didelių įmonių ir finansų sektoriaus
  • Aukšta kaina, tačiau puiki kokybė ir pagalba

Sectigo (anksčiau Comodo CA)

  • Didžiausias komercinių SSL sertifikatų tiekėjas pagal apimtį
  • Platus sertifikatų pasirinkimas visoms kainų kategorijoms
  • Competitive kainos
  • Tinka tiek mažoms, tiek didelėms įmonėms

GlobalSign

  • Europos kilmės CA (Belgija)
  • Populiarus tarp Europos įmonių
  • Siūlo ir IoT (Internet of Things) sertifikatus

GeoTrust

  • Priklauso DigiCert grupei
  • Vidutinė kainų kategorija
  • Geras pasirinkimas verslo svetainėms

Mokamų sertifikatų kainos

TipasDVOVEV
Single Domain10–50 EUR/metus30–200 EUR/metus100–500 EUR/metus
Wildcard50–200 EUR/metus100–500 EUR/metusNesiūlomas
Multi-domain80–300 EUR/metus150–500 EUR/metus200–800 EUR/metus

Pastaba: EV Wildcard sertifikatai neegzistuoja pagal CA/Browser Forum taisykles. EV sertifikatas gali būti tik konkrečiam domenui arba multi-domain formatu.

SSL sertifikato diegimas

Diegimas per hostingo valdymo pultą (cPanel)

Jei naudojate hostingą su cPanel, SSL diegimas yra paprastas:

  1. Prisijunkite prie cPanel
  2. Raskite „SSL/TLS” arba „Let’s Encrypt” sekciją
  3. Pasirinkite domeną, kuriam norite sertifikato
  4. Spauskite „Issue” arba „Install”
  5. cPanel automatiškai sugeneruos, įdiegs ir konfigūruos sertifikatą

Daugelyje šiuolaikinių hostingo platformų SSL įdiegiamas automatiškai ir nereikalauja jokių rankinių veiksmų.

Diegimas VPS serveryje (Nginx)

Jei turite VPS su Nginx, naudokite Certbot:

# 1. Įdiekite Certbot
apt update
apt install certbot python3-certbot-nginx -y

# 2. Gaukite ir įdiekite sertifikatą
certbot --nginx -d jusuverslas.lt -d www.jusuverslas.lt

# 3. Patikrinkite automatinį atnaujinimą
certbot renew --dry-run

Certbot automatiškai sukonfigūruos Nginx: pridės SSL nustatymus, nukreips HTTP į HTTPS ir nustatys saugumo antraštes.

Diegimas VPS serveryje (Apache)

# 1. Įdiekite Certbot su Apache papildiniu
apt install certbot python3-certbot-apache -y

# 2. Gaukite ir įdiekite sertifikatą
certbot --apache -d jusuverslas.lt -d www.jusuverslas.lt

Rankinis sertifikato diegimas (mokamų sertifikatų atveju)

Jei perkate mokamą sertifikatą, procesas yra ilgesnis:

1. Sugeneruokite CSR (Certificate Signing Request):

openssl req -new -newkey rsa:2048 -nodes -keyout jusuverslas.lt.key -out jusuverslas.lt.csr

Ši komanda sukuria du failus:

  • .key – privatus raktas (saugokite jį saugiai, niekam neduokite)
  • .csr – užklausa sertifikatui, kurią siųsite sertifikavimo institucijai

2. Pateikite CSR sertifikatų tiekėjui
Įklijuokite CSR turinį į tiekėjo užsakymo formą.

3. Praėjęs validaciją, gaukite sertifikato failus:

  • Pagrindinį sertifikatą (.crt arba .pem)
  • Tarpinių sertifikatų grandinę (CA Bundle / Chain)

4. Įdiekite sertifikatą Nginx konfigūracijoje:

server {
    listen 443 ssl http2;
    server_name jusuverslas.lt www.jusuverslas.lt;

    ssl_certificate /etc/ssl/certs/jusuverslas.lt.crt;
    ssl_certificate_key /etc/ssl/private/jusuverslas.lt.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # HSTS (neprivaloma, tačiau rekomenduojama)
    add_header Strict-Transport-Security "max-age=63072000" always;
}

5. Nukreipkite HTTP į HTTPS:

server {
    listen 80;
    server_name jusuverslas.lt www.jusuverslas.lt;
    return 301 https://$server_name$request_uri;
}

6. Perkraukite Nginx:

nginx -t          # Patikrinkite konfigūraciją
systemctl reload nginx   # Perkraukite Nginx

HTTP į HTTPS perkėlimas: pilnas procesas

Jei jūsų svetainė iki šiol veikė per HTTP, perkėlimas į HTTPS reikalauja keleto papildomų žingsnių, kad neprarastumėte SEO pozicijų ir nesulaužytumėte svetainės funkcionalumo.

1. Įdiekite SSL sertifikatą

Kaip aprašyta aukščiau, pasirinkite ir įdiekite sertifikatą.

2. Atnaujinkite vidinės nuorodas

Visos vidinės nuorodos svetainėje turi naudoti HTTPS. Jei naudojate WordPress:

  • Eikite į Nustatymai → Bendrieji ir pakeiskite WordPress Address (URL) ir Site Address (URL) iš http:// į https://
  • Naudokite papildinį „Better Search Replace” arba „Velvet Blues Update URLs”, kad pakeistumėte visas vidinės nuorodas duomenų bazėje

3. Atnaujinkite medijos failus

Vaizdai, CSS, JavaScript ir kiti failai turi būti kraunami per HTTPS. Priešingu atveju gausite „Mixed Content” klaidas, kai dalis turinio kraunama per HTTP, o dalis per HTTPS.

Mixed Content tipai:

  • Passive Mixed Content – vaizdai, vaizdo ir garso failai. Naršyklė juos rodys, tačiau pažymės kaip nesaugius.
  • Active Mixed Content – JavaScript, CSS, iframe. Naršyklė juos blokuos, ir svetainės dalis gali neveikti.

4. Nustatykite 301 peradresavimus

Kiekvienas HTTP URL turi būti peradresuotas į atitinkamą HTTPS versiją su 301 (nuolatiniu) peradresavimu. Tai svarbu, nes:

  • Paieškos sistemos supras, kad turinys persikėlė
  • SEO vertė iš senų HTTP nuorodų bus perduota naujoms HTTPS nuorodoms
  • Lankytojai, turintys senus žymeklius ar nuorodas, bus automatiškai nukreipti

Nginx peradresavimas:

server {
    listen 80;
    server_name jusuverslas.lt www.jusuverslas.lt;
    return 301 https://$server_name$request_uri;
}

Apache peradresavimas (.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

5. Atnaujinkite išorinius įrankius ir paslaugas

  • Google Search Console – pridėkite naują HTTPS ypatybę (property)
  • Google Analytics – atnaujinkite numatytąjį URL į HTTPS
  • Socialiniai tinklai – atnaujinkite svetainės URL profiliuose
  • Katalogai ir sąrašai – atnaujinkite nuorodas verslo kataloguose
  • Sitemap.xml – patikrinkite, ar visi URL naudoja HTTPS
  • robots.txt – patikrinkite, ar sitemap nuoroda yra HTTPS

6. Patikrinkite ir stebėkite

Po perkėlimo atidžiai stebėkite:

  • Ar visi puslapiai pasiekiami per HTTPS
  • Ar nėra Mixed Content klaidų (naudokite naršyklės konsolę: F12 → Console)
  • Ar 301 peradresavimai veikia teisingai
  • Ar paieškos sistemų pozicijos išlieka stabilios (trumpalaikis svyravimas yra normalus)

SSL ir SEO: kodėl HTTPS yra reitingavimo signalas

Google 2014 metų rugpjūtį oficialiai paskelbė, kad HTTPS yra reitingavimo signalas. Nuo to laiko HTTPS reikšmė tik augo.

Tiesioginė SEO nauda

1. Reitingavimo signalas
Google teikia pirmenybę HTTPS svetainėms. Nors šis signalas nėra pats stipriausias (turinys ir nuorodos lieka svarbesnės), jis gali būti lemiamas tarp dviejų panašios kokybės svetainių.

2. Duomenų perdavimo saugumas (Referrer Data)
Kai lankytojas pereina iš HTTPS svetainės į HTTP svetainę, referrer duomenys (iš kur atėjo lankytojas) prarandami. Su HTTPS šie duomenys išsaugomi, leidžiant tiksliau analizuoti srauto šaltinius Google Analytics.

3. „Not Secure” žymė
Chrome naršyklė nuo 2018 metų (68 versija) žymi visas HTTP svetaines kaip „Not Secure” (Nesaugu). Tai atbaido lankytojus ir didina atmetimo rodiklį (bounce rate), kas netiesiogiai veikia SEO.

Netiesioginė SEO nauda

1. Lankytojų pasitikėjimas
Spynelės piktograma signalizuoja saugumą. Lankytojai ilgiau lieka svetainėje, daugiau peržiūri puslapių, dažniau konvertuoja. Visi šie elgesio signalai teigiamai veikia SEO.

2. Greitis (HTTP/2 ir HTTP/3)
Šiuolaikiniai greičio protokolai HTTP/2 ir HTTP/3 reikalauja HTTPS. Be SSL sertifikato negalite naudoti šių protokolų, o jie gerokai pagerina svetainės krovimo greitį, kas yra tiesioginis reitingavimo signalas.

3. AMP (Accelerated Mobile Pages)
Jei naudojate AMP technologiją, HTTPS yra privalomas reikalavimas.

SEO klaidos, susijusios su SSL

  • Neperadresuoti HTTP į HTTPS. Turinys pasiekiamas abiem protokolais, todėl paieškos sistemos mato du to paties puslapio variantus (duplikuotas turinys).
  • Mixed Content. Puslapiai, kuriuose dalis resursų kraunama per HTTP, gali būti žymimi kaip nesaugūs.
  • Pasibaigęs sertifikatas. Svetainė tampa nepasiekiama, lankytojai mato saugumo įspėjimą, Google negali nuskaityti turinio.
  • Neteisingas sertifikatas. Sertifikatas neapima visų svetainės variantų (pvz., apima jusuverslas.lt, bet ne www.jusuverslas.lt).

SSL saugumo antraštės (Security Headers)

SSL sertifikatas yra pirmas žingsnis, tačiau pilnam saugumui reikia ir papildomų HTTP saugumo antraščių. Šios antraštės nurodo naršyklei, kaip elgtis su jūsų svetainės turiniu.

HSTS (HTTP Strict Transport Security)

HSTS nurodo naršyklei visada jungtis tik per HTTPS, net jei lankytojas įveda HTTP adresą.

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
  • max-age=63072000 – naršyklė prisimins HTTPS reikalavimą 2 metus
  • includeSubDomains – taikoma ir visiems subdomenams
  • preload – leidžia įtraukti jūsų domeną į naršyklių HSTS Preload sąrašą (hstspreload.org), tada naršyklė žinos naudoti HTTPS dar prieš pirmąjį apsilankymą

Svarbu: prieš įjungdami HSTS su preload, įsitikinkite, kad visas svetainės turinys ir visi subdomenai veikia per HTTPS. HSTS Preload sąrašo pašalinimas yra ilgas procesas.

Content-Security-Policy (CSP)

CSP nurodo naršyklei, iš kokių šaltinių galima krauti skirtingus resursų tipus. Tai apsauga nuo XSS (Cross-Site Scripting) atakų.

add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'" always;

X-Content-Type-Options

Apsaugo nuo MIME tipo „sniffing” atakų:

add_header X-Content-Type-Options "nosniff" always;

X-Frame-Options

Apsaugo nuo clickjacking atakų (kai jūsų svetainė įterpiama į kitą svetainę per iframe):

add_header X-Frame-Options "SAMEORIGIN" always;

Permissions-Policy

Kontroliuoja, kokias naršyklės funkcijas (kamera, mikrofonas, geolokacija) gali naudoti jūsų svetainė:

add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

SSL sertifikato tikrinimas ir stebėjimas

Po SSL diegimo svarbu patikrinti, ar viskas veikia teisingai, ir nustatyti stebėjimą, kad sužinotumėte apie problemas anksčiau nei jūsų lankytojai.

Tikrinimo įrankiai

SSL Labs (ssllabs.com/ssltest)
Išsamiausias nemokamas SSL konfigūracijos tikrinimo įrankis. Patikrina:

  • Sertifikato galiojimą ir grandinę
  • Protokolų palaikymą (TLS versijas)
  • Šifravimo algoritmus
  • Pažeidžiamumus (BEAST, POODLE, Heartbleed, DROWN ir kt.)
  • Suteikia bendrą įvertinimą nuo A+ iki F

Siekite A+ įvertinimo. Tam reikia:

  • TLS 1.2 ir TLS 1.3 palaikymo (išjungti senesnes versijas)
  • Stiprių šifravimo algoritmų
  • HSTS antraštės
  • Tinkamos sertifikatų grandinės

SecurityHeaders.com
Tikrina HTTP saugumo antraštes ir suteikia įvertinimą.

Mozilla Observatory (observatory.mozilla.org)
Patikrina įvairius svetainės saugumo aspektus, įskaitant SSL konfigūraciją.

Stebėjimo įrankiai

  • Uptime Robot – galite stebėti SSL sertifikato galiojimo datą ir gauti pranešimus, kai sertifikatas artėja prie pabaigos
  • StatusCake – siūlo SSL stebėjimą kartu su svetainės pasiekiamumo stebėjimu
  • Keychest – specializuotas SSL sertifikatų stebėjimo įrankis
  • Certbot atnaujinimo cron – jei naudojate Let’s Encrypt, Certbot automatiškai atnaujina sertifikatą, tačiau verta pridėti stebėjimą, kad žinotumėte, jei atnaujinimas nepavyko

Dažniausios SSL problemos ir jų sprendimas

1. „Your connection is not private” (ERR_CERT_AUTHORITY_INVALID)

Priežastis: naršyklė neatpažįsta sertifikavimo institucijos. Dažniausiai trūksta tarpinių sertifikatų (CA Chain / Bundle).

Sprendimas: įdiekite pilną sertifikatų grandinę. Serverio konfigūracijoje nurodykite ne tik savo sertifikatą, bet ir tarpinių CA sertifikatus.

2. „NET::ERR_CERT_DATE_INVALID”

Priežastis: sertifikatas pasibaigęs arba dar neprasidėjęs.

Sprendimas:

  • Atnaujinkite sertifikatą
  • Patikrinkite, ar serverio laikrodis rodo teisingą laiką ir datą
  • Jei naudojate Let’s Encrypt, patikrinkite, ar Certbot cron darbas veikia

3. „NET::ERR_CERT_COMMON_NAME_INVALID”

Priežastis: sertifikato domeno vardas nesutampa su svetainės adresu. Pavyzdžiui, sertifikatas išduotas jusuverslas.lt, bet svetainė pasiekiama per www.jusuverslas.lt.

Sprendimas: įsitikinkite, kad sertifikatas apima visus reikalingus domeno variantus (su ir be www). Let’s Encrypt atveju:

certbot --nginx -d jusuverslas.lt -d www.jusuverslas.lt

4. Mixed Content klaidos

Priežastis: dalis svetainės resursų (vaizdai, CSS, JavaScript) vis dar kraunama per HTTP.

Sprendimas:

  • Naršyklės konsolėje (F12 → Console) rasite konkrečius probleminius URL
  • Pakeiskite http:// į https:// arba naudokite protokolo santykines nuorodas //
  • WordPress atveju naudokite papildinį „Really Simple SSL” laikinai, o ilgalaikiškai pakeiskite visas nuorodas duomenų bazėje

5. SSL sertifikatas neatnaujinamas automatiškai

Priežastis: Certbot cron darbas neveikia arba DNS validacija nepavyksta (wildcard sertifikatų atveju).

Sprendimas:

  • Patikrinkite Certbot žurnalus: certbot renew --dry-run
  • Patikrinkite cron darbą: systemctl status certbot.timer
  • Wildcard sertifikatams: įsitikinkite, kad DNS API prieiga veikia

6. SSL sulėtina svetainę

Priežastis: pasenusi konfigūracija arba neteisingas TLS handshake nustatymas.

Sprendimas:

  • Naudokite TLS 1.3 (greitesnis handshake nei TLS 1.2)
  • Įjunkite OCSP Stapling (serveris patikrina sertifikato galiojimą vietoj naršyklės):
ssl_stapling on;
ssl_stapling_verify on;
  • Naudokite HTTP/2 arba HTTP/3 (reikalauja HTTPS, tačiau žymiai pagreitina svetainę)
  • Įjunkite SSL session cache (naršyklė neprivalo kaskart atlikti pilno handshake):
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

Pažangios SSL temos

Certificate Transparency (CT)

Certificate Transparency yra atvira sistema, registruojanti visus išduotus SSL sertifikatus viešuose žurnaluose. Tai leidžia domeno savininkams stebėti, ar kažkas neišdavė sertifikato jų domenui be jų žinios.

Kaip naudoti:

  • crt.sh – nemokama CT žurnalų paieška. Įveskite savo domeną ir pamatysite visus kada nors išduotus sertifikatus.
  • Google Certificate Transparency Search – Google teikiamas CT žurnalų paieškos įrankis.

Tai naudinga aptikti:

  • Neautorizuotus sertifikatus jūsų domenui
  • Pamirštas subdomenų svetaines
  • Potencialias phishing svetaines, naudojančias panašius domeno vardus

CAA įrašas (Certificate Authority Authorization)

CAA DNS įrašas nurodo, kurios sertifikavimo institucijos turi teisę išduoti sertifikatus jūsų domenui. Tai apsauga nuo neautorizuoto sertifikato išdavimo.

jusuverslas.lt.    CAA    0 issue "letsencrypt.org"
jusuverslas.lt.    CAA    0 issuewild "letsencrypt.org"
jusuverslas.lt.    CAA    0 iodef "mailto:admin@jusuverslas.lt"

Šis nustatymas leidžia tik Let’s Encrypt išduoti sertifikatus jūsų domenui. Bet kuri kita CA atsisakys išduoti sertifikatą.

DANE ir TLSA

DANE (DNS-based Authentication of Named Entities) yra technologija, leidžianti susieti SSL sertifikatą su DNS per DNSSEC. TLSA (Transport Layer Security Authentication) įrašas nurodo, koks sertifikatas arba viešasis raktas turi būti naudojamas.

Tai pažangi technologija, naudojama retai, tačiau suteikianti papildomą saugumo sluoksnį, ypač el. pašto serveriams.

OCSP Stapling

Kai naršyklė tikrina SSL sertifikato galiojimą, ji paprastai kreipiasi į sertifikavimo institucijos OCSP (Online Certificate Status Protocol) serverį. Tai prideda papildomą užklausą ir lėtina svetainės krovimą.

OCSP Stapling leidžia serveriui pačiam periodiškai gauti OCSP atsakymą ir jį „prikabinti” (staple) prie TLS handshake. Naršyklei nebereikia kreiptis į CA serverį atskirai.

ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;
resolver_timeout 5s;

SSL sertifikatų ateitis

SSL/TLS technologija nuolat vystosi. Štai kelios tendencijos, kurios formuoja artimiausią ateitį:

Trumpesni galiojimo laikotarpiai

Industrija juda link vis trumpesnių sertifikatų galiojimo laikotarpių. Let’s Encrypt nuo pat pradžių naudoja 90 dienų sertifikatus. 2023 metais Google pasiūlė sutrumpinti maksimalų sertifikato galiojimą iki 90 dienų visiems CA. Tai skatina automatizuoti sertifikatų valdymą ir sumažina riziką, jei privatus raktas būtų kompromituotas.

Post-kvantinė kriptografija

Kvantiniai kompiuteriai ateityje galės pralaužti šiandieninius šifravimo algoritmus (RSA, ECDSA). NIST (National Institute of Standards and Technology) jau standartizavo pirmuosius post-kvantinius algoritmus (ML-KEM, ML-DSA). Chrome ir kiti naršyklės jau pradėjo eksperimentuoti su hibridiniais raktų apsikeitimo mechanizmais, kurie atsparūs kvantiniams kompiuteriams.

Automatizacijos augimas

ACME protokolas, kurį populiarino Let’s Encrypt, tampa standartu. Vis daugiau CA siūlo ACME palaikymą, o sertifikatų valdymas tampa visiškai automatizuotu procesu, nereikalaujančiu žmogaus įsikišimo.

ECH (Encrypted Client Hello)

TLS 1.3 su ECH užšifruoja ir serverio pavadinimą (SNI lauką), kuris šiuo metu perduodamas atviru tekstu TLS handshake pradžioje. Tai reiškia, kad net tinklo stebėtojas nematys, kokią svetainę lankote (matys tik serverio IP adresą). Cloudflare jau palaiko ECH, ir technologija plečiasi.

Kontrolinis sąrašas: SSL sertifikato diegimas ir priežiūra

  • [ ] Pasirinktas sertifikato tipas (DV, OV, EV) pagal poreikius
  • [ ] Pasirinktas sertifikato apimtis (single domain, wildcard, multi-domain)
  • [ ] SSL sertifikatas įdiegtas serveryje
  • [ ] HTTP peradresuotas į HTTPS (301 peradresavimas)
  • [ ] Vidinės svetainės nuorodos atnaujintos į HTTPS
  • [ ] Mixed Content klaidos patikrintos ir ištaisytos
  • [ ] TLS 1.2 ir TLS 1.3 įjungti (senesni protokolai išjungti)
  • [ ] HSTS antraštė sukonfigūruota
  • [ ] OCSP Stapling įjungtas
  • [ ] SSL Labs testas rodo A arba A+ įvertinimą
  • [ ] Automatinis sertifikato atnaujinimas sukonfigūruotas (Let’s Encrypt)
  • [ ] SSL stebėjimas nustatytas (pranešimas prieš sertifikato pabaigą)
  • [ ] CAA DNS įrašas pridėtas
  • [ ] Google Search Console atnaujintas su HTTPS adresu
  • [ ] Sitemap.xml naudoja HTTPS URL
  • [ ] Saugumo antraštės (CSP, X-Frame-Options, X-Content-Type-Options) sukonfigūruotos
  • [ ] CT žurnalai patikrinti dėl neautorizuotų sertifikatų

Apibendrinimas

SSL sertifikatas šiandien yra ne prabanga ir ne pasirinkimas. Tai bazinis reikalavimas kiekvienai svetainei, nepriklausomai nuo jos dydžio ar paskirties. Be SSL jūsų svetainė žymima kaip nesaugi, praranda pozicijas Google paieškoje ir kelia riziką lankytojų duomenims.

Pagrindiniai principai:

  • Kiekvienai svetainei reikia SSL. Nėra išimčių. Net informacinė svetainė be formų turi būti pasiekiama per HTTPS, nes naršyklės žymi HTTP svetaines kaip nesaugias.
  • Let’s Encrypt pakanka daugumai svetainių. Nemokamas DV sertifikatas su automatiniu atnaujinimu yra puikus pasirinkimas asmeninėms svetainėms, tinklaraščiams, mažoms ir vidutinėms verslo svetainėms.
  • OV ir EV sertifikatai tinka specifiniams poreikiams. Jei veikiate finansų sektoriuje, tvarkote jautrius duomenis ar norite aukščiausio validacijos lygio, investuokite į mokamą sertifikatą.
  • Automatizuokite atnaujinimą. Pasibaigęs sertifikatas reiškia nepasiekiamą svetainę ir prarastus lankytojus. Certbot su Let’s Encrypt tai atlieka automatiškai.
  • SSL yra tik pirmas žingsnis. Pilnam saugumui reikia ir saugumo antraščių (HSTS, CSP), ir teisingos serverio konfigūracijos, ir nuolatinės stebėsenos.
  • Naudokite TLS 1.3. Tai greičiausias ir saugiausias šifravimo protokolas, palaikomas visų šiuolaikinių naršyklių.
  • Tikrinkite savo konfigūraciją. SSL Labs testas per kelias sekundes parodo, ar jūsų SSL konfigūracija yra saugi ir optimali. Siekite A+ įvertinimo.

SSL sertifikatas veikia tyliai fone. Lankytojai jo nepastebi, kai viskas veikia. Tačiau jo nebuvimas iš karto krenta į akis, kai naršyklė parodo raudoną „Nesaugu” įspėjimą. Geriau investuoti 10 minučių į diegimą šiandien, nei rytoj aiškintis, kodėl lankytojai palieka svetainę dar nespėję pamatyti jūsų turinio.

Į viršų