Säkra upp dina tjänster med certifikat från Let’s Encrypt

Nu finns det inte längre några ursäkter att inte ha https påslaget på sina tjänster. Let’s Encrypt (https://letsencrypt.org/) tillhandahåller gratis certifikat som fungerar i alla moderna webbläsare.

Jag roade mig med att sätta upp ett cert på min server hemma och passade på att skapa ett skript som automatiskt förnyar certet innan det går ut. Servern kör CentOS 7 med Apache, men det går lätt att modifiera till annan webbserver/operativ.

Strategin med Let’s Encrypt som jag följde var att låta dem starta en http-lyssnare i samband med att certet skapades. Sedan använder man en ACME-challenge i sin webbroot för uppdateringen för att slippa ta ner webbservern i samband med förnyelsen.

Så här gjorde jag för att skapa certet (man behöver Git och bc installerat på servern):

sudo mkdir /opt/letsencrypt
sudo chown : letsencrypt
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
sudo servicectl stop httpd.service
/opt/letsencrypt/letsencrypt-auto certonly --standalone
sudo servicectl start httpd.service

Let’s Encrypts script kördes interaktivt och där angav jag hostnamn etc (cybermoose.org och www.cybermoose.org).

Nu finns certet under

/etc/letsencrypt/live/cybermoose.org/...

Man behöver sedan peta in lite SSL-relaterad info i sin virtuella host som lyssnar på det namnet:


ServerName cybermoose.org
ServerAlias www.cybermoose.org


SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/cybermoose.org/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cybermoose.org/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/cybermoose.org/chain.pem
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"

Nu ska servern svara på https och leverera grönt hänglås i webbläsaren.

En bra sajt som testar kvaliteten på anslutningen är SSL Labs.

När detta ser bra ut kan man lägga till autouppdatering av certifikatet. För det används ett skript – le-renew-certificates.sh med tillhörande konfigurationsfil le-cybermoose.org-webroot.ini

Alla skript och konfigurationen finns på Github

Konsult på C.A.G Contactor med specialitet inom Java EE och Linux. Brinner för Open Source och driftar några spelservrar på fritiden.

Publicerad i Cloud Computing, DevOps, Linux

Kategorier

WP to LinkedIn Auto Publish Powered By : XYZScripts.com