Probabil cam toți cei care au câte un site (mai mic sau mai mare) au auzit că Google s-a supărat și că, de la 1 ianuarie 2017, va marca cu roșu website-urile fără certificat SSL, indiferent dacă procesează diverse informații (date personale, carduri bancare) sau nu. În acest articol voi vorbi despre instalarea unui certificat SSL gratuit Lets Encrypt pentru securizarea adresei URL a panoului de autentificare Sentora.
Ce este un certificat SSL și la ce folosește
Certificatele SSL sunt folosite pentru a securiza schimbul de informații prin Internet: informații despre carduri bancare, parole și, în general, orice informație care se doreste să rămână privată.
Certificatele SSL criptează informațiile înainte ca acestea să circule prin Internet. Informațiile criptate nu pot fi decriptate decât de serverul căruia îi sunt adresate. Acest lucru garantează că informațiile trimise către un website nu vor fi furate sau modificate.
Sunt diverse entități care vând certificate SSL (și nu costă puțin), dar sunt și certificate SSL valide oferite gratuit. Dacă pentru firmele mari care oferă tranzacții financiare și alte minuni se impune cumpărarea unui astfel de certificat, nu văd de ce un simplu blog sau forum, care nu lucrează cu carduri bancare, ar da bani pe așa ceva. Pentru un blog/site de informare/forum, un certificat SSL gratuit e la fel de bun ca unul plătit. Cel mai celebru și nou serviciu care oferă certificate SSL gratuite este Let's Encrypt.
Sentora este unul dintre cele mai simple și confortabile panouri web existente. Cea mai mare bubă a sa era lipsa securității. Prin criptarea adresei cu care putem accesa Sentora este eliminată această problemă.
În rândurile de mai jos voi prezenta modul de instalare a unui certificat SSL gratuit Let's Encrypt pentru pagina de autentificare a panoului web Sentora pe un server Ubuntu și CentOS, urmând ca într-un articol viitor să prezint și modul de instalare pentru domeniile web gestionate de Sentora.
Pentru început trebuie să precizez că instalarea certificatului SSL gratuit de la Let's Encrypt este recomandată FĂRĂ Varnish Cache instalat pe server.
În comenzile de mai jos înlocuiți apt-get din Ubuntu cu yum în CentOS.
E mai simplu ca, înainte de a executa comenzile pentru instalarea certificatului SSL de la Let's Encrypt să schimbați userul în root cu comanda sudo su
.
Instalarea mod_ssl
Modulul pentru Apache mod_ssl este necesar doar în CentOS minimal, căci în Ubuntu se instalează în același timp cu Apache 2.2+. Pentru activarea sa în Ubuntu trebuie executată comanda: a2enmod ssl
Pentru instalarea mod_ssl în CentOS se scrie comanda:
yum install mod_ssl
Instalarea openssl
Se dă comanda:
apt-get install openssl
Se verifică instalarea sa în Sentora Panel --> Admin --> PHPinfo --> Full PHP Configuration --> căutăm openssl.
NECESAR în CentOS: se editează fișierul /etc/httpd/conf.d/ssl.conf și se schimbă linia Listen 443 în #Listen 443 (se comentează prin adăugarea caracterului #).
Instalare git și Let's Encrypt
Se vor folosi următoarele comenzi (încă o dată reamintesc: pentru CentOS se înlocuiește apt-get cu yum):
apt-get install git
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help
Crearea unui certificat SSL pentru panoul de autentificare Sentora
Trebuie să închidem Apache înainte de generarea certifcatului SSL, pentru a nu primi eroarea de mai jos:
The program httpd (process ID XXXX) is already listening on TCP port 80. This will prevent us from binding to that port. Please stop the httpd program temporarily and then try again.
NOTĂ: înlocuți panel.domeniu.ro cu adresa voastră a panoului de autentificare Sentora.
În Ubuntu 14.04:
service apache2 stop
./letsencrypt-auto certonly --standalone -d panel.domeniu.ro
service apache2 start
În CentOS 7:
systemctl stop httpd
./letsencrypt-auto certonly --standalone -d panel.domeniu.ro
systemctl start httpd
Schimbarea portului Sentora:
În Sentora Panel mergem la Admin --> Sentora Config --> Sentora Apache Port și schimbăm în 443, după care salvăm cu Save:
Adăugarea unei intrări personalizate în Sentora Virtual Host
Se merge la Sentora Panel apoi la Admin --> Module Admin --> Apache Config --> Global Sentora Entry
NOTĂ: nu uitați să schimbați în codul de mai jos panel.domeniu.ro cu adresa voastră de conectare la panpul de autentificare Sentora (codul de mai jos funcționează pentru Apache > 2.4):
SSLEngine on
SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
SSLCertificateFile /etc/letsencrypt/live/panel.domeniu.ro/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/panel.domeniu.ro/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/panel.domeniu.ro/chain.pem
# Keeping bellow for future upgrades.
# Requires Apache >= 2.4
SSLCompression off
Salvăm vhost-ul cu Save.
Așteptăm daemon-ul să ruleze sau îl rulăm forțat cu comanda de mai jos:
php -q /etc/sentora/panel/bin/daemon.php
Se restartează serverul Apache.
În Ubuntu 14.04:
service apache2 restart
În CentOS 7:
systemctl restart httpd
În acest moment, adresa URL cu care vă conectați la panoul de autentificare Sentora va fi securizată cu SSL și veți folosi https în loc de http. Puteți verifica acest lucru aici: https://www.ssllabs.com/ssltest/
Reînnoirea automată a certificatului SSL de la Let's Encrypt
Este descrisă la finalul articolului despre certificatele SSL ale domeniilor înregistrate în Sentora.
Precizez că cele descrise în acest articol funcționează fără probleme pe serverele VPS Ubuntu 14.04/CentOS 6/7 de la chroot.ro.
În articolul următor voi prezenta securizarea cu certificate SSL gratuite a domeniilor adăugate în panoul de control Sentora.
Andrei Telteu a zis
La VestaCP mai nou bifezi Let’s Encrypt si gata. Se ocupa el de restul.
Bobses a zis
Vreau să trec și eu pe Vesta, doar că n-am timp să-mi setez mașina. Sper să reușesc s-o fac în concediu, peste vreo lună.
Malin a zis
Eu folosesc certbot-auto pe Sentora si letsencrypt-vesta pe VestaCP
Bobses a zis
Cu Vesta n-am lucrat. Chiar vreau să-l încerc într-o mașină virtuală.
Marius a zis
Eu nu pot sa zic ca e cea mai simpla varianta. La easyengine dai o singură comandă pentru instalarea SSL-ului. Simplu, eficient, ai un cronjob setat la 89 de zile și îl actualizează singur.
Bobses a zis
Știu că tu folosești easyengine; din păcate, nu funcționează decât cu WordPress. Promit că, atunci când nu voi mai site-ul în Joomla, voi face și eu trecerea la easyengine.