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
Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)
© DC Studio
Huis

Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)

Je hebt net een klein fortuin uitgegeven aan een gloednieuwe 4K- of zelfs 8K-televisie. Je installeert hem, start je favoriete filmklassieker en zakt onderuit op de bank. Maar in plaats van een bioscoopervaring bekruipt je het gevoel dat je naar een goedkope soapserie of een homevideo zit te kijken. De acteurs bewegen vreemd soepel, de actiescènes lijken versneld en de magie is ver te zoeken. Geen zorgen, je televisie is niet stuk. Hij doet eigenlijk iets te goed zijn best.

Dit fenomeen is zo wijdverspreid dat er een officiële term voor is: het 'soap opera effect'. In technische kringen wordt dit ook wel bewegingsinterpolatie of 'motion smoothing' genoemd. Hoewel fabrikanten deze functie met de beste bedoelingen in hun televisies bouwen, is het voor filmfanaten vaak een doorn in het oog. Gelukkig is het eenvoudig op te lossen... als je tenminste weet waar je moet zoeken.

Nooit meer te veel betalen? Check
Kieskeurig.nl/prijsdalers!

Wat is het 'soap opera effect' precies?

Om te begrijpen wat er misgaat, moeten we kijken naar hoe films worden gemaakt. De meeste bioscoopfilms en veel dramaseries worden opgenomen met 24 beelden per seconde. Die snelheid geeft films hun karakteristieke, dromerige uitstraling. Een beetje bewegingsonscherpte hoort daarbij; dat is wat onze hersenen associëren met 'cinema'. Moderne televisies verversen hun beeld echter veel vaker: meestal 60 of zelfs 120 keer per seconde.

Om dat verschil te overbruggen, verzint je slimme televisie er zelf beelden bij. De software kijkt naar beeld A en beeld B, en berekent vervolgens hoe een tussenliggend beeld eruit zou moeten zien. Dit voegt de tv toe aan de stroom. Het resultaat is een supervloeiend beeld waarin elke hapering is gladgestreken.

Voor een voetbalwedstrijd of een live-uitzending is dat geweldig, omdat je de bal en spelers scherper kunt volgen. Maar bij een film zorgt die kunstmatige soepelheid ervoor dat het lijkt alsof je naar een achter de schermen-video zit te kijken, of dus naar een soapserie zoals Goede Tijden, Slechte Tijden, die traditioneel met een hogere beeldsnelheid werd opgenomen. De filmische illusie wordt hierdoor verbroken.

©ER | ID.nl

De winkelmodus is ook een boosdoener

Naast beweging is er nog een reden waarom het beeld er thuis soms onnatuurlijk uitziet: de beeldinstellingen staan nog op standje zonnebank. Veel televisies staan standaard in een modus die 'Levendig' of 'Dynamisch' heet. Deze stand is ontworpen om in een felverlichte winkel de aandacht te trekken met knallende, bijna neon-achtige kleuren en een extreem hoge helderheid. Bovendien is de kleurtemperatuur vaak nogal koel en blauw, omdat dat witter en frisser oogt onder tl-licht. In je sfeervol verlichte woonkamer zorgt dat echter voor een onrustig beeld waarbij huidtinten er onnatuurlijk uitzien en details in felle vlakken verloren gaan.

Hoe krijg je de magie terug?

Het goede nieuws is dat je deze 'verbeteringen' gewoon kunt uitzetten. De snelste manier om van het soap opera effect en de neonkleuren af te komen, is door in het menu van je televisie de beeldmodus te wijzigen. Zoek naar een instelling die Film, Movie, Cinema of Bioscoop heet. In deze modus worden de meeste kunstmatige bewerkingen, zoals bewegingsinterpolatie en overdreven kleurversterking, direct uitgeschakeld of geminimaliseerd. Het beeld wordt misschien iets donkerder en warmer van kleur, maar dat is veel dichter bij wat de regisseur voor ogen had.

Sinds kort hebben veel moderne televisies ook de zogeheten Filmmaker-modus. Dat is de heilige graal voor puristen. Als je deze modus activeert, zet de tv met één druk op de knop alle onnodige nabewerkingen uit en respecteert hij de originele beeldsnelheid, kleuren en beeldverhouding van de film.

Wil je de beeldmodus niet volledig veranderen, maar alleen dat vreemde, soepele effect kwijt? Dan moet je in de geavanceerde instellingen duiken. Elke fabrikant geeft het beestje een andere naam. Bij Samsung zoek je naar Auto Motion Plus of Picture Clarity, bij LG-televisies ga je naar TruMotion, bij Sony naar Motionflow en bij Philips naar Perfect Natural Motion. Door deze functies uit te schakelen of op de laagste stand te zetten, verdwijnt het goedkope video-effect en krijgt je film zijn bioscoopwaardige uitstraling weer terug.

▼ Volgende artikel
Chrome Remote Desktop: ideaal voor ondersteuning op afstand
© ER | ID.nl
Huis

Chrome Remote Desktop: ideaal voor ondersteuning op afstand

Een apparaat op afstand bedienen hoeft geen geld te kosten en is verrassend eenvoudig. Of je nu bestanden wilt openen, technische problemen wilt oplossen of meerdere toestellen wilt beheren: met Chrome Remote Desktop kan het allemaal, gratis en zonder gedoe.

De helper begint

Een groot voordeel van Chrome Remote Desktop is de brede compatibiliteit: het werkt met Windows, macOS, Linux en ChromeOS. Bovendien is het veilig – verbindingen worden versleuteld – en je hebt alleen een Chrome-browser nodig. We beginnen aan de kant van degene die op afstand toegang wilt tot een andere computer, degene die ondersteuning biedt vanaf computer A. Op computer A opent de gebruiker Chrome en surft naar https://remotedesktop.google.com. Daar verschijnen twee opties: Dit scherm delen en Verbinding maken met een andere computer. Omdat computer A support wil geven aan een extern apparaat, kiest de gebruiker voor de tweede optie. In dat scherm verschijnt een veld om een toegangscode in te geven, de code volgt zo meteen.

Degene die support geeft, gebruikt het onderste vak.

Acties voor de hulpvrager

Op computer B, de computer die toegang zal verlenen, moet de gebruiker ook in Chrome surfen naar dezelfde website. Daar kiest hij voor de optie Dit scherm delen. Voordat dat mogelijk is, moet Chrome Remote Desktop eerst worden gedownload en geïnstalleerd. De gebruiker klikt daarvoor op de ronde blauwe knop met het witte downloadpijltje. Hiermee wordt een Chrome-extensie geïnstalleerd. Na de installatie verschijnt in het vak Dit scherm delen een blauwe knop met de tekst Code genereren. Wanneer de gebruiker daarop klikt, wordt een toegangscode van 12 cijfers aangemaakt. Die code geeft hij of zij door aan gebruiker A.

Wie support krijgt, moet de code via een berichtje of telefoontje doorgeven.

Scherm delen

Op computer A geeft de gebruiker de code op in Chrome Remote Desktop. Vervolgens wacht hij tot gebruiker B bevestigt dat A toegang mag krijgen tot zijn scherm. Zodra dat is gebeurd, verschijnt het volledige bureaublad van computer B in een nieuw Chrome-venster op computer A. Door dit venster schermvullend weer te geven, kan A probleemloos handelingen uitvoeren op de pc van B. Voor de veiligheid beschikken beide gebruikers over een knop om de sessie op elk moment te beëindigen. Uiteraard is een stabiele internetverbinding noodzakelijk. Daarnaast krijgen beide partijen de melding dat ze klembordsynchronisatie kunnen inschakelen. Hiermee wordt het mogelijk om eenvoudig tekst of bestanden te kopiëren en te plakken tussen beide apparaten.

Gebruiker A krijgt het volledige scherm van B in een Chrome-venster te zien.