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
It Takes Two- en Split Fiction-maker bezig met opnames voor nieuwe game
Huis

It Takes Two- en Split Fiction-maker bezig met opnames voor nieuwe game

Hazelight Studios, de ontwikkelaar van de succesvolle coöperatieve games It Takes Two en Split Fiction, heeft een nieuwe game in ontwikkeling en is op dit moment bezig met de opnames ervoor.

Enige tijd geleden gaf regisseur Josef Fares al aan dat er een nieuwe game in ontwikkeling was bij de studio, maar nu heeft hij op social media een foto geplaatst waarop Fares te zien is met drie acteurs in motion capturing-pakken. Daarmee wordt dus duidelijk gemaakt dat de opnames voor de game in ieder geval al in volle gang zijn.

Overigens is de identiteit van de acteurs niet bekend. Fares houdt zijn arm voor de gezichten van de acteurs. Mogelijk zijn het dus bekende acteurs en wil hij dat nog verhullen, al is dat speculatie. Over speculatie gesproken: het feit dat er drie acteurs te zien zijn, doet sommige fans vermoeden dat de nieuwe game van Hazelight mogelijk met drie spelers tegelijk te spelen valt in plaats van twee, maar ook dat is nog alles behalve bevestigd.

View post on X

Over de games van Hazelight Studios

Hazelight Studios is gespecialiseerd in het creëren van games die coöperatief doorlopen moeten worden. No Way Out, It Takes Two en Split Fiction vergen allen twee spelers. Daarbij draait het om samenwerken, wat hun games een populaire bezigheid maakt voor gamende koppels en vrienden.

It Takes Two bleek een grote hit voor de studio. In het spel spreekt een dochter van een ruziënd stel een vloek over het tweetal uit, waardoor ze minuscuul worden. Ze zullen moeten leren communiceren en samenwerken om zich uit deze hachelijke situatie te redden, terwijl ze als kleine poppen door een uitvergrote versie van hun huis en tuin reizen.

Na het succes van It Takes Two bracht Hazelight het conceptueel vergelijkbare Split Fiction uit. Die game draait om twee schrijvers, Mio en Zoe, die worden ingehuurd om verhalen te creëren voor een technologie die deze verhalen levensecht kan simuleren. De vrouwen worden door het bedrijf achter de technologie echter gevangen in een simulatie, en in de game wordt er constant tussen de twee verhalen van Mio en Zoe geschakeld. Dat levert zowel fantasievolle als futuristische settings op.

Zowel It Takes Two als Split Fiction komen met een Friend Pass. Dat houdt in dat maar één speler de game hoeft te kopen, en de tweede speler gratis online mee kan spelen. De games zijn ook via splitscreen samen op de bank speelbaar.

Watch on YouTube
▼ Volgende artikel
Apple is nu de volledige eigenaar van hitserie Severance
Huis

Apple is nu de volledige eigenaar van hitserie Severance

Apple heeft de volledige rechten op de Apple TV-serie Severance overgenomen, en gaat de serie voortaan binnenshuis produceren.

De eerste twee seizoenen van Severance staan al op Apple TV, maar de serie werd geproduceerd door Fifth Season. Apple Studios was alleen de distributeur. Daar is nu verandering gekomen: Apple heeft iets minder dan 70 miljoen dollar betaald voor de volledige rechten op de serie.

Dat betekent dat het bedrijf de productie van de serie voortaan ook zelf gaat doen, al zal Fifth Season wel als executive producer aangesteld blijven. Ook showrunner Dan Erickson en uitvoerden producent Ben Stiller (die we natuurlijk ook kunnen van vele comedyfilms) blijven hun rollen bekleden, dus aan de kwaliteit van de serie verandert als het goed is niets.

Watch on YouTube

Financiële stabiliteit

Volgens Deadline zou de overname mogelijk gedaan zijn om de productie van de show financieel stabiel te houden. In het tweede seizoen waren de productiekosten naar het schijnt zo'n 20 miljoen dollar per aflevering, en Apple kan door zijn formaat dit beter dragen.

Het plan is dat Severance in totaal vier seizoenen krijgt - al worden een vijfde seizoen en een spin-off ook niet uitgesloten. De opnames van het langverwachte derde seizoen moet aankomende zomer starten. De makers van de serie willen eerst de scripts zover mogelijk afkrijgen, zodat ze bij schrijfwerk van de laatste afleveringen van het seizoen nog relatief goedkoop terug kunnen gaan naar scripts van eerdere afleveringen om wijzigingen aan te brengen waar nodig.

Watch on YouTube

Over Severance

De Apple TV-serie Severance draait om Mark S., die een opmerkelijke kantoorbaan bij het bedrijf Lumon Industries heeft: zodra hij op kantoor komt, weet hij niets van zijn leven buiten kantoor. Wanneer hij klaar is en weer naar huis gaat, weet hij niets van zijn werk. Dat komt door een speciale procedure waardoor de herinneringen van de werkplek in het privéleven gescheiden worden.

Dit concept is de voedingsbodem voor een ingewikkelde en verrassende serie waarin Mark samen met zijn collega's langzaam maar zeker probeert te achterhalen hoe de vork precies in de steel steekt bij Lumon. Zoals gezegd zijn er inmiddels twee seizoenen uitgekomen, die beiden op streamingdienst Apple TV te zien zijn.