Beheer instrumenten uitgebreid (1/2)


De Nieuwe Macht in de Proxy: Vaarwel Rigide Continentblokkades, Hallo Fijnmazig Netwerkbeheer!

Eerlijk is eerlijk: als je mij een beetje kent, weet je dat ik gek ben op oplossingen die niet alleen werken, maar ook elegant zijn. En laten we zeggen dat mijn vorige aanpak voor netwerkbeveiliging bij PCPal en Zutphen Online, hoewel effectief, allesbehalve elegant was. Het was meer een sloopkogel dan een scalpel.

Tot voor kort hanteerden we een vrij draconische regel: waarmee een heel continent (ja, je leest het goed, een heel continent) via de Internet Gateway Device (IGD), werd geblokkeerd. Pats, boem, klaar. Het was simpel, het werkte, en het weerde een hoop ongewenste ruis. Het nadeel? Als jij toevallig in dat continent zat en ons via een VPN wilde bereiken, dan had je pech. Onze eigen VPN was dan ook onbereikbaar. Die rigide regel had ik erin getoverd, en daarmee was de kous af. Of nou ja, bijna.

De noodzaak tot verandering: verder kijken dan de horizon

De realiteit is dat mijn referentiekaders soms wat te zwart-wit kunnen zijn, en in mijn werk zoek ik altijd naar manieren om complexiteit te beheersen zonder de flexibiliteit te verliezen. Zeker nu ik af en toe langer van huis ben, en de services van buitenaf moet kunnen benaderen, werd het duidelijk dat deze “alles of niets”-aanpak niet langer houdbaar was. En ja, als ik heel moe ben en mentaal uitgeput, dan is het cruciaal om systemen te hebben die mijn leven makkelijker maken, niet moeilijker. Zelfcompassie betekent ook zorgen voor efficiënte tooling tenslotte.

Enter het Beheerpaneel: Cockpit op de Proxy!

De afgelopen tijd heb ik me daarom gestort op het implementeren van een centraal beheerpaneel. En niet zomaar één, maar specifiek op onze webproxy. Dit is een gamechanger.

Wat heb ik gedaan? Ik heb Cockpit geïnstalleerd. Voor de techneuten onder jullie: Cockpit is een webgebaseerd beheerpaneel voor Linux-servers. Je kunt er van alles mee, van het checken van logs tot het monitoren van prestaties. En, cruciaal voor dit verhaal, het beheren van de firewall.

De installatie via de terminal was een fluitje van een cent, maar toen kwam de uitdaging: hoe krijg je die webinterface veilig en beheersbaar bereikbaar op ons LAN, en uiteindelijk via een publieke URL? Dat laatste heb ik voor elkaar gekregen met Nginx Proxy Manager (NPM) en een Let’s Encrypt SSL-certificaat. Nu kan ik via https://datzoujewelwillenweten.goedevraag.nl (of iets dergelijks) veilig inloggen.

De strijd met de “Onbeheerde Interfaces”

Toen ik eenmaal binnen was, stuitte ik op een vreemd probleem: mijn primaire USB-ethernet interface, die ik absoluut wilde beheren, werd als “Onbeheerd” weergegeven. En nog vreemder, de software-updates wilden niet laden met de melding “Cannot refresh cache whilst offline”, terwijl de server toch echt internet had. Na wat speurwerk bleek de oorzaak te liggen in de manier waarop de netwerkconfiguratie was opgezet. De interface werd beheerd door systemd-networkd via cloud-init’s Netplan-configuratie (renderer: networkd), en niet door NetworkManager, de service waar Cockpit op leunt voor netwerkbeheer.

De oplossing? Een simpele, maar effectieve aanpassing in het Netplan-bestand: de renderer van networkd naar NetworkManager zetten. En ja hoor, plotseling kwamen de netwerkinterfaces tot leven in Cockpit, én… laadde de update-pagina probleemloos! Een waardevolle les: een “onbeheerde” netwerkinterface in Cockpit kan de meest onlogische problemen veroorzaken, zelfs met iets als de pakketbeheerder. Een diepere duik in de referentiekaders van het systeem, in dit geval van de netwerk-renderers, was essentieel.

Fijnmazig Beheer: De Kracht van firewalld en Rich Rules

Nu de interfaces beheerd zijn, kan ik de firewall beheren via Cockpit. Ik maak gebruik van firewalld, wat, hoewel misschien niet de standaard voor alle Ubuntu-gebruikers (sommigen zweren bij ufw), naadloos integreert met Cockpit. Ik heb de nodige poorten (zoals 9090 voor Cockpit zelf, achter de NPM-proxy) geopend.

En het mooiste van alles? De mogelijkheid om specifieke IP-adressen of zelfs hele netwerken te blokkeren. Waar ik vroeger een heel continent blokkeerde, kan ik nu met een rich rule in firewalld via de terminal (sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="106.214.0.0/16" drop' --permanent --reload) een specifiek subnet als 106.214.x.x droppen. Dit betekent een veel preciezer beheer. Ongewenste bezoekers kunnen geweerd worden, zonder legitieme gebruikers in het buitenland de pas af te snijden. Dit is de ware vooruitgang: niet langer de sloopkogel, maar het precisiewerk.

Het is een stap voorwaarts in robuustheid en gebruiksgemak. En het belangrijkste: het stelt me in staat om, zelfs als ik wat verder van huis ben of een keer extra moe, de touwtjes stevig in handen te houden.

Categories: AI, Blogs, Tech

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *