IBA Verklaart Router

Naast de verschillende servers en workstations die A-Eskwadraat heeft is er nog een cruciaal onderdeel binnen het netwerk, de router. De router is de spin in ons netwerk. Hij bepaalt welke diensten beschikbaar zijn en hoe je die kunt benaderen.

Besturingssysteem

Tot voor kort draaide de router binnen ons netwerk op OpenBSD. Hoewel er voordelen zijn om OpenBSD te draaien op een router, te noemen makkelijke firewall configuratie en veiligheid, zijn er ook nadelen. De nadelen zijn onder andere de lastige manier van updaten, wat voor een router van zeer groot belang is. Doordat updaten zeer lastig is komt de veiligheid in het geding, vooral met de vele beveiligingslekken in onder andere SSL de laatste tijd. Daarom zijn we als sysop al langere tijd bezig met een vervangend systeem, dat goed aansluit bij de andere systemen die we gebruiken en dus ook CentOS draait.

Firewall

Binnen besturingssystemen zitten firewalls, deze zijn er om de veiligheid van een netwerk te bewaren. Daarbij is de router de eerste beveiliging tussen de grote boze buitenwereld en het interne netwerk van A-Eskwadraat. OpenBSD heeft een zeer mooie manier om een firewall te configureren, waarbij de configuratie leesbaar is voor de beheerders (pf). Iedere regel beschrijft zeer duidelijk wat er gebeurt. Bij andere systemen is dit over het algemeen lastiger te lezen. Zo ook bij een GNU/Linux systeem, daarbij zijn er vele mogelijkheden om je firewall te configureren. Deze vertalen echter altijd naar regels in iptables die het systeem uitleggen wat er wel en niet door mag naar het interne netwerk. Met het nieuwe systeem maken we gebruik van shorewall (wat voor de oud-sysoppers bekend zou moeten zijn, omdat deze ook op de oude server max gebruikt werd).

Reverse Webproxy

Naast dat het besturingssysteem een probleem begon te worden, waren er ook al langer problemen met enkele van de programma’s die we gebruikten op de router. Een van de belangrijke programma’s op de router is een zogenaamde ‘Reverse Webproxy’, dit is te vergelijken met een webserver die webpagina’s beschikbaar maakt. Hierbij worden de webpagina’s echter niet op de router gemaakt, maar wordt het werk uitbesteed naar andere webservers. Dit heeft als voordeel dat er gebruik gemaakt kan worden van veel verschillende webservers die allemaal hun eigen afgezonderde taak hebben. Bij OpenBSD hadden we voor de Reverse Webproxy een programma genaamd squid. Squid is speciaal ontwikkeld voor gebruik als proxy en heeft als extra optie de mogelijkheid tot reverse proxy. Deze heeft nagenoeg altijd zijn functie goed gedaan, maar door de grote en ingewikkelde configuratie die we gebruikten werd het steeds ingewikkelder om aanpassingen aan de configuratie te doen. Aanpassingen zijn nodig als er een nieuwe website of feature toegevoegd moest worden. Daarnaast begon de beveiliging ook een steeds groter probleem te worden. Hierdoor zijn we voor het nieuwe systeem overgegaan op Nginx, dit is een volwaardige webserver die zeer geschikt is voor gebruik als reverse webproxy. De configuratie heeft ook voordelen, doordat iedere site in zijn eigen bestand opgeslagen kan worden.

15 april 2015

Binnen sysop hadden we besloten dat het tijd werd om het router-migratie-project, wat al langere tijd nagenoeg klaar was, tot een einde te brengen. De router stond al langere tijd klaar om operationeel te gaan, en de voorganger te vervangen. 15 april was het dan eindelijk zo ver en zou de router overgezet worden. Echter zoals vele projecten gaat er wel eens wat mis. Naast de grote hoeveelheid testen die we hebben gedraaid waren er toch nog enkele grote problemen toen we daadwerkelijk het systeem gingen overzetten. Enkele cruciale functies van de firewall werkten niet naar behoren terwijl die tijdens het testen wel werkten. Daardoor is op het laatste moment besloten om alle wijzigingen terug te draaien en de problemen op een later tijdstip op te lossen.

The day after

Een dag later zijn er testen gedaan met een andere manier van firewall configureren. Deze werkte naar behoren waarop besloten werd om nogmaals (vanaf thuis) de router over te zetten. Naast dat dit vanaf thuis een riskante bezigheid is, je zit namelijk van buiten het netwerk het netwerk aan te passen, verliep de overzetting zeer goed. Er waren nog enkele problemen die binnen zeer korte tijd op te lossen waren. Daardoor draait nu het A-Eskwadraat netwerk met de nieuwe router-configuratie en zijn de voordelen zeer duidelijk zichtbaar. Een van de belangrijkere voordelen zijn de betere https-veiligheid (zie bug #5577) en de integratie met de andere sysop-systemen.

*update Technische uitleg te vinden op de A-Eskwadraat wiki