Kako dodati HTTPS na svoje web mjesto besplatno u 10 minuta i zašto to trebate učiniti više od ...

Prošlog tjedna Google je najavio da će Chrome 68, koji stiže u srpnju, označiti sve HTTP stranice kao "Nisu sigurne".

Ovo je najsnažniji poticaj koji je prema zadanim postavkama usmjerio web prema šifriranju i već dugo dolazi.

Iako postoji mnoštvo dokaza koji govore o tome zašto bi svi trebali uskočiti u HTTPS-ov pojam, mnogi ljudi još uvijek ne vide vrijednost u sigurnom posluživanju svojih web stranica.

" Zašto mi je ovo potrebno za blog ?"

Već sam pisao o vrijednosti HTTPS-a, ali samo da ponovim:

  • HTTPS štiti korisnike od napada Čovjeka u sredini.
  • HTTPS je potreban kako bi iskoristio mnoge nove značajke u preglednicima kao što su Service Workers
  • HTTPS utječe na SEO

Ako niste uvjereni, pročitajte doesmysiteneedhttps.com kako biste dobili potpunu sliku zašto bi svaka web stranica trebala biti poslužena sigurno.

A ako još uvijek ne shvatite, život će vam uskoro postati puno teži.

Nastojeći otjerati korisnike s nesigurnih web mjesta, preglednici sramote web stranice koje se nesigurno poslužuju u određenim kontekstima.

Chrome 56 započeo je taj trend označavanjem stranica s osjetljivim poljima za prijavu kao "Nisu sigurne", dok je Chrome 62 proširio ovo upozorenje na sve HTTP stranice koje su sadržavale bilo koju vrstu polja za unos. Uz to, upozorenje se prikazuje na svim HTTP stranicama u anonimnom načinu, bez obzira sadrže li polje za unos.

Firefox također upozorava korisnike kada pokušaju ispuniti nesiguran obrazac za prijavu.

Sada je Chrome odlučio postaviti ovo upozorenje na sve HTTP stranice ubuduće. Na kraju će se promijeniti ikona pored oznake "Nije sigurno", a tekst će postati crven kako bi se dodatno naglasilo da se HTTP stranicama ne može vjerovati.

Da biste spriječili korisnike da na vašem web mjestu vide ovo upozorenje, sve što trebate je da biste dobili valjani SSL certifikat. Dobra vijest je da to nije tako teško ili skupo kao nekada. Zapravo ću vam pokazati kako besplatno instalirati HTTPS na svojoj web lokaciji pomoću Cloudflarea. I uopće neće trebati puno vremena.

Zašto Cloudflare?

CloudFlare vam može pomoći da besplatno osigurate SSL certifikat, bez obzira na to koju infrastrukturu na strani poslužitelja imate. Također radi na web lokacijama koje su hostirane na platformama koje ne pružaju pristup poslužitelju kao što su GitHub Pages, Ghost i slično.

Ne trebate ništa instalirati niti pisati bilo koji kod. To ga čini zaista izvrsnom opcijom za postavljanje HTTPS-a na vaše web mjesto, a vrijeme postavljanja doslovno ne bi trebalo trajati više od 10 minuta.

Također pruža bezbroj drugih pogodnosti u sigurnosti i izvedbi vašeg web mjesta koje ovdje neću pokriti. Ali malo ću razgovarati o tome kako sve to radi, tako da možete steći dobru ideju o tome kako je u stanju raditi sve te stvari.

Kako Cloudflare djeluje

Cloudflare se nalazi usred prometa između posjetitelja vašeg web mjesta i vašeg poslužitelja. Posjetitelji mogu biti obični ljudi, alati za indeksiranje i botovi (poput robota tražilice) ili hakeri. Djelujući kao posrednik između vašeg web poslužitelja i posjetitelja vašeg web mjesta, Cloudflare pomaže filtrirati sav nelegitimni promet tako da prolaze samo dobre stvari.

Sad se možda pitate može li sve to negativno utjecati na brzinu vaše web stranice, ali upravo je suprotno. Cloudflare ima podatkovne centre po cijelom svijetu, pa će samo koristiti najbližu krajnju točku vašeg posjetitelja, što bi trebalo učiniti vašu web lokaciju puno bržom nego prije.

Sad kad znamo kako Cloudflare radi, pogledajmo kako postaviti web stranicu na njihovoj infrastrukturi i kako besplatno ući na HTTPS. Ovdje će se fokus usmjeriti na značajke koje Cloudflare nudi besplatno, ali imajte na umu da su plaćeni planovi dostupni i s hrpom dodatnih značajki.

Postavljanje nove stranice

Nakon što se prijavite u Cloudflare, prvo što trebate učiniti je dodati domenu i skenirati DNS zapise.

Po završetku skeniranja prikazat će se svi DNS zapisi na domeni. Možete odabrati poddomene na kojima želite omogućiti Cloudflare i izvršiti željene izmjene. Kad ste spremni, kliknite Nastavi da biste prešli na sljedeći korak.

Odaberite besplatni plan i kliknite Nastavi.

Dalje, morat ćete promijeniti poslužitelje imena na registru domene u one koje pruža Cloudflare. Postupak za to kod svakog registra domene malo se razlikuje, pa provjerite kod registratora domene.

Evo kako to izgleda u Namecheap:

Sada morate pričekati da se promjene poslužitelja imena dovrše širenje. Kliknite Ponovno provjeri poslužitelje imena nakon nekog vremena da biste vidjeli je li vaša web lokacija sada aktivna na Cloudflareu. Ovo je najduži dio postavljanja i mogao bi potrajati do 24 sata, ali prema mom iskustvu trebalo je manje od 5 minuta.

Nakon što Cloudflare provjeri vaše ažuriranja poslužitelja imena, vaše web mjesto postaje aktivno na usluzi.

Ako želite biti apsolutno sigurni da su se vaše DNS postavke posvuda širile, What My DNS pruža način provjere na koju IP adresu vaša domena razlučuje na različitim lokacijama.

Također možete koristiti digili nslookupu naredbenom retku za provjeru DNS konfiguracije svojih domena.

Na ovaj način možete biti sigurni da se sav promet koji ide prema vašoj domeni sada usmjerava kroz Cloudflare.

Prije nego što započnete konfiguriranje Cloudflare-a, pobrinite se da vaš preglednik ne koristi stare DNS zapise iz svoje predmemorije. U Chromeu i Firefoxu to možete učiniti brisanjem povijesti preglednika.

Dobivanje SSL-a besplatno

SSL je i dalje premium usluga i mnoga tijela za izdavanje certifikata naplaćuju značajne iznose prije izdavanja SSL certifikata. To nije nešto što svugdje možete dobiti besplatno, ali to se brzo mijenja u industriji.

Sad kad Cloudflare sjedi usred vašeg web prometa, trebali biste automatski dobiti SSL na svojoj domeni. Može proći i do 24 sata da certifikat postane aktivan, ali prema mom iskustvu to uopće ne traje dugo.

Nakon što certifikat postane aktivan, učitajte web mjesto u preglednik. Trebali biste vidjeti web mjesto koje se poslužuje putem HTTPS-a i lijepi zeleni lokot u adresnoj traci.

Ako pogledate više informacija o certifikatu, vidjet ćete tijelo za izdavanje certifikata koje ga je izdalo (Comodo u mom slučaju) i datum isteka. Jedna od sjajnih stvari u vezi s Cloudflareom je ta što se obnova certifikata vrši automatski za vas, tako da nema brige.

Razlika između fleksibilnog, punog i punog (strogog) SSL-a

Cloudflare omogućuje stvarno lako dobivanje SSL-a na vašoj web lokaciji bez ikakvog konfiguriranja, ali to nije uvijek isto kao i posluživanje vaše web lokacije putem SSL-a izravno s izvora.

Postoje tri implementacije Cloudflareova SSL-a. Prvi koji dobivate prema zadanim postavkama je fleksibilni SSL. U ovom je slučaju promet šifriran između korisnika vaše web lokacije i Cloudflarea, ali ta enkripcija ne ide sve do matičnog poslužitelja. Cloudflare i dalje razgovara s vašim poslužiteljem putem običnog HTTP-a.

To znači da bilo koji Čovjek u sredini (poput mrežnog pružatelja usluga) između Cloudflarea i vašeg poslužitelja može vidjeti promet. Ako na svojoj web stranici prikupljate osjetljive podatke, suzdržite se od upotrebe ove opcije.

Da biste imali šifriranje sve do izvornog poslužitelja, morate koristiti implementaciju Full ili Full (Strict). Prvi zahtijeva da na poslužitelj instalirate valjani certifikat, ali autentičnost certifikata neće biti provjerena, tako da možete proći samopotpisanim certifikatom. S druge strane, potpuna (stroga) implementacija zahtijeva da instalirate valjani SSL certifikat koji je potpisao pouzdano tijelo za izdavanje certifikata.

Ako ne želite kupiti SSL od takvih kao što je Comodo, od Cloudflarea možete dobiti besplatne Origin CA certifikate koji se mogu koristiti s opcijama Puna ili Puna (stroga) jer im Cloudflare vjeruje. No imajte na umu da Cloudflare vjeruje samo tim certifikatima pa će oni prestati raditi ako odlučite ukloniti svoje web mjesto s infrastrukture Cloudflare-a.

Ako ne kontrolirate svoje poslužiteljsko okruženje, recimo ako je vaša web lokacija hostirana na GitHub stranicama ili sličnim platformama, nećete moći koristiti implementacije Puna ili Puna (stroga), što znači da iako vaši korisnici vide HTTPS u adresnoj traci, promet neće ići sve do šifriranog izvornog poslužitelja.

Ali to je još uvijek veliko poboljšanje u usporedbi s nijednim HTTPS-om, jer će zaštititi vaše korisnike od toga da budu Man In The Middled na strani klijenta.

Ojačati implementaciju SSL-a

Bez obzira za koju SSL implementaciju se odlučite, postoje načini da je ojačate kako biste bili sigurni da korisnici nikada neće moći pristupiti vašoj web lokaciji putem nesigurnog HTTP-a. Qualys SSL Labs alat je koji vam pomaže da pokrenete test na SSL konfiguraciji kako biste vidjeli ima li prostora za poboljšanje.

Iako na svojoj domeni dobivam ocjenu A, ako detaljno istražite rezultate, vidjet ćete da zasigurno ima mjesta za poboljšanje na strani Razmjena ključeva i Snaga šifre.

Pogledajmo nekoliko stvari koje možemo učiniti u Cloudflareu kako bismo ojačali svoj SSL i povećali ocjenu.

Prisilite HTTPS svugdje

Nakon što prijeđete na HTTPS, definitivno želite spriječiti korisnike da pristupe vašoj web lokaciji putem nesigurne veze. To možete učiniti u Cloudflareu tako što ćete 301 preusmjeriti sav HTTP promet na HTTPS.

U odjeljku Kripto postavke pronađite opciju Uvijek koristi HTTPS i uključite je.

Omogući HTTP strogu sigurnost prijevoza (HSTS)

U prošlosti sam napisao o tome kako HSTS jača SSL vaših web stranica, ali samo da ga ukratko ponovo pređemo.

Problem sa samo 301 preusmjeravanjem HTTP prometa na HTTPS jest taj što početni nesigurni zahtjev i dalje ide preko žice, što znači da ga može pročitati svatko tko ima pristup prometu.

HSTS je zaglavlje odgovora koje rješava taj problem rekavši pregledniku da možda neće uputiti nesigurni zahtjev web mjestu određeno vrijeme.

Ovako izgleda zaglavlje:

strict-transport-security: max-age=31536000

Jednom kada preglednik primi ovo zaglavlje, neće upućivati ​​nesigurni zahtjev na vaše web mjesto sljedećih 31.536.000 sekundi (vrijedi godinu dana). Umjesto toga, svi će se HTTP zahtjevi interno nadograditi na HTTPS prije slanja putem mreže.

Ako želite spriječiti pristup svim poddomenama putem HTTP-a, trebat će vam includeSubdomainsdirektiva. Također možete dodati preloaddirektivu koja će omogućiti dobavljačima preglednika da uvrste vaše web mjesto u sam preglednik kao samo HTTPS.

strict-transport-security: max-age=31536000; includeSubdomains; preload

Nakon što omogućite HSTS na svojoj domeni, možete biti prilično sigurni da će, nakon što netko učita vaše web mjesto putem HTTPS-a, od sada moći pristupiti njemu putem sigurne sheme.

Dakle, prije nego što omogućite HSTS na svojoj web lokaciji, budite sigurni da ćete sav promet poslužiti putem HTTPS-a, u protivnom ćete naići na probleme.

Da biste to omogućili u Cloudflareu, idite na postavke Crypto i pomaknite se dolje do odjeljka HTTP Strict Transport Security (HSTS) . Kliknite Promijeni postavke HSTS-a, omogućite sve relevantne opcije i pritisnite Spremi .

I samo u slučaju da se pitate, podrška za HSTS u pregledniku prilično je dobra.

Ispravite reference nesigurne sheme

Ako pasivni resurs (poput slike) ugradite nesigurno na sigurnu stranicu, preglednik ga i dalje učitava u redu. Samo skida zeleni lokot s adresne trake. Primjer ove pogreške možete vidjeti ovdje.

Ako provjerite konzolu preglednika, vidjet ćete neka upozorenja ili pogreške koje upućuju na resurs koji je nesigurno ugrađen. U ovom je slučaju to

HTTP image

Da biste to popravili, samo promijenite shemu u HTTPS i sve će opet biti dobro.

HTTP image

Ako imate puno sadržaja na svojoj web lokaciji nesigurno ugrađenog, pronalaženje i popravljanje svakog od njih moglo bi biti prilično zamorno. Ali Cloudflare vam ovdje može ponovo pomoći s značajkom Automatic HTTPS Rewrites.

Da biste bili dvostruko sigurni da se niti jedan sadržaj na vašoj web lokaciji nikada ne može nesigurno poslužiti, razmislite o primjeni Pravila zaštite sadržaja na svojoj web lokaciji.

Sada da vidimo kako su gore navedene promjene utjecale na naše izvješće SSL Labs. Ponovio sam test na svojoj domeni i sada smo dobili ocjenu A +.

Ako na grafikonu provjerite pojedinačne ocjene, ništa se nije promijenilo, ali svejedno dobivamo stvarno sigurnu SSL implementaciju besplatno i to u samo nekoliko minuta.

Alternative Cloudflareu za besplatni SSL

Ako iz nekog razloga ne želite koristiti Cloudflare, postoje i drugi načini na koje možete besplatno pristupiti web mjestu na HTTPS-u. Evo dvije mogućnosti koje možete isprobati:

Šifrirajmo

Ako imate kontrolu nad svojim poslužiteljem, možete brzo instalirati HTTPS na svojoj web lokaciji pomoću Let's Encrypt. Oni nude besplatne SSL certifikate koji traju tri mjeseca i mogu se automatski obnoviti.

Čak i ako nemate pristup poslužitelju, obratite se svom web hostu. Neki će vam domaćini omogućiti upotrebu Let's Encrypt SSL bez pružanja pristupa ljusci.

Amazon AWS Certificate Manager

Amazon također izdaje i automatski obnavlja SSL certifikate za kupce na svojoj infrastrukturi Amazon Web Services (AWS). Na taj način možete postaviti i zaboraviti HTTPS na svojoj web lokaciji ako koristite AWS resurse poput Cloudfronta.

Bez obzira na to kako implementirate HTTPS na svojoj web stranici, najvažnije je osigurati što brže postavljanje kako bi vaši korisnici dobili sigurnosne pogodnosti koje pruža i ne biste propustili nekoliko sjajnih značajki u preglednicima koje će vam pomoći stvarate bolja web iskustva.

Ako vam se svidio ovaj članak, podijelite s drugima koji bi mu mogli pročitati. Usput, potražite članke o web razvoju na mom blogu na freshman.tech. Hvala na čitanju.