Requisits previs
Instal·leu Certbot
Configuració de Nginx
Obtenció d'un certificat SSL Let's Encrypt
Renovació automatitzada
Configuració millorada
Let's Encrypt és una autoritat de certificació (CA) que proporciona certificats SSL gratuïts amb un client automatitzat. Si utilitzeu un certificat SSL Let's Encrypt, podeu xifrar el trànsit entre el vostre lloc web i els vostres visitants. Tot el procés és senzill i les renovacions es poden automatitzar. A més, tingueu en compte que la instal·lació o renovació de certificats no provoca cap temps d'inactivitat.
En aquest tutorial, utilitzarem Certbot per obtenir, instal·lar i renovar automàticament el vostre certificat SSL. Certbot està sent desenvolupat activament per Electronic Frontier Foundation (EFF) i és el client recomanat per Let's Encrypt.
Requisits previs
- Una instància de Vultr amb Ubuntu 16.04
- Un nom de domini registrat que apunta al vostre servidor
- Nginx
Instal·leu Certbot
Per obtenir un certificat SSL Let's Encrypt, heu d'instal·lar el client Certbot al vostre servidor.
Afegiu el repositori. Premeu la ENTERtecla quan se us demani que accepteu.
add-apt-repository ppa:certbot/certbot
Actualitzeu la llista de paquets.
apt-get update
Continueu instal·lant Certbot i el paquet Nginx de Certbot.
apt-get -y install python-certbot-nginx
Configuració de Nginx
Certbot configura automàticament SSL per a Nginx, però per fer-ho ha de trobar el bloc del servidor al fitxer de configuració de Nginx. Ho fa fent coincidir la server_namedirectiva del fitxer de configuració amb el nom de domini per al qual esteu sol·licitant un certificat.
Si utilitzeu el fitxer de configuració predeterminat, /etc/nginx/sites-available/defaultobriu-lo amb un editor de text com ara nanoi cerqueu la server_namedirectiva. Substituïu el guió baix, _, amb els vostres propis noms de domini:
nano /etc/nginx/sites-available/default
Després d'editar el fitxer de configuració, la server_namedirectiva hauria de tenir el següent aspecte. En aquest exemple, suposo que el vostre domini és example.com i que esteu sol·licitant un certificat per example.com i www.example.com.
server_name example.com www.example.com;
Continueu verificant la sintaxi de les vostres edicions.
nginx -t
Si la sintaxi és correcta, reinicieu Nginx per utilitzar la nova configuració. Si rebeu algun missatge d'error, torneu a obrir el fitxer de configuració i comproveu si hi ha errors ortogràfics i, a continuació, torneu-ho a provar.
systemctl restart nginx
Obtenció d'un certificat SSL Let's Encrypt
La següent comanda obtindrà un certificat per a vostè. Editeu la vostra configuració de Nginx per utilitzar-la i torneu a carregar Nginx.
certbot --nginx -d example.com -d www.example.com
També podeu sol·licitar un certificat SSL per a dominis addicionals. Només cal que afegiu l' -dopció " " tantes vegades com vulgueu.
certbot --nginx -d example.com -d www.example.com -d example.net -d example.net
En cas que només vulgueu obtenir el certificat de Let's Encrypt sense instal·lar-lo automàticament, podeu utilitzar l'ordre següent. Això fa canvis temporals a la configuració de Nginx per obtenir el certificat i els reverteix un cop s'ha baixat el certificat.
certbot --nginx certonly -d example.com -d www.example.com
Si feu servir Certbot per primera vegada, se us demanarà que introduïu una adreça de correu electrònic i accepteu les condicions del servei. Aquesta adreça de correu electrònic s'utilitzarà per als avisos de renovació i seguretat. Un cop hàgiu proporcionat una adreça de correu electrònic, Certbot sol·licitarà un certificat de Let's Encrypt i executarà un repte per verificar que controleu el domini en qüestió.
Si Certbot pot obtenir un certificat SSL, us preguntarà com voleu configurar la vostra HTTPSconfiguració. Podeu redirigir els visitants que visiten el vostre lloc web mitjançant una connexió no segura o deixar-los accedir mitjançant la connexió no segura. Normalment s'hauria d'habilitar perquè garanteix que els visitants només accedeixin a la versió protegida amb SSL del vostre lloc web. Seleccioneu la vostra elecció i, a continuació, premeu ENTER.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Finalment, Certbot confirmarà que el procés ha tingut èxit i on s'emmagatzemen els vostres certificats. Els vostres certificats ja s'han descarregat i instal·lat.
Renovació automatitzada
Com que Let's Encrypt és una autoritat de certificació gratuïta i per animar els usuaris a automatitzar el procés de renovació, els certificats només són vàlids durant 90 dies. Certbot s'encarregarà de renovar els certificats automàticament. Ho fa executant-se certbot renewdues vegades al dia mitjançant systemd.
Podeu comprovar que la renovació automàtica funciona executant aquesta ordre.
certbot renew --dry-run
També podeu renovar manualment el vostre certificat en qualsevol moment executant l'ordre següent.
certbot renew
Configuració millorada
Les ordres anteriors obtenen i instal·len el certificat SSL amb una configuració adequada per a la majoria dels casos. Si voleu implementar mesures de seguretat avançades per al vostre lloc web, podeu utilitzar l'ordre següent per obtenir el certificat.
certbot --nginx --rsa-key-size 4096 --must-staple -d example.com -d www.example.com
El --rsa-key-size 4096utilitza una clau RSA de 4096 bits en lloc de clau de 2048 bits, que és més segur. L'inconvenient d'això és que una clau més gran provoca una lleugera sobrecàrrega de rendiment. A més, és possible que els navegadors i dispositius antics no admetin claus RSA de 4096 bits.
La --must-staplesuma de l'extensió de grapat de OCSP necessitat per al certificat i configura Nginx per OCSP grapat. Aquesta extensió permet als navegadors verificar que el vostre certificat no s'ha revocat i que es pot confiar. Tanmateix, no tots els navegadors admeten aquesta funció.