Let’s Encrypt SSL sertifikat i postavljanje https-a preko cPanela

HTTPS je skraćenica od Hypertext Transfer Protocol Secure i u suštini predstavlja kombinaciju  standardnog HTTP protokola sa SSL/TLS protokolom kako bi se saobraćaj od klijenta do servera osigurao od špijuniranja i falsifikovanja.
What bre? Ukratko – saobraćaj između vas i webservera nije u plaintext formatu već je šifrovan – tako da ako recimo unosite u nekoj formi svoju adresu, broj telefona, broj kartice – niko između vas i sajta to neće moći tako lako upecati.

Nigde nisam mogao da nađem neko bolje uputstvo za prebacivanje sajta (bilo kog sajta) sa HTTP-a na HTTPS preko cPanela…mislio sam da je to neka zajebana nauka čim se niko ne bavi time…ispostavilo se da nije.

U ovom tekstu ću vam pokazati kako da sami, bez ikakve pomoći ikoga instalirate na najlakši mogući način besplatni Let’s Encrypt SSL sertifikat koji je doduše još uvek u beta fazi – ali radi normalno…na jedan WordPress sajt, u ovom primeru na moj lični sajt darkodrazovic.in.rs (sertifikat će biti validan 3 meseca pa ću ga deinstalirati 01/03/2016) preko cPanela i od „dodatne opreme“ će nam sem pristupa cPanelu trebati i jedan besplatni CentOS pokrenut pod besplatnim VirtualBoxom…

Naravno, ako ne želite vi da se zajebavate sa ovim instalacijama i čudima ili vam se baš i ne radi produžavanje sertifikata svaka tri meseca možete sertifikate kupiti kod nekog ozbiljnijeg prodavca, kompanije Ninet recimo u koju imam puno poverenje i ljudi iz njihove tehničke podrške će vam sertifikat instalirati bez kapi znoja.

Dobre strane korišćenja Let’s Encrypt SSL sertifikata: Besplatan za bilo kakvu upotrebu, nisam primetio neke probleme sa njim
Loše strane korišćenja Let’s Encrypt SSL sertifikata: Još uvek je u beta fazi što znači da se mogu (ne mora da znači i da će ih biti) očekivati neki krahovi i sertifikat mora da se obnavlja svaka 3 meseca. Još jedna loša strana je za ljude koji nisu iz struke poprilično komplikovana procedura – što u principu ikome ozbiljnijem nije.

Korak 0: https://gethttpsforfree.com/

Sajt koji je koliko toliko automatizovao generisanje Let’s Encript sertifikata, tako da ne morate da instalirate klijent na svom računaru, već možete na ovom sajtu odraditi veliku većinu stvari. Prvi put će vam za izradu i instalaciju sertifikata trebati malo više vremena jer vam sve novo (ako niste ovo ranije radili) – ali je u principu to posao od 5 minuta. Dakle….startujemo virtualnu mašinu na kojoj je moj omiljeni CentOS 6 i kačimo se na nju preko PuTTy-ja kao root korisnik a sa svojim kompom odlazimo na web adresu https://gethttpsforfree.com/ pa krećemo od…

Korak 1 – Account Info

  1. Unesite vašu email adresu
  2. Kliknite na link (how do I generate this?)
  3. Komande koje vam pišu dole – okinite na vašoj virtualnoj mašini preko PuTTy-ja…i ono što vam se ispiše iz druge komande…
  4. …kopipejstujte u Account Public Key i
  5. Kliknite na Validate Account Info…ako je sve ok ospisaće vam se poruka „Looks good! Proceed to Step 2!

Korak 1

Korak 2 – CSR sa vašeg cPanela

Sad idem na cPanel da bih generisao CSR koji ću da prekopiram u polje iz koraka 2 sa gethttpsforfree.com…dakle….idem na darkodrazovic.in.rs/cpanel, logujem se, pa na SSL/TLS Manager pa na Certificate Signing Requests (CSR) i tu kliknem na Generate, view, or delete SSL certificate signing requests pa dole pod „Generate a New Certificate“ popunjavam domene na koje će se odnositi sertifikat (darkodrazovic.in.rs), City (Belgrade), State (Serbia), Country (RS – Serbia), Company (DarkoDrazovic.in.rs), Company Division (NA), Email (infо@kоmpjutеras.сom), Description (NA) i kad to popunim klikem na Generate

CSR

…a vrednost koju dobijam pod ENCODED CERTIFICATE kopiram…

CSR prekopirati

…pa pejstujem u korak dva na https://gethttpsforfree.com/ pa kliknem na VALIDATE CSR. Ako ste sve uradili kako treba, pisaće vam  „Found Domains…..“

CSR Validiran

Korak 3 – API Request

U koraku 3 trebate bukvalno da u Putty-ju kojim ste se nakačili na virtualnu mašinu okinete komandu koja vam je navedena….i da ono što vam ona ispiše prekopirate u polje ispod komande….i tako 3 puta…pa kliknete na Validate Signatures

API

Ovako to treba da izgleda

Ovako to treba da izgleda

Korak 4 – Verify Ownership

Sad dolazite do dela kad treba da dokažete da ste vi vlasnik tog sajta….

  1. Kao u prethodnim koracima – u putty-ju okinite komandu ispod „Run this signature….“ i to što dobijete preko Puttyja prekopirajte u polje ispod
  2. Kliknite na „Option 2 – file-based“ pa
  3. Preko cPanela (ili nekog FTP klijenta) na lokaciju koja vam je navedena u polju „Under this url“ (moraćete da kreirate neke dodatne foldere) napravite fajl koji se zove kao na kraju urla – pa taj fajl editujte i u njega upišite ono što ti piše ispod „Serve this content“ pa sačuvajte…i kad sačuvate…
  4. Kliknite na „I’m now serving this file….“

Verify Ownership

Ako ste to pravilno odradili pisaće vam „Domain verified“

Domain verified

Korak 5 – Instalacija SSL sertifikata na cPanel

Prekopirate ono što vidite u polju „Signed Certificate“……

Install Serticifate

….pa odete na vaš cPanel, kliknete na „Generate, view, upload, or delete SSL certificate“

Install Sertificate - CPanel

….pa tu, u polju „Paste your certificate below“ pejstujete ovo što ste gore kopirali…i klinete na Save Certificate. Primetićete ispod ovoga što ste kopirali da se pojvaio vaš sajt, podatak o tome koliko sertifikat važi i slično…

Upload New Sertificate

Ako je sve OK – dobićete poruku na cPanelu da je sertifikat sačuvan

Sertifikat uspesno uploadovan

Sad taj sačuvani sertifikat treba instalirati. Idite na vašem CPanelu na „Install and Manage SSL for your site“ i kliknite na „Manage SSL sites“

Sertificate install

…iz padajućeg menija izaberite domen na koji postavljate HTTPS pa kliknite na „Browse Certificates“…

Install SSL sertificate

…i izaberite sertifikat koji ste sačuvali (u ovom slučaju za domen darkodrazovic.in.rs) pa kliknite na „Use sertificate“

SSL sertificate list

…pa se vratite na gethttpsforfree.com i ono što vam se nalazi u polju „Intermediate Certificate“ kopirajte….

Install intermediate sertificate

….i pejstujte na vašem Cpanelu u polje „Certificate Authority Bundle (CABUNDLE) i kliknite na Install Certificate

Install Sertificate

Dobićete poruku da je sertifikat uspešno instaliran – i time je vaš posao oko postavljanja SSL sertifikata završen

Uspesno instaliran sertifikat

Sad idite na sajt za koji ste postavili https i isprobajte da li radi….videćete znak uzvičnika ako na stranici ima fotografija koje se vuku sa HTTP-a umesto sa HTTPS-a…ali ćemo to rešiti u sledećem koraku….

Izgled sajta pod HTTPS-om

Izmena linkova u WordPress-u

Sad treba da postavite da svi interni linkovi budu iza HTTPS-a kao i da svi dosadašnji likovi koje ste šerovali po društvenim mrežama budu „redirektovani“ na HTTPS. Prvo što treba da uradite jeste da editujete fajl .htaccess koji se nalazi u root-u vašeg sajta i da mu dodate sledeće linije

Dakle ovako izgleda u htaccess fajlu ta izmena, vezana za darkodrazovic.in.rs i posle save-a fajla….svi linkovi koji su išli na http://darko……in.rs/neki_link sad idu na https://darko…..in.rs/neki_link i na koji god interni link da kliknete na sajtu – vodiće vas na https

htaccess

Sad ostaje deo oko zamene svih http://darkodrazovic linkova u bazi. Pre bilo čega – napravite bekap MySQL baze (može preko CPanela).
Možda nije baš po PS-u, ali ja taj rename linkova radim preko skripe skinute sa https://interconnectit.com koja se zove Search and Replace DB. Dakle, skinete poslednju verziju programa, uploadujete taj zip na root sajta, raspakujete (u CPanelu, desni klik i Extract) i reimenujete folder u nesto slabije prepoznatiljivo (ja sam ga reimenovao u aaaddd)…potom u svoj browser ukucavam: https://darkodrazovic.in.rs/aaaddd

  1. REPLACE stari url WITH novi url
  2. Dry Run – kako bih video gde će sve promene biti primenjene
  3. Live Run – kako bih reimenovao sve linkove sa starog na novi url

Zamena Linkova

Kad se proces završi, možete odraditi isto za svaki slučaju i sa rename http://www.darkodrazovic u https://darkodrazovic možda se neki link od ranije vuče a da nije isti (dakle svi interni linkovi bi trebalo da budu ili https://sajt.com ili https://www.sajt.com).

Kad je ovaj posao završen, OBRIŠITE FOLDER (u ovom slučaju folder aaaddd), možda ćete morati da obrišete i keš (ako koristite neki WordPress dodatak za keširanje)  i idite na sajt da vidite ima li i dalje znaka uzvičnika na URL-u. U našem slučaju nema.

Ispravan URL sajta

A ako kliknete na katanac imaćete kratak info da je vaša konekcija sa sajtom bezbedna

Sertifikat ispravn

Time je posao postavljanja SSL sertifikata završen za vaš blog ili sajt. Ne zaboravite samo, da Let’s Encrypt sertifikat sad, cenim dok ne izadje iz Public Beta faze, morate obnavljati svaka 3 meseca, tako da postavite sebi neki podsetnik, u Google Calendaru, ili šta već koristite kako podsetnik. Dakle sad, ako biste ostavili neki poverljivi podatak u nekoj formi tamo na sajtu – niko između web servera i vas ne bi mogao da ga upeca….ako biste ostavili komentar na blogu, uljez bi samo video da ste uspostavili konekciju sa sajtom, ne i koji ste komentar ostavili, koju ste mail adresu uneli i slično. Imajte u vidu da je Let’s Encrypt i dalje u beta fazi, kao i da sajt darkodrazovic.in.rs nije na dedicated/VPS-u pa se ne može uticati baš na sve.

 

3 komentara na tekst Let’s Encrypt SSL sertifikat i postavljanje https-a preko cPanela

  • Popara

    Sjajno, dakle sad i zaraženi treš sajtovi mogu da ulivaju osećaj sigurnosti sa https-om

    • Luka

      Takvi sajtovi ce svakako dobiti oznaku kao nebezbedni od strane browsera ili tvog antivirusnog softvera, bez obzira na to koji protokol koriste.

  • Luka

    Svaka cast!
    samo bih dodao da ako zelite ovo da koristite na nivou cPanel servera (za hosting firme), onda treba verifikaciju domena malo promeniti, oni folderi se naprave unutar ‘/usr/local/apache/htdocs/’.

Komentarišite

Email neće biti javno objavljen. Sajt je neobavezan podatak, svi ostali su obavezni.