Biću opširan ali zato i komplikovan. Svi pričaju o tom HTTPS-u sad, SSL/TLS, Google Chrome kažnjava sajtove sa input poljima koji nisu iza https-a bez obzira o kojim se input poljima radi, dobar je za SEO i slično – ali da bacimo na papirče ima li negativnih stvari oko SSL/TLS-a i HTTPS-a. Ako ste tehnikalac i znate osnove – skrolujte do MANE.

Time4VPS Hosting
Time4VPS Hosting
Time4VPS Hosting
Prvo za neupućene – šta je HTTPS? HTTPS je bezbednija verzija zastarelog HTTP-a koja običan HTTP ‘zamiksuje’ sa SSL/TLS protokolom te zašifruje saobraćaj od tačke A koja je tvoj browser – do tačke B koja je web server i teoretski svako ko se postavi između tebe i web servera – ne može ali ništa da pročita više od toga – koji si sajt posetio. Šta ovo praktično znači – kad na sajtu unesete svoj email, ime, prezime, broj platne kartice, žalbu na ženin ručak, Vučiću pederu i slično – ako saobraćaj nije zašifrovan svako ko se postavi između tebe i web servera imaće uvid u sve što si napisao i moći će to zloupotrebiti ako želi – da nešto plati tvojom karticom ili da ti prizove Informer i Pink na vrata….a između mogu da se postave – priučeni hakeri, script kiddies, internet provajder, sva čvorišta koja paket prođe od browera do web servera i pitaj boga ko još.

Dakle – ako unosite bilo kakve osetljive podatke bilo gde – ako ne vidite u address baru browsera katanac i https – odustanite od kupovine ODMAH – jer taj čija je ta internet prodavnica je kurac od ovce kad je ozbiljnost u pitanju te potražite isti proizvod na nekoj drugoj e-lokaciji.

Da li je https u samom address baru browsera koji vidite dovoljan dokaz da je sajt bezbedan?

NE. Prvo – da li je sam SSL sertifikat instaliran kako treba? Da bi https bio ‘u punom sjaju’ moraju se ispoštovati neki standardi koje treba da primeni ćojek koji održava server na kojem se vrti sajt…a da bih objasnio gde sve đavo vreba prvo ću objasniti kako teče komunikacija između browsera (u daljem tekstu zvaćemo ga klijent) i web servera kad je SSL u pitanju…odnosno takozvani SSL handshake iliti SSL rukovanje između klijenta i servera.

Ukucate u svoj Firefox/Chrome/Operu kompjuteras.com – odradi se inicijalna komunikacija preko DNS-a koja taj zahtev uputi na server gde se fizički nalazi sajt i pita sam server – ko si ti…i pošalje mu info na koje sve načine mogu da razmene između sebe ključeve i sertifikate. Ovaj odabere metod pa mu pošalje nazad sertifikat u kojem je između ostalog i domen kao i dokaz da su ta-i-ta osoba ili organizacija zaista zaista vlasnici datog domena – ali i svoj javni ključ. Browser pročita sertifikat i uveri se da je vezan za taj domen ali onda dovati neki random string zašifruje ga javnim ključem servera i proglasi za običan simtrični ključ vezan za datu sesiju pa ga vrati nazad serveru – ovaj pokuša da dešifruje taj simetrični ključ svojim privatnim ključem i ako uspe to postaje i zvanični simetrični ključ vezan za tu sesiju (session key) i dalja komunikacija se odvija preko njega. Zašto simetričnim a ne asimetričnim – jer je lakše za resurse i web servera i browsera. Iako ovo deluje kao ludački proces – zapravo se odvija u delićima sekunde i ne oseti se. Ako se iko postavi između vas i web servera neće imati uvid ni u stranice koje posećejete ni u podatke koje ostavljate, ponavljam – ako je sve iskonfigurisano kako treba i naravno, ako korisnik nije prevaren da koristi drugi sertifikat koji nije validiran.

Asimetrični ključevi ili ti asimetrična kriptografija – je metodologija šifrovanja pomoću dva ključa – javnog i privatnog pri čemu su oba ključa različita. Javni ključ koristi klijent da zašifruje nešto, privatni koristi server da odšifruje to nešto što mu je klijent zašifrovao javnim ključem.
Simetrična enkripcija – to ti je kontra od ovog prvog, kad su ključevi za šifrovanje isti i na strani servera i na strani klijenta. Recimo – pošalješ tekst nekome na papirčetu KJNjZOJ EŠPŠFJ i da pri tom taj neko zna da je papirče poslao Cezar….bilo bi mu dovoljno da zna šta na papirčetu piše (više o Cezarovoj šifri na Wikipediji).

Dakle u gorenavedenom handshake-u, koristila se kombinacija asimetrične i simetrične enkripcije.

OK, ovo je sve OK, zašto onda ‘nije dovoljno’ bezbedno?

Slabe karike su metoda razmene ključeva, sam sertifikat i njegova verzija, tip i jačina enkripcije, implementacija na samom web serveru, biblioteke koje pružaju kriptografske servise web serveru i aplikacijama….ali ne mogu sad pisati nad svakim od njih gde je potencionalni problem – morao bih bar 2-3 dana da kuckam. Najkritičniji je deo vezan za razmenu ključeva i verziju sertifikata – primera radi, sajt koji koristi zastarelu verziju OpenSSL-a….džaba mu sve na ovom svetu iako je iza https-a….jer će maliciozni korisnik koji se postavi između opet moći da čita šta mu srcu milo – pod rupom zvanom „The Heartbleed Bug“ koja je pre 3 godine odjeknula kao atomska bomba u web svetu.

MANE i MITOVI kod prebacivanja sa http na https

Prva i vlasnicima sajtova najbitnija mana – GUBITAK POSETA! Otkud sad to? Stvar je u tome što stariji browseri, Windows XP, stariji Android uređaji ne mogu da isprate novije metode razmene ključeva ili verzija SSL/TLS-a pa sa njih ili nije moguć pristup sajtu ili će posetiocima izbaciti ‘This site is unsecured’ poruku koja će ih odbiti od posete sajtu. Dakle, svi korisnici koji koriste Windows XP, IE stariji od osmice, stare androide i ostalo staro – posete nix…a takvih zastarelih  korisnika ima i zapravo je krivica na njima a ne na vama – ali opet, trpite vi zbog njihove zastarelosti. Primer iz prve ruke – kad je kompjuteras.com prebačen na https – bilo je izgubljeno preko 20% poseta. Ako imate najvišu ocenu na SSL-labs testu…u problemu ste sa korisnicima na starijim browserima i OS-ovima, ako imate nisku ocenu u problemu ste sa bezbednošću komunikacije, ako imate srednju ocenu – onda nit’ vamo nit’ namo….nekako ne valja kako god.

Kako do A+ ocene na SSL-labs testu i na Vesta CP-u – uputstvo ovde

Ja sam otišao na bezbednost iako nema osetljivih informacija na sajtu

 

Like/Tweet counteri će biti ‘najverovatnije’ resetovani! Postoje neki fazoni da se ovaj problem zaobiđe ali malo ljudi zna za njega a malo ljudi i zapravo i primeti da se counter resetovao. Ja iskreno nisam proveravao da li može ovo da se odradi, ali verovaću ljudima.

Moraju da se prate novosti kad je SSL u pitanju! Zašto? HTTP nije kao HTTPS – on je u plaintext formatu i kao takav može da se čita odaklegod i kakogod bez da će nešto da utiče na njegovu bezbednost, dok HTTPS-u u budućnosti može da se desi neki novi Heartbleed Bug – pa će se morati ‘nešto nadograditi’ – što, ako ste vlasnik sajta a niste tehnikalac od vas traži angažman sistemaša, čitaj – dodatni keš. Ako ste na shared hostingu ovo će najverovatnije da isprati sistemaš hosting provajdera – a sad, da li će sigurno – evo ne znam bogami. Praćenje novosti nije problem jer kad se desi neki novi Heartbleed svi živi će drviti samo o tome, nema da brinete…

Nema virusa, nema hakerskih upada, sajt drže ozbiljni ljudi ili kompanije – malo sutra! To što neko ima SSL sertifikat i sve je iza HTTPS-a nikako ne garantuje da se na samom sajtu ne nalazi maliciozni kod, virus ili ikakva zaštita od virusa i ičega. To samo znači da niko ne može (još uvek zvanično, za nezvanično nisam siguran) da snifuje komunikaciju između vas i web servera. Sam sertifikat i njegova validacija zavise od tipa kupljenog sertifikata – neki prodavci skupljih sertifikata nude i dnevno skeniranje sajta u potrazi za malicioznim softverom ili kodom. Domain validated sertifikati, kao što im ime govori su tu samo da potvrde da je domen validiran i da su vaši kontakt podaci vezani za njega – a sad, da li je ozbiljna firma iza tog sajta pitanje je. Možete imati i besplatan LetsEncrypt sertifikat i dići sajt na kojem ćete varati kupce ili kupca – dakle komunikacije će biti bezbedna i tu je sve OK ali postoji mogućnost da vam stigne cepanica umesto Acer laptopa, dakle sem samog katanca u address baru morate da ispratite ipak i reputaciju samog prodavca. Primera radi, na FB u poslednje vreme sve prišti od sajtova koji nude na prodaju korišćene laptopove u odličnom stanju, pri čemu recimo laptop koji bi polovan koštao 400€ – kod njih košta fazon 90…sve je iza https-a, SSL-labs im dao ocenu A+ – a ustvari prevarantski sajt.

Migracija sajta na HTTPS – iako se reklamira kao jednostavna…onome ko nije tehnički potkovan može biti ubica ili dodatni trošak za nekog sistemaša. Sreća je pa ima uputstava na netu kako se radi migracija. U slučaju Kompjuteraš IT bloga, migracija je odrađena pomoću interconnect/it alata za replace urlova u bazi i nekoliko izmena po fajlovima WordPress-a.