Certificate Let's Encrypt pentru Webmin/Virtualmin

Așa cum spuneam aici Update Virtualmin 5.0 și Authentic theme, a apărut un update care include suport pentru certificatele Let's Encrypt.

 

Let's Encrypt este o autoritate emitentă de certificate, mai multe despre ei aici.

 

De ce să-ți pui certificat și să treci pe https?

  • Formularele de login, contact sau unde sunt trimise date personale, nu mai sunt trimise în plain-text, informațiile sunt criptate.
  • Google prioritizează în SERP rezultatele venite prin https.
  • Este gratuit și începe să fie un standard al industriei.

În continuare voi arăta cum se seteaza Let's Encrypt pentru Webmin și Virtualmin. Ne conectăm prin SSH la server. Eu folosesc PuTTY. Dacă nu avem instalat Git, îl instalăm folosind comanda:


apt-get install git

Dacă ne-am conectat folosind root, în consola suntem în directorul root. Dăm următoarea comandă:


git clone https://github.com/letsencrypt/letsencrypt

După finalizare ar trebui să avem în /root/ folderul letsencrypt iar în /root/letsencrypt/ scriptul letsencrypt-auto. Acum suntem gata să setăm modulul din Webmin pentru Let's Encrypt.

 

La Webmin Configuration, facem click pe iconița de setări apoi completăm rubrica Full path to Let's Encrypt client command cu locul în care am download-at Let's Encrypt, în cazul nostru: /root/letsencrypt/letsencrypt-auto și salvăm. Din acest moment Webmin/Virtualmin este pregătit să folosească certificate de la Let's Encrypt.

webmin configuration

configurable options for webmin


Pentru a instala certificat pentru Webmin trebuie să mergem la Webmin Configuration, SSL Encryption. În primul tab vedem setările generale pentru SSL.


ssl encryption webmin

 

SSLv2 și v3 trebuie bifate pentru reject, momentan există niște vulnerabilități pentru aceste protocoale. Ne interesează să instalăm un certificat de la Let's Encrypt așa că vom alege ultimul tab, Let's Encrypt.


ssl encryption webmin letsencrypt

 

În câmpul Hostnames for certificate completăm cu adresa exactă, FQDN-ul unde accesăm Webmin. Este URL-ul din browser, fără protocol (https://) și fără port (:10000 - dacă este cel default). Pentru că dorim certificat pentru Webmin și nu pentru un Virtualhost, va trebui să alegem mai jos un domeniu găzduit pe acest server care va fi folosit pentru validare.

 

După ce am completat toate câmpurile, Request certificate și ar trebui să primim mesajele următoare:


webmin certificate letsencrypt

 

Dacă s-a confirmat instalarea certificatului, putem da refresh și din acest moment Webmin nu va mai da eroarea de self-signed certificate și va folosi certificatul emis de Let's Encrypt.


webmin letsencrypt certificate info

 

Momentan re-înnoirea certificatului nu este automată, el are o valabilitate de 3 luni. Se poate defini un Cron job însă eu prefer să îl generez manual, îmi pun reminder și când vine momentul (preferabil cu câteva zile înainte, pentru a avea timp în cazul în care apar probleme) reiau pașii pentru Request Certificate, nu mai trebuie să setăm încă o dată path-ul pentru Let's Encrypt.

 

Pentru domeniile găzduite pe server, mergem la Edit Virtual Server, Enabled features și bifăm SSL Website enabled pentru a activa virtualhost-ul pentru portul 443. După aceea, la Server Configuration avem opțiunea Manage SSL Certificate unde ultimul tab este Let's Encrypt. Aici lăsăm bifa pe Request certificate for this domain și apăsăm Request Certificate. După confirmare putem accesa domeniul folosind https:// și în funcție de ce găzduiți pe el vor trebui făcute setările și redirectările necesare (http către https).

 

Puteți testa aici configurarea certificatului: SSLLabs