ID.nl logo
Huis

Veiligheidscertificaat https op Apache installeren

In deze workshop laten we zien hoe de installatie en configuratie van Let’s Encrypt werkt in combinatie met de populaire webserver Ubuntu. We kiezen voor een recentere versie van Apache met http/2-ondersteuning.

Hier laten we zien hoe je een certificaat kunt installeren voor een eenvoudige website die draait onder Apache. Als besturingssysteem gebruiken we een minimale installatie van Ubuntu 16.04 LTS (Xenial Xerus). Verder gaan we in deze workshop uit van Apache als webserver. We beginnen met een versie installatie, maar als je Apache al hebt draaien kun je de stappen aanpassen voor je eigen situatie.

We profiteren graag van de extra snelheid van http/2 bij het serveren van pagina’s via https. Hiervoor is minimaal Apache 2.4.17 nodig. Hoewel Ubuntu daaraan voldoet bevat het niet de voor http/2 vereiste mod_http2-module, die nog als experimenteel te boek staat. Er is wel een mogelijkheid om die module toe te voegen, maar gezien enkele kwetsbaarheden is het verstandig om een recentere versie van Apache 2.4.x te installeren, bij voorkeur 2.4.25 of hoger. Die bevat ook meteen de mod_http2-module. Dat is waar we deze workshop dan ook mee beginnen.

Nieuwste versie Apache

Log voor onderstaande stappen in als root, bijvoorbeeld via ssh met Putty. Controleer met

apt-cache policy apache2

apache2 welke versie van Apache eventueel reeds is geïnstalleerd en welke versies beschikbaar zijn via de huidige bronnen. Om over de laatste versie van Apache te beschikken voegen we een veelgebruikte bron toe, ook wel repository genoemd, van een derde partij. Hiervoor zijn enkele tools nodig die je installeert met

apt-get install software-properties-common python-software-properties

Voeg daarna de repository toe met

add-apt-repository ppa:ondrej/apache2

Druk op enter op door te gaan en werk bij met

apt-get update

Een

apt-cache policy apache2

laat zien dat je nu een recentere versie is. Je kunt nu Apache installeren of, als het al eerder is geïnstalleerd, updaten met

apt-get install apache2

Met

apachectl -v

zie je welke versie is geïnstalleerd. Momenteel is 2.4.25 beschikbaar. Vervolg met

apt-get upgrade

om eventuele aanvullende pakketten bij te werken.

Virtual host aanmaken

Apache maakt na de installatie een standaard virtual host aan in de map /var/www/html. Die pagina zie je als je het ip-adres van de server opent in een browser. De configuratie van deze virtual host vind je in 000-default.conf in de map /etc/apache2/sites-available. Daar vind je ook default-ssl.conf voor de ssl-configuratie. Die twee bestanden kun je eventueel als basis voor andere virtual hosts gebruiken, als je meer dan één website wilt activeren.

Je zou voor een https-website zelfs andere content kunnen laten zien dan voor de http-versie door via DocumentRoot naar een andere map te verwijzen. Belangrijk voor die virtual hosts maar ook voor de aanvraag van certificaten is dat je de domeinnaam in dat configuratiebestand zet als ServerName samen met eventuele aliassen. In deze workshop gebruiken we domein.nl als basisdomein en www.domein.nl als alias. Geef dit in 000-default.conf aan met

ServerName domein.nl

met in de regel daaronder

ServerAlias www.domein.nl

of eventueel

ServerAlias *.mijndomein.nl

om meteen alle subdomeinen af te vangen.

Http2-module activeren

Om de http2-module met Apache te gebruiken moet je deze eerst activeren met

a2enmod http2

Activeer ook ssl met

a2enmod ssl

en activeer de virtual host met

a2ensite default-ssl

. Hiermee wordt een symlink aangemaakt in de map /etc/apache2/sites-enabled naar het bestand /etc/apache2/sites-available/default-ssl.conf zodat deze in de actieve Apache-configuratie wordt opgenomen. Herstart daarna Apache met

systemctl restart apache2

om de nieuwe configuratie actief te maken. Test de ssl-verbinding door https://ipadres in de browser te openen. Je krijgt een waarschuwing omdat het self-signed certificaat niet wordt vertrouwd. Zoals je in default-ssl.conf kunt zien gaat het om het certificaat /etc/ssl/certs/ssl-cert-snakeoil.pem. Wil je meer inzicht dan kun je in Chrome met Ctrl+Shift+I naar Hulpprogramma’s voor ontwikkelaars. Het tabblad Security geeft details over het bewuste certificaat. Om van de waarschuwing af te komen gaan we het certificaat vervangen door een certificaat van Let’s Encrypt.

Certbot installeren en certificaat aanvragen

Voor het ophalen van het certificaat heb je een acme-client op je server nodig. Wij kiezen Certbot. De ontwikkelaars houden voor Ubuntu een speciale repository bij met de laatste versie. Het is verstandig die te gebruiken omdat de tool nog actief wordt ontwikkeld. Met

add-apt-repository ppa:certbot/certbot

voeg je deze repository toe. Druk op enter om door te gaan en werk bij met

apt-get update

Installeer vervolgens Certbot met

apt-get install python-certbot-apache

De tool kan voor Apache automatisch een certificaat aanvragen én installeren. We willen dat het certificaat zowel voor het basisdomein domein.nl als voor www.domein.nl geldig is en moeten ze daarom beide opgeven. Dat kan met

certbot --apache -d domein.nl -d www.domein.nl

Begin altijd met het basisdomein, in dit geval domein.nl, gevolgd door alle subdomeinen, met een limiet van 100. Een wildcard zoals je bij sommige duurdere certificaten zien is helaas niet mogelijk bij Let’s Encrypt, je zult dus alle namen op moeten geven. Certbot vraagt vervolgens om je e-mailadres en een paar privacyvoorkeuren.

Als laatste kun je kiezen of je toegang via zowel http als https wilt toestaan of dat http-verzoeken moeten worden omgeleid naar https. We kiezen de eerste optie. In de volgende workshop laten we zien hoe je die tweede optie handmatig activeert zodat je er meer controle over hebt.

Het nieuwe certificaat is direct actief. De bestanden die bij het certificaat horen vind je in de map /etc/letsencrypt/live/domein.nl. Je kunt het proberen door je website via https te bezoeken. De configuratie voor de https-website is opgenomen in /etc/apache2/sites-available/000-default-le-ssl.conf. Je ziet dat Let’s Encrypt de algemene ssl-configuratie in /etc/letsencrypt/options-ssl-apache.conf zet. Die wordt met alle virtual hosts gedeeld, wat wel zo handig is als je enkele aanpassingen wilt maken.

©PXimport

Http/2 aanzetten

We moeten, in 000-default-le-ssl.conf, alleen nog expliciet http/2 aanzetten voor deze website. Daarvoor voeg je de regel Protocols h2 http/1.1 toe. Het bestand ziet er dan als volgt uit. Herstart Apache na de aanpassing.

<virtualhost *:443=""> Protocols h2 http/1.1 ServerName mijndomein.nl ServerAlias *.mijndomein.nl ... </virtualhost>

Je kunt http/2 overigens ook met een globale instelling direct voor iedere site actief maken, maar omdat het nog vrij nieuw is is het verstandig dit per virtual host te doen. Op bijvoorbeeld

https://tools.keycdn.com/http2-test

kun je controleren of http/2 werkt, of je kunt de headers onderzoeken met de hulpprogramma’s van Chrome en Firefox. Hoewel je http/2 ook voor de http-versie kunt aanzetten heeft dat weinig zin, omdat browsers het protocol alleen voor https-verkeer ondersteunen. Een mooi extraatje van http/2 is de push-mogelijkheid waarmee je bestanden, zoals stylesheets of fonts, kunt voorladen.

In een volgende workshop gaan we een en ander verder testen én optimaliseren.

▼ Volgende artikel
Wifi wel snel op je telefoon, maar traag op je laptop? Hier ligt dat aan!
© A Stockphoto
Huis

Wifi wel snel op je telefoon, maar traag op je laptop? Hier ligt dat aan!

Je zit op de bank en streamt probleemloos een 4K-video op je telefoon, maar zodra je je laptop openklapt om een webpagina te laden, lijkt het alsof de verbinding vastloopt. Ligt het aan de router of aan je computer? In dit artikel leggen we uit waarom wifi-snelheden zo sterk kunnen verschillen per apparaat en wat je eraan kunt doen.

Je betaalt voor een snelle internetverbinding, dus is de verwachting dat elk apparaat in huis die snelheid ook daadwerkelijk haalt. Toch voelt het surfen op je computer soms stroperig aan, terwijl je smartphone ernaast nergens last van heeft. Vaak wordt er direct naar de internetprovider gewezen, maar het probleem zit meestal in de apparatuur zelf. Het verschil in hardware, leeftijd en software tussen mobiele apparaten en computers is namelijk groter dan je denkt. Na het lezen van dit stuk weet je precies waar die vertraging vandaan komt.

Generatiekloof: waarom je laptop vaak achterloopt

Het snelheidsverschil tussen je telefoon en je computer komt vaak neer op een simpele generatiekloof. We vervangen onze telefoons gemiddeld elke twee tot drie jaar, waardoor ze vaak uitgerust zijn met de nieuwste wifi-chips (zoals wifi 6 of 6E). Een laptop gaat vaak veel langer mee, soms wel vijf tot zeven jaar. Hierdoor probeert een verouderde netwerkkaart in je laptop te communiceren met een moderne router, wat resulteert in een lagere maximumsnelheid.

Daarnaast speelt de manier waarop data wordt verwerkt een grote rol. Een telefoon is geoptimaliseerd voor directe consumptie: apps op de achtergrond worden gepauzeerd om de app die je nú gebruikt voorrang te geven. Een computer werkt anders. Terwijl jij probeert te surfen, kan Windows of macOS op de achtergrond bezig zijn met zware updates, het synchroniseren van clouddiensten of het maken van back-ups. Je laptop snoept dus al bandbreedte weg zonder dat jij het doorhebt, waardoor er voor je browser minder overblijft.

Wanneer je laptop de strijd wél wint

De laptop wint het van de telefoon wanneer de omstandigheden optimaal zijn voor stabiliteit in plaats van pure mobiliteit. Als je beschikt over een moderne laptop met een recente netwerkkaart en je bevindt je in dezelfde ruimte als de router, kan de laptop vaak stabieler grote bestanden binnenhalen.

Dat geldt vooral als je laptop verbonden is met de 5GHz-frequentieband. Deze frequentie is veel sneller dan de oude 2.4GHz-band, maar heeft een korter bereik. Als je dicht bij het toegangspunt zit, profiteert je laptop van zijn krachtigere processor om complexe webpagina's sneller op te bouwen dan een telefoon dat kan, mits de verbinding zelf niet de bottleneck is.

Waarom je telefoon soepeler aanvoelt

Het verschil wordt pijnlijk duidelijk zodra je verder van de wifi-bron af gaat zitten, bijvoorbeeld op zolder of in de tuin. Smartphones zijn vaak agressiever geprogrammeerd om het sterkste signaal te pakken of snel tussen frequenties te schakelen. Veel laptops blijven daarentegen te lang plakken op een zwak 5GHz-signaal of vallen onnodig terug op de trage en vaak overvolle 2.4GHz-band (het zogeheten 'sticky client'-probleem).

Daarnaast hebben smartphones een trucje dat laptops helaas moeten missen: wifi-assist (of een vergelijkbare term). Als de wifi even hapert, gebruikt de telefoon ongemerkt een beetje 4G- of 5G-data om de stroom stabiel te houden. Je laptop heeft die optie meestal niet en laat direct een laadicoontje zien. Hierdoor voelt de telefoon sneller aan, terwijl hij eigenlijk een beetje vals speelt door mobiele data bij te schakelen.

Harde grenzen: wanneer traagheid onvermijdelijk is

Er zijn situaties waarin je laptop de strijd sowieso verliest, ongeacht hoe dicht je bij de router zit. Dit zijn de harde grenzen:

  • Verouderde standaarden: Als je laptop alleen wifi 4 (802.11n) ondersteunt, zul je nooit de snelheden halen van een telefoon met wifi 6 (802.11ax). De hardware kan het simpelweg niet aan.

  • Actieve VPN-verbinding: Veel werklaptops hebben een actieve VPN-verbinding voor beveiliging. Dit vertraagt de internetsnelheid aanzienlijk vergeleken met een 'open' telefoonverbinding.

  • De 2,4GHz-valkuil: In dichtbevolkte wijken is de 2,4GHz-band zo vervuild door signalen van de buren, dat een laptop die hierop vastzit nauwelijks vooruitkomt.

  • Batterijbesparing: Als je laptop niet aan de lader ligt en in Eco-modus staat, wordt de stroom naar de wifi-kaart vaak geknepen, wat direct ten koste gaat van het bereik en de snelheid.

Zo check je of jouw hardware het probleem is

Om te bepalen of je laptop de boosdoener is, moet je eerst kijken naar de verbinding. Klik op het wifi-icoon op je laptop en controleer of je verbonden bent met een 5GHz-netwerk (vaak te zien bij Eigenschappen of netwerkinformatie). Is dat niet het geval en sta je wel dicht bij de router? Dan is je netwerkkaart waarschijnlijk verouderd of staan de instellingen niet goed.

Kijk ook eens kritisch naar je gebruik. Heb je toevallig nog applicaties openstaan zoals Steam, OneDrive of Dropbox? Deze programma's kunnen de verbinding volledig dichttrekken. Op een telefoon gebeurt dit zelden automatisch op de achtergrond. Als je laptop ouder is dan vijf jaar, kan een simpele upgrade met een moderne wifi-usb-dongle het probleem vaak al verhelpen, zonder dat je een hele nieuwe computer hoeft aan te schaffen.

Kortom: leeftijd en software maken het verschil

Dat je telefoon sneller is op wifi dan je laptop, komt meestal doordat telefoons nieuwere netwerkchips hebben en slimmer omgaan met datastromen. Laptops hebben vaak last van zware achtergrondprocessen of blijven hangen op een tragere frequentieband. Daarnaast schakelen telefoons bij zwak wifi soms ongemerkt over op 4G/5G, wat de ervaring vloeiender maakt. Controleer of je laptop op de 5GHz-band zit en sluit zware achtergrondprogramma's af om snelheid te winnen.

▼ Volgende artikel
Tomodachi Life: Waar Dromen Uitkomen arriveert op 16 april
Huis

Tomodachi Life: Waar Dromen Uitkomen arriveert op 16 april

Tomodachi Life: Waar Dromen Uitkomen komt op 16 april uit voor Nintendo Switch.

Dat heeft Nintendo vanmiddag aangekondigd in een speciale Direct-uitzending die om de game draait. Ondanks dat de game voor de eerste Switch verschijnt, zal hij via backwards compatibility ook speelbaar zijn op Nintendo Switch 2.

In de Tomodachi Life-games van Nintendo kunnen spelers zelf Mii-personages creëren en bijvoorbeeld baseren op het uiterlijk van henzelf, vrienden en familie of beroemdheden. Deze Mii's leiden vervolgens hun eigen leven op een eiland, wat allerlei gekke en hilarische situaties oplevert. Spelers kunnen zelf ook invloed uitoefenen op deze verschillende situaties.

Watch on YouTube

Over Tomodachi Life: Waar Dromen Uitkomen

In de Direct-uitzending werd meer informatie gegeven over het aankomende Tomodachi Life: Waar Dromen Uitkomen. Zo is duidelijk dat spelers hun Mii-personages unieke persoonlijkheden, gewoontes en woningen kunnen geven. Spelers kunnen tijdens de game zien waar de personages aan denken, en ze helpen bij problemen. De tijd in de game verstrijkt daarbij net zo snel als in de echte wereld, wat het de moeite waard maakt om het spel op verschillende momenten op te starten.

Het is daarbij mogelijk om de verschillende Mii-personages kennis met elkaar te laten maken, om te zien wat er vervolgens gebeurd. Personages kunnen bijvoorbeeld praten over hun favoriete eten en filmgenres. Het is daarnaast mogelijk om acht Mii-personages bij elkaar in een huis te laten wonen, wat weer unieke reacties van de personages veroorzaakt.

Op het eiland waar de game zich afspeelt kunnen spelers de personages winkels te laten bezoeken. Bijvoorbeeld een supermarkt waar allerlei etenswaren worden verkocht, of de mogelijkheid om kleding en kostuums te kopen. In een speciale marktkraam worden redelijk geprijsde artikelen meerdere malen per dag ververst.

Ook is er een ontwerpatelier, waar spelers verschillende voorwerpen kunnen maken, waaronder kledingstukken, versiering voor huizen en zelfs huisdieren. Het eiland kan sowieso naar eigen smaak worden ingedeeld, met bankjes, bomen, planten en meer.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.