Sådan sikre du Apache med Let’s Encrypt på Ubuntu

Sådan sikre du Apache med Let’s Encrypt på Ubuntu

0

Nu er der ikke længere nogen undskyldning for ikke at sikre din hjemmeside eller webshop med HTTPS. Det er både gratis, godt for din SEO og en basal sikkerhedsfunktion, som alle bør benytte.

Hvad er HTTPS, og hvordan fungerer det?

HTTPS er en internetprotokol, som beskytter dine brugeres data og personlige oplysninger, når de kommunikerer med dit website. Det sker vi TLS, som krypterer oplysningerne, så de ikke kan aflyttes eller ændres. Dit website bliver derved sikret mod mellemmandsangreb og dit domæne bliver typisk vist med en grøn hængelås, som øger dine brugeres tillid.


Hvad har HTTPS med SEO at gøre?

Googles officielle webmaster blog har de meldt ud, at Google nu benytter HTTPS som et ranking signal, der vil få endnu større betydning i nærmeste fremtid. Samtidig kan man på Googles Security Blog læse, at deres Chrome browser fra januar 2017 løbende vil begynde at vise almindelige HTTP sider med en rød advarselstrekant.


De tre typer TLS certifikater

Der eksisterer tre typer TLS certifikater, som alle giver dig den grundlæggende SSL-beskyttelse. Forskellen på de forskellige certifikater er den valideringsproces du og evt. din virksomhed skal igennem for at opnå dem.

De tre typer TLS certifikater er Domain Validated (DV), Organization Validated (OV) og Extended Validation (EV). For den første type skal du blot bekræfte, at du har kontrol over selve domænet, mens certifikatmyndigheden har pligt til i forskellig grad at bekræfte dine virksomhedsoplysninger ved udstedelsen af de to andre typer certifikater.

I de fleste browsere vil du ved alle typer certifikater opnå den grønne hængelås i adresselinjen, mens du ved Extended Validation certifikater også får din virksomheds navn fremhævet i grønt.


Hvem bør vælge et Let’s Encrypt TLS certifikat?

Let’s Encrypt er en certifikatmyndighed, der tilbyder gratis TLS certifikater siden april 2016. Organisationen udsteder Domain Validated (DV) certifikater, som er super nemme at installere og du kan uden særlig konfiguration installere flere certifikater på den samme server med kun en IP adresse.

Det er altså både nemt og gratis at sikre dit website med HTTPS, men det betyder ikke nødvendigvis, at et Domain Validated (DV) certifikat er det rigtige til dit formål. Hvis du driver en veletableret virksomhed, kan du drage fordel af den ekstra tillid og forsikring et kommercielt udstedt OV eller EV certifikat kan tilbyde.

For alle andre hvor alternativet vil være en traditionel usikker HTTP forbindelse, er der altså ikke længere nogen udskydning for ikke at skifte til HTTPS.

Sådan installerer du Let’s Encrypt TLS/SSL certifikater

Følgende er en vejledning til, hvordan du installerer et eller flere SSL certifikater på en Ubuntu server, der kører med Apache som webserver og har et eller flere domæner konfigureret. Det forudsættes, at du ved hvordan du logger ind på din server via SSH og benytter sudo til at opnå superbruger rettigheder.

Efter denne længere introduktion kan jeg glæde jer med, at selve installationen kun indebærer tre step:

1. Download Let’s Encrypt klienten

I første omgang skal du downloade Let’s Encrypt klienten fra Electronic Frontier Fondation (EFF) hjemmesiden. Du kan downloade certbot-auto klienten til folderen /usr/local/sbin og gøre scriptet eksekverbart ved at skrive følgende tre kommandoer:

$ cd /usr/local/sbin
$ sudo wget https://dl.eff.org/certbot-auto
$ sudo chmod a+x /usr/local/sbin/certbot-auto

2. Opsætning af SSL certifikatet

Selvom du kan samle flere domæner under et Let’s Encrypt certifikat, vil jeg anbefale, at du kun samler subdomæner under et hoveddomæne, og i stedet opretter ét certifikat per domæne.

Når du kører certbot-auto kommandoen skal du udskifte example.com kom med dit eget domæne og skrive –d foran eventuelle subdomæner og aliaser. Følgende er et eksempel på hvordan du kan oprette et hoveddomæne med www-varianten som subdomæne:

$ certbot-auto --apache -d example.com -d www.example.com

Du vil blive bedt om en e-mailadresse til brug ved gendannelse af adgangsnøgle og notifikationer, og du vil blive stillet valget mellem at aktivere både http og https adgang eller at viderestille alle forespørgsler til https.

Du burde nu være i stand til at besøge dit website med https præfiks. Du kan gentage cert-auto kommandoen for at installere certifikater på evt. resterende domæner.

3. Opsætning af auto-fornyelse med cron job

Let’s Encrypts certifikater er gyldige i 90 dage, men det anbefales , at du fornyr dem hver 60 dage. Det kan du gøre med følgende kommando, som automatisk tjekker de installerede certifikater og fornyr dem, hvis der er under 30 dage til deres udløbsdato.

$ certbot-auto renew

En praktisk måde at sikre sig, at dine certifikater aldrig udløber, er ved hjælp af et cron job som kører kommandoen en gang om ugen. Indtast følgende for at redigere din superbrugeres crontab:

$ sudo crontab -e

Indsæt følgende kode på én linje:

30 2 * * 1 /usr/local/sbin/certbot-auto renew >> /var/log/le-renew.log

Når du har gemt cron jobbet, vil certbot-auto renew kommandoen køre hver mandag kl. 2:30 og dine certifikater vil automatisk blive fornyet, hvis der er under 30 dage til deres udløbsdato.

Du kan tjekke resultatet af kommandoen i din log fil under /var/log/le-renewal.log og du bør tjekke Let’s Encrypts blog for vigtige nyheder en gang i mellem.