SSL certifikati i HTTPS sigurnosna veza

Pregled sadržaja

Koja je razlika između HTTP i HTTPS protokola?

HTTP protokol (HyperText Transfer Protocol) čini standardnu vezu za komunikaciju između servera na poslužitelju koji skladišti web stranice i vašeg web preglednika kojim surfate po tim stranicama. Kada neki korisnik posjeti stranicu, sav sadržaj koji ta stranica sadrži (medijski zapisi kao slike i filmići, izvršne datoteke kao razne skripte, stilovi koji su vezani za estetski izgled stranica itd.) šalju mu se putem HTTP protokola u njegov preglednik. Takva veza nije sigurna jer se preko cijelog interneta podaci šalju kao obični tekst te svatko tko prisluškuje vezu može vrlo lako vidjeti te podatke i preuzeti ih. Ovo je posebno opasno kada se radi o web trgovini a podaci koji se tako proslijeđuju su lozinke ili podaci debitnih i kreditnih kartica.

Zbog takve opasnosti razvijen je sigurnosni protokol HyperText Transfer Protocol Secure (HTTPS) koji čuva vezu na način da koristi TLS/SSL enkripciju čime se svi podaci koji se šalju pretvaraju u nerazumljivi tekst tj. kriptiraju se, što znatno otežava potencijalnom hakeru da njuška i krade informacije. Dakle, ako se zatraži podatak vaše lozinke

123456789

u tom slučaju taj podatak prenosi se kao vrlo dugačak niz nerazumljivih znakova:

MDrzDUmgheOawwIWVi0x/7gQf6+z5Aop03Qrd73HR1g=

Shodno tome, svatko tko bi mogao osluškivati vezu i presresti te podatke, hakeru ne bi značili baš ništa.

Što je SSL?

SSL (eng. Secure Socket Layer) ili noviji TLS (eng. Transport Layer Security) je metoda kriptiranja sadržaja koji se prenosi mrežom a osigurava sigurno slanje povjerljivih podataka. Takvi podaci postanu čitljivima samo onima koji imaju ključ za njihovo dekriptiranje. Dakle time se omogućuje autentičnost i privatnost komunikacije putem Interneta.

Ovakav sustav koristi dva ključa za kriptiranje komunikacije:

  • privatni ključ – nalazi na serveru web stranice i čuva se na sigurnom a koristi se za dekriptiranje podataka
  • javni ključ – raspoloživ je svima koji žele interakciju sa serverom, distribuira se putem certifikata a informacija koja je kriptirana javnim ključem može biti dekriptirana isključivo privatnim ključem

Kada korisnik preko svog web preglednika želi otvoriti stranicu koja je osigurana SSL-om, preglednik traži identifikaciju servera na kojem se nalazi stranica. Server tada šalje pregledniku kopiju svog SSL certifikata, a preglednik provjerava je li pouzdan te po potvrdi šalje poruku serveru. Tada server šalje potvrdu za uspostavljanje sigurne veze preko koje se onda prenose kriptirani podaci između posjetitelja stranice i servera.

SSL certifikati

Za SSL kriptiranje potrebno je imati instaliran i ispravno podešen SSL certifikat. Izdaju ga posebne tvrtke tzv. certifikacijske kuće (CA – Certificate Authority) kao što su IdenTrust, DigiCert, Symantec, Comodo SSL, GlobalSign, Let’s Encrypt… i takvim certifikatima web preglednici (Chrome, Firefox, Edge, Safari…) vjeruju. Certifikat potvrđuje da kada korisnik u pregledniku otvori određenu stranicu da je domena vezana za točno taj subjekt a ne da se lažno odnosi na neki drugi.

Kada korisnik zatraži otvaranje određene web stranice, stranica mu šalje SSL certifikat koji sadrži javni ključ. Računalo posjetioca i server na kojem su smještene stranice prolaze kroz proces zvan SSL/TLS rukovanje što je serija uzajamnih komunikacija kako bi osigurali sigurnu vezu. Time se međusobno provjere i priznaju, uspostave algoritme enkripcije i dogovore oko ključeva sesije.

Tipovi SSL certifikata

Postoje tri glavna tipa SSL certifikata:

  • DV (Domain Validation) – certifikacijska kuća provjerava samo vlasništvo nad domenom a ne i identitet tvrtke, stoga tvrtka nije nužna dostavljati dokumentaciju o svom postojanju. Ovakvi certifikati se vrlo lako i brzo izdaju
  • OV (Organization Validation) – podnositelj zahtjeva treba dokazati da je tvrtka ili organizacija registririrana i pravno odgovorna te taj proces traje nekoliko dana. Ovakvi certifikati se plaćaju a koriste ih organizacije kojima je bitan veći osjećaj sigurnosti
  • EV (Extended Validation) – najrigorozniji ali i najsigurniji certifikat jer certifikacijske kuće verificiraju ne samo domenu već i detaljne dodatne informacije vezane za identitet i poslovanje tvrtke, radi se provjera u sudskom registru, telefonska provjera te razne druge. Izdavanje ovakvog certifikata također traje nekoliko dana a naručitelj certifikata dužan je potpisati poseban ugovor o prihvaćanju uvjeta. Trošak EV certifikat obično je veći od 1000 kn godišnje

Let’s Encrypt DV SSL certifikati

Do prijašnjih godina certifikati su se plaćali i nisu baš bili u povoljnom rangu. Osnutkom Let’s Encrypt certifikacijske kuće započelo se raditi na besplatnom certifikatu DV tipa, s obzirom na to da oni mogu biti potpuno automatiziranih provjera. Prvi certifikati započeli su se nuditi krajem 2015. godine, te od tada web stranice diljem svijeta doživjele su pravi procvat sigurnosnih veza. Let’s Encrypt certifikati važeći su 90 dana, no njihova obnova je automatizirana i jednom kad se podesi možete zaboraviti na nju.

SSL certifikat obično uključuje:

  • naziv domene za koju je izdan certifikat
  • tko je izdavač certifikata ga je izdao
  • digitalni potpis tijela za ovjeru
  • pridružene poddomene
  • datum izdavanja potvrde
  • datum isteka certifikata
  • javni ključ (privatni se čuva u tajnosti)

Koje su prednosti sigurne veze?

Jednostavne stranice koje ne prenose nikakve privatne podatke teoretski mogu imati nekriptiranu HTTP vezu. Na takvim stranicama ne preporučuje se unos bilokakvih privatnih podataka, kao što su lozinke i drugo. No takve stranice također profitiraju od prebacivanje na HTTPS jer su generalno sigurnije i teže je botovima ubaciti zloćudan kod koji može zaraziti stranice ili vaše računalo. SSL autentificira web poslužitelje, što je važno jer će hakeri često pokušati postaviti lažne web stranice kako bi prevarili korisnike i ukrali podatke. Također spriječava hakere da neovlašteno manipuliraju podacima u prolazu.

Možda razmišljate na način da vjerojatno neće netko baš vas osluškivati jer niste zanimljivi hakerima da bi vas netko osluškivao. Potrebno je znati da postoji ogroman broj zlonamjernih botova koji automatski dolaze na razne web stranice i traže sigurnosne propuste gdje mogu napraviti bilokakvu štetu. Takva osluškivanja su često potpuno automatizirana, bez određene namjere da se upravo vas osluškuje.

Ako imate WordPress stranice, samim time što na stranici prijave u sustav postoji obrazac, nužno je stranice prebaciti na sigurnu vezu.

Sigurna veza obavezna je na stranicama preko kojih se proslijeđuju osjetljivi podaci, kao npr. na web trgovinama gdje se obavljaju transakcije putem debitnih ili kreditnih kartica, na sustavima za rezervaciju itd.

Dodatna pozitivna stvar je da stranice s HTTPS certifikatom imaju veći bonus prilikom bolje pozicije na tražilicama, jer je sigurna veza značajan faktor rangiranja još od 2014. godine. Upravo ovo može biti faktor koji odlučuje hoćete li za dlaku biti ispred konkurenciji na stranici rezultata pretraživanja.

SSL se koristi za sigurnu komunikaciju preko interneta ne samo za web stranice nego i za druge razne aplikacije kao što je čitanje mailova ili komuniciranja u realnom vremenu (Skype i sl.).

Kako saznati ima li stranica sigurnosnu vezu?

Pogledajte u web pregledniku adresu stranice. Ako se s lijeve strane nalazi ikona zaključanog lokota HTTPS veza je pravilno podešena i veza je sigurna. U slučaju da ikona prikazuje otključani lokot radi se o običnoj, nesigurnoj HTTP vezi. Dodatan izgled ovisi o samom pregledniku, pa tako Firefox prikazuje crvenu liniju preko lokota, Chrome ne prikazuje lokot već trokut s uskličnikom i pored piše Not secure. Klikom na to pojavljuje se skočni prozorčić s više informacija.

{slika – lokot za sigurnu vezu i slika 2 ili zajedno za nesigurnu vezu, ovisno koji je preglednik}

Ponekad se dogodi da preglednik prikazuje upozorenje o nesigurnosti stranica preko cijelog ekrana. Ukoliko web preglednik posumnja u vjerodostojnost certifikata korisniku prikaže dijaloški okvir i postavi mu pitanje želi li nadstaviti. Ovo može biti slučaj kada je podešena HTTPS veza međutim nisu svi URL-ovi pravilno prebačeni na novi način.

Na koncu, možete koristiti i određene servise kao što je SSL test od SSL Labsa kako bi provjerili ima li stranica SSL vezu te koliko je ona jaka.

Kako se stranice prebacuju na sigurnu vezu?

Dva su koraka:

  1. Instalacija SSL certifikata
  2. Prebacivanje svih URL-ova koje projekt koristi na HTTPS

1. Instalacija SSL certifikata

Da bi omogućili HTTPS vezu potrebno je imati važeći SSL certifikat, a danas je moguće instalirati posve besplatno DV certifikat i postala je uobičajena praksa da ga poslužitelji hostinga omogućujeu prilikom zakupa. Ako ovo nije slučaj, potrebno je provjeriti može li se instalirati preko cPanela. Ili ako želite imati kvalitetniji certifikat OV ili EV tipa kontaktirajte vašeg poslužitelja. U svakom slučaju cjhelokupni taj segment može riješiti korisnička služba vašeg hostinga. Ako vam hosting poslužitelj ovo ne omogućuje, očigledan je znak da morate prebaciti poslovanje na drugi poslužitelj.

Ako utipkate “https://” prije URL-a u adresnoj traci možete provjeriti postoji li sigurna verzija stranice.

2. Prebacivanje svih linkova na HTTPS

Sve putanje na razini samih web stranica potrebno je podesiti da upućuju na novu HTTPS putanju. To se radi na razini baze podataka, te se svi sadašnji URL-ovi vaše domene:

http://stranica.hr

zamijene se s:

https://stranica.hr

Ako koristite WordPress, ovako nešto može se obaviti preko nekih dodataka. Ovisno o samoj temi možda će biti potrebno još prebaciti URL-ove unutar izvršnih datoteka, primjerice ako pozivaju skripte sa CDN servisa. Ovako nešto može se provjeriti kada otvorite web stranicu i provjerite stanje u konzoli preglednika ima li grešaka (kratica CTRL+SHIFT+i).

Potrebno je još unutar .htaccess datoteke postaviti redirekciju na novi protokol, čime garantiramo da se sve stranice doista prebace na HTTPS.

Voilà, vaša web stranica sada je sigurna.

Sažetak

HTTPSe igra veliku ulogu u sigurnosti mrežnih veza i danas je industrijski standard. Nije ga komplicirano za postaviti, jednostavni certifikati posve su besplatni a osim bolje sigurnosti može imati značajan pozitivan utjecaj na poslovanje – izgradnja povjerenja korisnika i bolje rangiranje na tražilicama.

Potrebno vam je omogućiti HTTPS sigurnosnu vezu na web stranicama? Kontaktirajte nas za više informacija.