Google a anunțat că din Iulie 2018 site-urile fără HTTPS vor fi marcate în Chrome 68 ca „Not secure”, ceea ce e nasol de tot. Cumva Google forțează și obligă indirect administratorii de site-uri să își instaleze certificate SSL având în vedere popularitatea browser-ului Chrome.
Am discutat de câteva ori despre certificatul SSL din spatele unui site, în primul rând din considerente de SEO, dar mai nou Google forțează și cumva obligă site-urile să folosească o conexiune HTTPS. Anunțul oficial e aici.
Ei încearcă de câțiva ani să facă trecerea de la http la https și au avut rezultate foarte bune, undeva între 70 și 80% din traficul din Chrome e securizat printr-o conexiune https. Asta nu înseamnă că 80% din site-uri au certificate SSL, nu am găsit o statistică, dar 81 din top 100 site-uri au https.
Ca să fie clar, un certificat SSL instalat și o conexiune HTTPS realizată corect se observă prin apariția unui https verde și a unui lacăt verde în address bar-ul browser-ului. Exemplu:
Dacă ai ajuns să citești până aici înseamnă că:
- nu ai încă un certificat SSL și site-ul tău e încă pe http. Vezi direct cum obții și setezi un certificat SSL
- ai un certificat SSL, dar site-ul e încă pe http. Mergi direct la soluție.
- ai un certificat SSL, site-ul e pe https, dar acesta nu e verde. Mergi direct la soluție.
Dacă ești interesat de mai multe informații despre subiect ai nevoie de 10-15 minute libere pentru a citi articolul. Am detaliat subiectul SSL şi vei afla cum poţi obține un certificat SSL gratuit, cum treci ușor site-ul pe conexiune HTTPS și care sunt beneficiile.
Ce sunt conexiunea HTTPS și certificatul SSL? (informativ)
HTTPS este un protocol web prin care comunicarea dintre site si utilizator este securizată/criptată prin folosirea unui certificat SSL. Acesta din urmă este un fișier cu date criptate care își are locul pe server. În mare, SSL reprezintă o legătură criptată între server-ul web şi browser-ul vizitatorului care asigură siguranța transferului de date între cele două.
Internetul nu e altceva decât un lanț de calculatoare interconectate. Imaginați-vă că dintr-un punct în celălalt oricine poate avea acces la informații. Prin criptarea datelor, acestea pot fi interceptate, dar nu pot fi înțelese.
HTTPS este un protocol de comunicație destinat transferului de informație criptată prin intermediul WWW. A fost dezvoltat din necesitatea de a proteja de intruși transferul datelor prin HTTP – un protocol “clear-text”, prin care datele de pe server-ul web sunt transmise browser-ului client în clar, posibilitățile de a intercepta acest transfer constituind tot atâtea posibilități de a accesa și utiliza fără restricții informațiile respective. HTTPS nu este altceva decât HTTP “încapsulat” cu ajutorul unui flux SSL/TLS – datele sunt criptate la server înainte de a fi trimise clientului, astfel încât simpla interceptare a acestora pe traseu să nu mai fie suficientă pentru a avea acces la informații. Sursa Wikipedia
Avantajele conexiunii HTTPS (informativ)
- Oferă o conexiune securizată, ajută la protejarea informațiilor utilizatorilor, date de login, informații personale, etc
- Este unul din factorii de ranking pe care Google îi apreciază din ce în ce mai mult, deci oferă un avantaj în stabilirea poziției în căutări,
- Este un factor de încredere, acel lacăt verde din bara URL a browser-ului spune utilizatorilor că site-ul este sigur și protejat,
- Varianta EV (extended validation) ofera și informații despre organizația/societatea din spatele site-ului, un alt factor de încredere.
Ce e Let’s Encrypt și de ce oferă acest certificat SSL gratuit? (informativ)
O mică echipă sub numele de Let’s Encrypt s-a hotărât să facă internetul un loc mai sigur. Ei au fost și sunt sprijiniți prin donații de utilizatori simpli din comunitate și prin pachete de sponsorizare de mai marii internetului. Printre cei care ne fac cinste cu certificate SSL gratuite putem găsi:
Mai multe informații găsiți pe site-ul Let’s Encrypt, dar ca să vă faceți idee de sumele cu care se sponsorizează:
Platinum | $350,000/yr (USD) $300,000/yr (USD) with a 3-year commitment |
Gold | $150,000/yr (USD) |
Silver | $50,000/yr (USD) 1000+ employees $25,000/yr (USD) 100-999 employees $10,000/yr (USD) 1-99 employees |
Certificatele mai sunt gratuite pentru că nu beneficiem de niciun suport tehnic din partea echipei Let’s Encrypt, valabilitatea unui certificat este de 90 zile după care trebuie reînnoit și nu avem acces la certificate Organization Validation (OV) sau Extended Validation (EV).
Câteva informații despre certificatul SSL EV (informativ)
Acest certificat mai este cunoscut și sub numele de Greenbar, evident de ce. În address bar apare numele organizației/firmei din spatele site-ului. Prețul unui astfel de certificat începe de pe la 80$/an și majoritatea firmelor de hosting oferă posibilitatea achiziționării și configurării unuia. Nu există o variantă gratuită pentru că are loc o verificare manuală a celor care fac cererea pentru acest certificat.
Nu sunt beneficii suplimentare, e doar o metodă de a scoate în evidență securitatea și de a căpăta mai ușor încrederea utilizatorilor.
Cum funcționează Let’s Encrypt? (informativ)
Explicația pe scurt este că serverul generează și trimite un Fișier CSR (Certificate Signing Request) cu o cheie publică și cu semnătura unei chei private pe care a salvat-o pe server. În momentul în care cererea ajunge la Let’s Encrypt și cheile coincid, se generează certificatul pentru domeniul respectiv și, împreună cu cheia publică, se trimit înapoi la server.
Explicația completă poate fi găsită aici, dar chiar și dacă ești pur și simplu curios, s-ar putea să te bage puțin în ceață. Dacă nu administrezi un server, sau ceva de genul, poate nu ar trebui să te preocupi cu asta.
Cum obții un certificat SSL gratuit? 2 situații.
1. Cel mai des întâlnit și fericit caz e când ai un cont cPanel, iar hosting-ul îți oferă posibilitatea instalării unui certificat SSL gratuit de la Let’s Encrypt prin cPanel.
Dacă nu ai achiziționat deja găzduire pentru site-ul tău, iată recomandările mele de hosting în România care oferă certificate SSL gratuite.
După autentificarea în cPanel, mergi la secțiunea security și caută „Lets Encrypt SSL”. Dacă îl găsești, după ce dai click vei găsi o listă cu domenii în dreptul cărora e câte un buton de Issue. Pe principiul next, next, next, instalezi certificatul SSL pe ce domeniu vrei tu.
2. Nu ai cPanel, sau nu ai opțiunea de Lets Encrypt SSL în cPanel.
Aici procesul este mai complicat și sunt mai multe modalități prin care poți continua. Dacă crezi că nu te descurci, încearcă să discuți cu cei de la hosting, sau cere ajutorul unui specialist. Dacă nu cunoști pe nimeni care să te ajute, lasă-mi un comentariu sau trimite-mi un mail la contact@panabogdan.ro și te ajut să găsești o soluție.
Varianta cea mai simplă este să te folosești de https://www.sslforfree.com/. Au toate instrucțiunile clare, dar trebuie să te descurci să urci câteva fișiere pe server. Varianta asta presupune și puțină încredere în site-ul lor, pentru că toată acțiunea e menajată de ei, inclusiv cheile private.
Varianta puțin mai complicată este prin https://gethttpsforfree.com/, care nu are nicio treabă cu cheile private, dar presupune mai mult efort din partea ta, o consolă și ceva cunoștințe tehnice, sau tupeu. Trebuie să generezi fișierul CSR.
Varianta oficială e cea de aici https://certbot.eff.org/, care din nou, cere cunoștințe tehnice.
Ca să testezi, accesează site-ul folosind HTTPS și ar trebui să meargă, chiar dacă e verde, sau nu. Ideea e să nu primești eroare.
Cum setezi conexiunea HTTPS pe site?
Dacă ai trecut cu succes de primul pas, poți accesa site-ul cu HTTPS, dar cel mai probabil poți accesa în continuare site-ul și pe varianta cu HTTP. Asta pentru că nu ai făcute setări specifice HTTPS și niciun redirect de la HTTP la HTTPS.
Voi lua pe rând cele mai uzuale 3 platforme, WordPress, Prestashop și Magento
WordPress HTTPS
Primul pas este editarea url-urilor din Settings->General și modificarea din http în https
Ca să scapi de bătăi de cap, instalează pluginul Really Simple SSL, configurarea înseamnă 2 clickuri. Cu asta ai terminat.
Prestashop HTTPS
După autentificarea în panoul de administrare Prestashop urmăriți pașii:
- Preferences -> General.
- Enable SSL, click YES.
- Enable SSL on all pages, click YES.
- Save și șterge cache-ul.
Magazinul online în Prestashop, ar trebui să funcționeze și să redirecționeze pe HTTPS.
Magento HTTPS
După autentificarea în panoul de administrare Magento urmăriți pașii:
- System-> Configuration -> General -> Web -> Secure.
- Adaugă url-ul cu https la Base URL
- Setează Yes la Use Secure URLs in Frontend
- Setează Yes la Use Secure URLs in admin
- Save și șterge cache-ul.
Magazinul online în Magento, ar trebui să funcționeze și să redirecționeze pe HTTPS.
Altele
Dacă ai un site simplu, cu câteva pagini HTML sau PHP va trebui să înlocuiești peste tot url-urile http cu https. Ulterior trebuie să cauți sau să creezi în folderul site-ului un fișier .htacces în care să adaugi:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Dacă folosești alt CMS îți sugerez să cauți o soluție online, dacă ai o platformă custom dezvoltată mergi direct la dezvoltator.
Ca să testezi setarea https, orice link ai accesa trebuie să se redirecteze cu succes spre varianta cu HTTPS, indiferent dacă e verde, sau nu. Testează URL-ul cu http, fără http, cu www și fără www, în toate combinațiile.
Cum rezolvi problema de mixed content când HTTPS nu e verde.
Dacă ai ajuns în situația în care site-ul se încarcă cu https, dar acesta nu e verde, înseamnă că în interiorul paginii ai linkuri interne care încă folosesc http. Linkurile pot fi de la imagini, de la alte pagini, de la fișierele css, javascript, etc.
Cele mai simple metodie de a le identifica sunt să intri în sursa paginii și să dai search cu http://domeniultau.com și http://www.domeniultau.com, sau să deschizi consola din Chrome sau Firefox, sau să testezi site-ul cu un tool de genul https://www.whynopadlock.com.
Oricare metodă îți va da o listă cu linkuri pe care trebuie să le editezi cu HTTPS. Va dura puțin să le găsești, dar depinde de la caz la caz. Pentru WordPress, pluginul Really Simple SSL face toată treaba, în Prestashop și Magento rămân doar linkurile puse cu căi absolute prin conținut, dar în celelalte cazuri pot fi oricâte și de oriunde.
Astfel de linkuri cu http pot fi găsite și prin fișierele temelor, fișierele css, js, etc în funcție de cine și cum a dezvoltat site-ul. Poți lua în calcul să faci un grep prin fișierele site-ului și un search în exportul bazei de date.
Ce trebuie să faci după ce treci pe HTTPS?
- Multe teste, inclusiv și pe mobile, a linkurilor și redirect-ului pentru a nu cauza pierderea traficului organic adus de linkurile cu poziții bune în Google.
- Modificarea linkului în contul de Google Analytics, precum și toate setările care folosesc url-uri ale paginilor din site,
- Crearea unui nou property in Google Search Console folosind url-ul cu HTTPS, refă sitemap-ul și pornește un nou crawling al site-ului,
- Schimbă linkurile prin social media și pe unde le-ai mai pus, redirectul de la HTTP la HTTPS e un pas în plus în accesarea site-ului, chiar dacă durează puțin și e relativ insesizabil, postările vechi se vor redirecta automat
- Tot legat de social media, trebuie verificate și acele counters de like-uri și share-uri. Eposibil ca unele să ia automat linkul cu https, altele nu și trebuie modificate, sau înlocuite.
- Modifică url-urile din campaniile PPC dacă e cazul.
Concluzia
Nu mai poți ignora pentru mult timp acest aspect și nu este niciun motiv pentru care să o faci. Setarea unui certificat SSL gratuit este gratuită și ușoară.
Din nou, dacă te blochezi în timpul procesului, lasă un comentariu, sau trimite un mail la contact@panabogdan.ro și vedem despre ce e vorba.
17 Comments
Pluginul Really Simple SSL rezolva problema SSL pt orice site WordPress.
Multumesc!
Articolul este foarte bine documentat. Mi-a fost de folos, astfel încât am trecut și eu de la http:// la https:// Mulțumesc !
Mă bucur că ți-a fost de folos!
Foarte bun articolul!! Eu stiam numai de CloudFlare … dar de al tine am aflat de alternative mai inteligente. Mersi!
cum gasesc Lets Encrypt SSL” pc Dell Inspiron 7459 si nu ma descurc absolut deloc cateodata si cred ca pot sa mor langa pc si sa caruntesc ca tot nu reusesc ,spun pt ca uneori sunt varza cand am lucruri de facut la pc, iar unele le rezolv pt ca le nimeresc nu ca as fi un priceput .
Ma poate ajuta cineva Va rog ? cum sa gasesc Lets Encrypt SSL” eu ma iau dupa pasi descris de aici dar nici asa nu ma prea descurc .
Multumesc
Explică ce vrei să faci.
Salut, Vreau sa instalez https la un site al meu dar este aprope gol si nu stiu cum sa fac asta .
Urmareşte tutorialul sau contactează hostingul.
Salut Bogdan,
Mă poți ajuta să trec acest site pe https?
Multumesc!
Salut. Trimite-mi mail pe contact@sitebunker.ro
Buna Bogdan! Multumesc pentru articol si ilustratiile din el. Am gasit informatia necesara si am facut ce aveam de facut! keep up the good work!
Mersi. Mă bucur că ai reuşit. Spor în continuare!
[…] trebuie să fie securizat, să aibe un certificat SSL instalat și să nu aibe breșe de securitate. Asigură-te că provider-ul de hosting și developerul au […]
Mersi mult!
Bună! Am incercat să trec la http blogul, dar nu sunt chiar asa simple setarile pt necunoscători. De exmplu m-am blocat la setarile dns, am pus exact cum scria acolo, dar imi zice ca ” dns name …. is not canonical” , am folosit sslforfree(dot)com
E blog pe WordPress?
Bună, este vorba despre blogul meu pe care l-am creat in 2015. Din motive personale am făcut o pauză.. adică o perioadă de câțiva ani nu am mai gestionat paginile din blog. De vreo 2 ani însă, tot încerc să gestionez paginile dar în momentul când dau klick pe ”dischboard” îmi apare un alt blog… . Este doar o pagină creată tot de mine – a fost doar o probă pe aceiași adresă.. deci doar o încercare de a intra cu speranța de a avea acces la gestionarea paginilor (adăugare texte, s.a.). După cum am înțeles spune că nu e sigură pagina… dar aș dori s-o modific s-o fac să fie sigură dar nu mă lasă să intru de la ”dishboard”. Acum ultima speranță este aici pe pagina asta de ajutor, pentru care eu vă mulțumesc cu recunoștință! aici este blogul: https://universulmisterios.blogspot.com/