ID.nl logo
Server beveiligen doe je optimaal met deze tips
© Reshift Digital
Huis

Server beveiligen doe je optimaal met deze tips

Serverbeveiliging is allerminst een statisch gegeven en daarom bepalen we in dit artikel een security-strategie. Het begrip server definiëren we vrij ruim: elk apparaat waarop services actief zijn en dus door clients benaderbaar. Je server beveiligen doe je als volgt.

De basis van je beveiliging wordt al tijdens de eerste serversetup gelegd (vooral als je het begrip ‘server’ toch in de nauwe zin interpreteert), maar ook na de installatie en configuratie moet je voortdurend je server(verkeer) monitoren en beveiligingsmaatregelen optimaliseren.

Elke degelijke beveiligingsstrategie omvat meerdere lagen. Niet alleen zijn er verschillende aspecten waarmee je rekening moet houden, de manier waarop je het ene onderdeel configureert of beveiligt kan bovendien een impact hebben op het andere: van het besturingssysteem via services en applicaties tot gebruikers- en netwerkbeheer.

Op deze pagina gaan we voorbij aan de voor de hand liggende veiligheidsaspecten en gaan we ervan uit dat je:

- Je fysieke servers afdoende afgeschermd hebt tegen ongeautoriseerde toegang;

- Dat je regelmatig zorgt voor updates van firmware, besturingssysteem, drivers en applicaties;

- Dat er – voor zover mogelijk – up-to-date antimalware-software draait;

- En dat je gebruikers bewust maakt van de risico’s.

We gaan er tevens van uit dat je in een robuuste serververbinding voorziet via ssh-verbindingen, bij voorkeur met sleutelverificatie.

Draai alleen wat je nodig hebt

Het liefst draaien er op je systeem alleen applicaties of pakketten die strikt nodig zijn voor de beoogde service(s), zoals php, MongoDB en ngix of .NET framework en IIS. Services (ofwel ‘serverrollen’ in de Microsoft-terminologie) en applicaties die overtollig zijn, verwijder je voor zover mogelijk, zodat automatisch ook de server-footprint en daarmee het aanvalsvlak verkleint.

In Linux doe je dat bij voorkeur via het pakketbeheersysteem van je distributies, zoals yum of dnf (in bijvoorbeeld CentOS, Fedora en Redhat) en apt (in bijvoorbeeld Debian en Ubuntu). In Windows kan dat onder meer vanuit het Configuratiescherm, hoewel er ook externe tools zijn die installaties automatisch kunnen monitoren om ze naderhand grondiger te kunnen verwijderen (zoals Iobit Uninstaller). 

©PXimport

Of je controleert zelf bestands- en registerwijzigingen tijdens een installatie, bijvoorbeeld met Process Monitor. Dat geeft je tegelijk een nuttige inkijk in de systeemaanpassingen die een nieuwe applicatie of service zoal doorvoert.

Wat Windows betreft ga je best ook na welke achtergrondservices zoal actief zijn: druk op Windows-toets+R en voer services.msc uit. Let hierbij goed op de afhankelijkheden (je vindt die via de eigenschappen van een service) en schakel nooit zomaar wat services uit.

Server hardening

Het uitschakelen van overtollige componenten en toegangsmachtigingen vormen een belangrijk onderdeel van wat ‘server hardening’ genoemd wordt. Dat is automatisch makkelijker voor elkaar te krijgen wanneer je het aantal serverrollen per server zoveel mogelijk beperkt. Een webserver bijvoorbeeld hoort eigenlijk niet thuis op een machine waarop je ook een databaseserver draait, vooral omdat beide servers verschillende beveiligingsniveaus vereisen. Dat hebben inmiddels al veel internetbedrijven ontdekt waarvan de gebruikersdatabase werd gehackt, zoals de webshop Allekabels.nl medio april 2021. 

Test via www.haveibeenpwned.com vooral of jouw eigen e-mailadres weleens buit gemaakt is bij zo’n hack. Een webserver hoort namelijk per definitie zichtbaar te zijn op internet, terwijl een database normaliter alleen bereikbaar hoeft te zijn voor een webserver of een andere applicatieserver. Eén primaire functie per server is trouwens al lang een officiële vereiste volgens PCI-DSS 2.2.1, een richtlijn in de creditcardindustrie.

Met een fysiek systeem voor elke service lijkt systeemsegmentering een dure grap te worden, maar je kunt ook elke server in een eigen virtuele machine onderbrengen. Dat kan via onder meer via hosted systeemvirtualisatie, waarbij de virtuele machine als een virtueel gastsysteem binnen het host-besturingssysteem draait (bijvoorbeeld met het gratis VirtualBox). 

Maar een baremetal-hypervisor, rechtstreeks op de kale pc geïnstalleerd, tussen de hardware en het besturingssysteem, is robuuster en krachtiger. Gratis is bijvoorbeeld VMware vSphere Hypervisor (ESXI-architectuur). Beschik je over Windows 10 Pro of hoger, dan kun je Hyper-V activeren, bijvoorbeeld door Windows PowerShell als administrator op te starten en het volgende commando uit te voeren:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Na een herstart start je de applicatie Hyper-V beheer op.

©PXimport

Firewall-instellingen

Voor zover mogelijk heb je op je host uiteraard ook een firewall draaien. Het liefst configureer je die volgens het principe van ‘least privilege’ en sta je uitsluitend noodzakelijke verbindingen toe. Gebruik liever niet een firewallregel als deze (die elke bron toegang geeft tot je MySQL-database):

permit tcp any db-server 3306

Maar gebruik bij voorkeur onderstaande regel, zodat alleen een specifiek ip-adres toegang krijgt:

permit tcp <ip-adres> db-server 3306

Draait je server op Windows en gebruik je de ingebouwde firewall (die op zich prima is), weet dan dat je die zowel vanaf de Opdrachtprompt (netsh advfirewall firewall) als vanuit een grafische interface kunt aansturen (druk op Windows-toets+R en voer wf.msc uit). Of je gebruikt een externe en gratis beheertool in als Malwarebytes Windows Firewall Control.

Zo’n applicatiefirewall op de host zelf is absoluut raadzaam, maar nog veiliger is wanneer je een aanvullende perimeterfirewall gebruikt die aan de rand van je (thuis)netwerk werkt.

Je eigen router heeft vast enkele basale firewallfuncties ingebouwd, maar eventueel kun je alternatieve routerfirmware zoals OpenWrt of DD-WRT overwegen, die over meer flexibele firewallfuncties beschikken. Of je installeert je eigen security-appliance met een gratis tool als OPNsense (Community Edition) of Sophos XG Firewall Home Edition.

Vind je deze configuraties te complex, dan kun je ook de aanschaf van een hardware-appliance overwegen. Die zijn vaak stevig geprijsd (met abonnementen), maar er zijn ook betaalbare alternatieven zoals de Turris Shield. Deze registreert netwerkaanvallen en vult de bijbehorende ip-adressen continu aan in een blacklist (circa 99 euro).

©PXimport

Poortbeheer

Op Linux kun je je firewall (iptables) nog op een andere manier aanvullen: met behulp van de kernel-security-module SELinux (Security-Enhanced Linux). Deze firewall is standaard op CentOS- en Fedora-aanwezig, maar je kunt hem ook zelf installeren met het commando:

apt-get install selinux

Deze module beheert poorttoegang van applicaties, wat inhoudt dat wanneer je bijvoorbeeld de ssh-poort wijzigt, je die poort ook in SELinux voor je ssh-service moet openstellen. Je controleert de status met het commando sestatus. Indien actief, lees je achter de aanduiding SELinux status de tekst enabled af. Inschakelen doe je tijdelijk met:

setenforce enforcing

Of je gebruikt het onderstaande commando, in welk geval je wel waarschuwingen krijgt, maar geen blokkeringen:

setenforce permissive

Om SELinux permanent in te schakelen, geef je het commando:

sudo sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config

Via deze site kun je beleidsconfiguraties voor SELinux downloaden, voor diverse Linux-distributies.

Je doet er hoe dan ook goed aan de toegang tot poorten, vooral van buitenaf, geregeld te controleren. Een snelle poortcontrole voor één poort voer je uit via www.grc.com/x/portprobe=<poortnummer> of je laat in één keer alle poorten tussen 0 en 1055 scannen via ShieldsUP! 

Surf hiervoor naar de site van ShieldsUP, druk op Proceed en op All Service Ports. Een groen blokje betekent een stealth-poort, blauw is gesloten en rood is open. Stealth is nog iets veiliger dan gesloten, omdat die poort dan helemaal niet op binnenkomende datapakketten reageert. Let onder meer op poorten 22 (ssh) en telnet (23), aangezien hackers die graag in het vizier nemen.

©PXimport

In de afbeelding hierboven zie je dat poort 81 tijdens onze tests openstond. Dat kwam doordat we in onze router een portforwarding-regel hadden gedefinieerd die alle verkeer voor poort 81 naar een ip-camera doorstuurde. Nu is portforwarding nooit de veiligste oplossing, maar al helemaal niet als je er geen ip-filtering op toepast, zodat alleen bekende ip-adressen toegang krijgen. Een veel robuustere oplossing is via VPN (zoals OpenVPN), maar dit valt buiten de context van dit artikel.

Een snelle poortscan van buitenaf met een tool als ShieldsUP! is zeker zinvol, maar er zijn nog grondigere manieren om te testen hoe solide het poortbeheer van je router is. Dat kan bijvoorbeeld door (tijdelijk) de wan-poort van een tweede router aan een lan-poort van je buitenste router te koppelen. Vervolgens koppel je een pc aan die buitenste router en scan je de wan-zijde van de binnenste router met behulp van een securityscanner als het multiplatform Nmap, eventueel via de grafische interface Zenmap

Hiermee kun je grondig alle 65536 tcp- en udp-poorten testen. Overigens kun je ook de lan-kant van de router testen (die heeft wellicht een poort open staan voor lokaal beheer). Een volledige scan uitvoeren van een compleet subnet kan bijvoorbeeld met het commando:

nmap -sS -sU -T4 -A -v 192.168.0.0.24

©PXimport

Kwetsbaarheidsscanners

Hoewel Nmap ook als kwetsbaarheidsscanner kan fungeren dankzij de ingebouwde NSE (Nmap Scripting Engine) zijn er nog diverse andere securityscanners en je doet er goed aan ook zulke scans af en toe uit te voeren.

De Linux-distributie speciaal om penetratietests mee uit te voeren, Kali Linux, bevat de rubriek Vulnerability Analysis met onder meer de scanner Nikto, die je met een eenvoudig commando kunt uitvoeren:

nikto -h <ip-adres_of_hostnaam>

En als je toch een ‘pentester’ als Kali hebt geïnstalleerd, laat zeker niet na ook andere tools uit deze distributie op je servers los te laten.

Een andere scanner voor Linux is OpenVAS (Opensource Vulnerability Assessment System). De eerste setup voer je uit met de opdracht openvas-setup, waarna duizenden NVT’s (Network Vulnerability Test) worden opgehaald.

Nog een andere degelijke kwetsbaarheidsscanner is Nessus, de Essentials-versie is na registratie gratis voor het scannen van maximaal 16 ip-adressen. De tool, die ook de WinPcap-driver installeert, werkt aan de hand van duizenden plug-ins die elk naar een ander potentieel veiligheidslek speuren.

Via de webinterface (standaard op https://localhost:8834) roep je Nessus op en na een succesvolle registratie worden de plug-ins gedownload, een proces dat best lang kan duren. De bediening is bedrieglijk eenvoudig. Je geeft het gewenste scanbereik aan evenals de gewenste plug-ins (een selectie die je trouwens in een scanprofiel kunt bewaren. De kunst is de plug-ins doordacht te selecteren, aangezien een scan erg intensief kan zijn, vooral omdat Nessus een potentiële kwetsbaarheid daadwerkelijk tracht te exploiteren. Na afloop krijg je een uitgebreid scanrapport.

©PXimport

Router-instellingen

De router is al enkele keren ter sprake gekomen, wat niet vreemd is waar het de gateway van en naar je netwerk en servers is. Er noemen als eerste toch wat voor de hand liggende beveiligingsmaatregelen:

- controleer regelmatig op firmware-updates;

- gebruik een eigen en stevig wachtwoord;

- stel wifi in met WPA2 (of WPA3) en AES;

- schakel remote beheer, WPS en bij voorkeur ook uPnP uit (zeker aan de wan-zijde).

Zoals eerder vermeld vermijd je ook het gebruik van portforwarding, tenzij eventueel in combinatie met een strikte ip-filtering. Verder stel je de router zo in dat die niet op wan-pings reageert. De betere routers bieden tevens bescherming tegen diverse aanvallen, zoals DoS- en SYN Flood-aanvallen.

Het is wellicht ook beter om niet de standaard dns-servers van je internetprovider te gebruiken, maar servers die iets meer veiligheid bieden, zoals ondersteuning van DNSSEC en door het blokkeren van hostnamen op een actuele backlist. Degelijke alternatieven zijn Quad 9 (9.9.9.9 en 149.112.112.112) en Cloudflare (1.1.1.1 en 1.0.0.1). Via www.routersecurity.org/testdns.php vind je (online) tools om na te gaan welke dns-servers daadwerkelijk gebruikt worden.

Gebruik je de standaardrouter van je internetprovider, overweeg die te vervangen door een andere router of je plaatst er een tweede router achter. Zoals eerder vermeld, is het wellicht ook mogelijk de standaard routerfirmware door alternatieven als OpenWrt of DD-WRT te vervangen, aangezien die meer (beveiligings)functies bevatten. Sommige fabrikanten (zoals Linksys) voorzien sommige routers zelfs standaard van zulke firmware.

Netwerkisolatie

We raden je tevens aan je (thuis)netwerk te segmenteren, en wel zo dat het subnet met je servers of IoT-apparaten niet zomaar toegang krijgt tot het andere subnet waaraan je andere netwerkapparaten zijn gekoppeld (zoals pc’s en mobiele apparaten). Er bestaan verschillende mogelijkheden voor netwerkisolatie, maar die zijn niet allemaal even veilig. We gaan er hier niet van uit dat je netwerkapparatuur VLAN’s ondersteunt en dus kijken we naar alternatieven.

De eenvoudigste manier is door een gastnetwerk te creëren, een functie die je bij de meeste (thuis)routers aantreft. Schakel bij voorkeur de volgende opties uit:

- Allow guests to acces my local network;

- Allow guests to see each other;

- Access Intranet;

- Enable routing between zones.

En schakel de volgende opties juist in:

- Wireless client isolation;

- Internet Access only.

©PXimport

Een betere oplossing, die wel wat lastiger te configureren is, is het inzetten van een tweede of zelfs een derde router (vaak los je hiermee ook het probleem van een ondermaatse wifi-verbinding op als de router in de meterkast staat).

In een scenario met één extra router verbind je de secundaire, binnenste router via de wan-poort met een lan-poort op je primaire router. Stel het wan-verbindingstype van je secundaire router in op automatische configuratie via DHCP, zodat het wan-ip-adres door de DHCP-server van de primaire router wordt toegekend. Wat de lan-instellingen op je secundaire router betreft, gebruik je een ander ip-segment dan dat van je primaire router. Ook op deze router activeer je de DHCP-server.

Pc’s en mobiele apparaten koppel je aan je secundaire router, terwijl je servers en IoT-apparaten met je primaire router verbindt.

Drie routers

Je zult merken dat de apparaten van je buitenste subnet de toestellen van het binnenste niet zomaar kunnen benaderen, maar het omgekeerde kan nog steeds. Geef je de voorkeur aan twee volledig gescheiden subnetten, dan heb je nog een derde router nodig. Hierbij vertak je de primaire router via de lan-poorten rechtstreeks naar de andere twee routers, een zogenoemde Y-opstelling. Daar kijken we tenslotte nog even naar.

Voor het eerste binnenste subnet ga je op dezelfde manier te werk als bij de tweevoudige routeropzet, zodat het wan-ip-adres van de tweede router door de DHCP-service van de eerste router wordt toebedeeld. Ook de derde router configureer je zo, waarbij je er wel voor zorgt dat het lan-ip-adres weer in een ander subnet terechtkomt. Je servers en IoT-apparaten breng je in één van beide subnetten onder (die kun je wellicht van vaste ip-adressen voorzien zodat je hier de DHCP-service kunt uitschakelen).

Wil je servers absoluut via portforwarding van buitenaf bereikbaar maken, dan zul je merken dat dit met deze constructie niet zonder meer gaat. In dat geval moet je een dubbele portfowarding instellen: eerst op je primaire router naar het wan-ip-adres van je andere router en vervolgens op deze router naar je eigenlijke server.

Om dat te vermijden kun je eventueel de DMZ-functie in je primaire router inschakelen, waar je vervolgens alleen het wan-ip-adres van de andere router invult. In dit geval moet je alleen nog portforwarding-regels instellen op deze laatste router. Deze opzet is wel iets minder veilig en kunnen we dus niet van harte aanbevelen.

©PXimport

▼ 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.