Certificate Let's Encrypt pentru Webmin/Virtualmin
update-ul webmin la versiunea 1.940 elimină clientul Let's Encrypt și poate genera erori
webmin update 1.940 removes the included Let's Encrypt client and can throw errors
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.
Pentru a instala certificat pentru Webmin trebuie să mergem la Webmin Configuration, SSL Encryption. În primul tab vedem setările generale pentru SSL.
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.
Î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:
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.
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