Daar staat hij dan, uw website, gloednieuw en nog helemaal netjes, klaar om gelanceerd te worden. Maar is hij beveiligd? En als u hem beveiligd hebt, is die beveiliging dan wel goed ingesteld? Geen zorgen: HTTPS is makkelijker dan u denkt.

Een SSL certificaat is snel genoeg besteld, maar daarna begint het verwerkingsproces. Dit kan per product verschillen: een DV certificaat is vaak binnen enkele minuten al uitgegeven, terwijl het bij een EV certificaat soms enkele dagen kan duren voordat alle verificatiestappen zijn doorgelopen. Maar wanneer u uw certificaat ontvangt, of heeft kunnen downloaden in onze portal, zien ze er allemaal ongeveer hetzelfde uit. Uw certificaat zit verpakt in een zip-bestandje, samen met het rootcertificaat van de CA die uw certificaat heeft uitgegeven, en alle eventuele intermediate certificaten die zijn meegenomen in het proces.

De installatie van uw SSL certificaat hangt vervolgens af van de soort serversoftware waar u gebruik van maakt: een Apache of NginX server heeft een heel ander installatieproces dan DirectAdmin of Windows Server. Op onze helpdesk staan handleidingen voor de installatie van SSL certificaten op de meest voorkomende servers, die u kunt volgen om snel uw certificaat te installeren.

Configuratie

Maar alleen installeren is niet genoeg om het beste uit uw certificaat te halen. De configuratie van uw server en hoe deze omgaat met het HTTPS-protocol is minstens net zo belangrijk als uw certificaat zelf. Door de volgende drie stappen toe te passen, kunt u uw configuratie naar een hoger niveau trekken. In hoeverre deze stappen voor u van toepassing zijn, hangt ook af van de wijze waarop uw website gehost is: is uw server in uw eigen beheer, heeft u veel meer mogelijkheden qua configuratie dan wanneer u gebruik maakt van shared hosting. Bij shared hosting bent u afhankelijk van de mogelijkheden die uw hostingpartij aanbieden.

Poort 80 en poort 443

Uw internetverkeer loopt standaard over netwerkpoort 80. Deze poort is door de Internet Assigned Numbers Association (IANA), een onderdeel van de ICANN, bestempeld als de internationale standaard voor HTTP-verkeer. HTTPS-verkeer, daarentegen, loopt over poort 443. Om er zeker van te zijn dat uw website altijd bezocht wordt via HTTPS kunt u in de configuratie vastleggen dat verkeer dat via poort 80 aankomt op uw website, geredirect wordt naar poort 443.

Hoe u dit doet, hangt af van de serversoftware op uw webserver. Wanneer u gebruik maakt van software als Apache of NginX, kunt u dit doen door een of enkele regels toe te voegen aan de configuratie, waarin u een redirect doet van HTTP naar HTTPS. In de Apache configuratie ziet dit er als volgt uit:

<VirtualHost *:80>
RewriteEngine OnRewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] </VirtualHost>

In de NginX configuratie ziet dit er als volgt uit, maar maakt gebruik van een 301-redirect:

server {listen 80 default_server;

listen [::]:80 default_server;

return 301 https://$host$request_uri;

}

Uiteraard zal het aanpassen van uw configuratie anders werken wanneer u andere serversoftware gebruikt, raadpleeg daarom altijd eerst de handleiding van de software zelf. Ook kan het voorkomen dat u software gebruikt die wijzigingen in de configuratie alleen toestaan op admin-niveau. In dat geval is het aan te raden in te loggen bij uw hostingpartij om te controleren of zij de mogelijkheid aanbieden via hun platform.

HSTS

U kunt ook via de browser van uw bezoekers afdwingen dat zij voortaan netjes uw website via HTTPS bezoeken. Dit doet u door een HSTS-header toe te voegen aan uw configuratie. HTTP Strict Transport Security, oftewel HSTS, is een response header die toestaat dat browsers gedwongen worden voor alle opvolgende requests die ze naar een server sturen, HTTPS te gebruiken. Dit betekent dat een bezoek naar http://www.networking4all.com automatisch wordt doorgestuurd naar https://www.networking4all.com, zonder dat er eerst een request wordt gestuurd voor de HTTP-pagina. Dit voorkomt ook dat er tijdens een Man in the Middle attack een downgrade attack kan worden toegepast die het verkeer over een onbeveiligde verbinding zou dwingen in plaats van de versleutelde HTTPS-verbinding.

Om gebruik te maken van HSTS, voegt u simpelweg een regel code toe aan uw configuratiebestand:

Strict-Transport-Security: max-age= 31536000; includeSubDomains; preload

Hiermee stelt de server vast dat er voor een duur van 1 jaar, oftewel 31536000 seconden, gebruik gemaakt wordt van HSTS. Door de toevoeging van het ‘includeSubDomains’-commando worden ook alle subdomeinen meegenomen met deze header.

HSTS heeft wel één nadeel: uw bezoekers zullen minimaal één keer uw website moeten hebben bezocht via HTTP, zodat de browser de header kan oppikken. Daarom heeft Google Chrome de optie om opgenomen te worden in hun HSTS preload-lijst. Hiermee wordt een website hardcoded in Google Chrome opgenomen, zodat bezoekers aan die website altijd via HTTPS gestuurd wordt. Hiervoor zijn wel een aantal eisen gesteld: de website moet een geldig certificaat hebben, verkeer via poort 80 moet worden omgeleid naar HTTPS, alle subdomeinen moeten via HTTPS geleid worden, en er moet een HSTS header zijn toegevoegd aan de config. U kunt zelf controleren of uw website toegevoegd kan worden aan deze preload-lijst via hstspreload.org.

TLS

De eerste publieke versie van het SSL-protocol, SSLv2.0, stamt al uit 1995. Zowel versie 2.0 als opvolger SSLv3.0 zijn inmiddels achterhaald door gigantische vulnerabilities met wereldwijde gevolgen zoals POODLE. SSLv2.0 wordt al door geen enkele browser meer ondersteund; SSLv3 wordt daarentegen nog wel ondersteund. Daarom is het aan te raden om in uw configuratie op te nemen dat bezoekers dit protocol niet meer mogen gebruiken. In plaats daarvan wordt aangeraden om TLSv1.2 of hoger te gebruiken.

Als u gebruik maakt van Apache kunt u de volgende regel toevoegen aan uw configuratie:

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Hiermee dwingt u bezoekers om gebruik te maken van TLSv2 en nieuwer.

NginX pakt het juist andersom aan:

ssl_protocols TLSv1.2;

Door die regel toe te voegen aan uw configuratie dwingt u browsers alleen gebruik te maken van TLSv1.2.

Afhankelijk van de software op uw server zult u wellicht andere stappen moeten ondernemen. Op de website https://disablesslv3.com kunt u opzoeken hoe u uw configuratie kunt aanpassen.

Handige tools

Om het u gemakkelijk te maken zijn er tegenwoordig vele tools beschikbaar die kunnen helpen met het configureren van uw website. Een van deze tools is de SSL Config Generator van Mozilla, die voor verschillende typen serversoftware een voorbeeldconfiguratie genereert op basis van de aangegeven waarden. Maar wees er wel op beducht dat u niet klakkeloos dit soort voorbeelden kopieert! Zoals security researcher Scott Helme ook zegt: dit zou uw website onbereikbaar of onbruikbaar kunnen maken. Zoek in plaats daarvan altijd de handleiding van uw software op om te controleren hoe u aanpassingen kunt maken in uw configuratie.

Met deze drie configuratie-upgrades is uw website al een heel stuk veiliger. Wilt u controleren of uw configuratie helemaal klopt? Laat uw website eens controleren door onze Quickscan, te vinden op onze helpdesk. In ons volgende artikel over het opwaarderen van uw HTTPS duiken we wat dieper uw configuratie in.

Lees relevante artikelen

Categorie  SSL & Security | Tags  https Security ssl