Skip to content

Bescherm uw Linux-systeem: tips en best practices voor optimale beveiliging

Een Linux-systeem, hoe robuust het ook is, is standaard niet immuun voor aanvallen. De beveiliging van Linux is gebaseerd op een reeks configuraties, van…

Ingénieur informatique analysant des logs de sécurité Linux sur un terminal en ligne de commande dans un bureau moderne

Een Linux-systeem, hoe robuust het ook mag zijn, is standaard niet immuun voor aanvallen. De beveiliging van Linux is afhankelijk van een reeks configuraties, toegangsregels en bewakingsmechanismen die handmatig moeten worden ingeschakeld en onderhouden. Zonder tussenkomst stelt een vers geïnstalleerde server of werkstation onnodige diensten, open poorten en accounts met te brede rechten bloot.

Prioritering van kernelpatches: de echte uitdaging van Linux-beveiliging

Concurrenten herhalen allemaal dat je je systeem moet bijwerken. Dit advies blijft geldig, maar de realiteit is veranderd. In 2024 registreerde de Linux-kernel 3 108 CVE, een stijging van ongeveer 79 % ten opzichte van de 1 736 CVE van 2023, volgens de NVD-database van NIST.

Deze explosie duidt niet op een verslechtering van de code. Het is het resultaat van de verbetering van geautomatiseerde analysetools, waarvan sommige kunstmatige intelligentie gebruiken om de ongeveer 40 miljoen regels van de kernel te scannen. Sinds februari 2024 is de Linux-kernel zijn eigen CVE-nummeringsautoriteit (CNA) geworden, wat de rapportage van elke gedetecteerde kwetsbaarheid versnelt.

Voor een beheerder betekent het blindelings toepassen van elke gepubliceerde patch dat je achter een vrijwel constante stroom van updates aanrent. De juiste aanpak is om de CVE te sorteren op CVSS-score en op de werkelijke blootstelling van het systeem. Een kritieke kwetsbaarheid in een netwerkmodule die in productie is geladen, verdient onmiddellijke patching. Een kwetsbaarheid in een stuurprogramma dat niet op de machine aanwezig is, kan wachten op de volgende onderhoudscyclus.

Om deze ontwikkelingen te volgen en hun concrete impact te begrijpen, geeft de beveiligingsinformatie op Hebdo Linux regelmatig details over kernelpatches en de waarschuwingen die verband houden met de belangrijkste distributies.

Systeembeheerder die een Linux-firewall configureert in een professionele serverruimte

Vermindering van de aanvalsvector op een Linux-server

Systeemverharding (hardening) is gericht op het verwijderen van alles wat geen reden heeft om op de machine te bestaan. Elke actieve dienst, elke open poort en elk geïnstalleerd pakket vertegenwoordigt een potentieel toegangspunt voor een aanvaller.

Onnodige diensten en pakketten

Na een standaardinstallatie draaien verschillende diensten zonder dat iemand erom heeft gevraagd: afdrukserver (CUPS), Avahi voor lokale netwerkinformatie, of een mailagent (Postfix, Exim). Op een productie-server zijn deze componenten nutteloos en vergroten ze de aanvalsvector. De opdracht systemctl list-unit-files –state=enabled maakt het mogelijk om precies te identificeren wat automatisch opstart.

Een dienst uitschakelen is niet altijd voldoende. Als het pakket geïnstalleerd blijft, is een onopzettelijke heractivatie of lokale exploitatie mogelijk. Het verwijderen van het hele pakket is de meest betrouwbare methode.

Netwerkconfiguratie en firewall

Een correct geconfigureerde firewall vormt de eerste barrière tussen het netwerk en de interne diensten. Op recente distributies vervangt nftables geleidelijk iptables. De logica blijft hetzelfde: blokkeer standaard al het binnenkomende verkeer en open alleen de noodzakelijke poorten.

  • Sta poort 22 (SSH) alleen toe vanaf bekende IP-adressen, nooit vanaf het hele internet.
  • Sluit de poorten die aan databases zijn gekoppeld (3306 voor MySQL, 5432 voor PostgreSQL) op de publieke interface en stel ze alleen bloot op de lokale interface of een privénetwerk.
  • Schakel de logging van geweigerde pakketten in om scanpogingen te detecteren.

Gebruikerscontrole en privilege-escalatie

Het beheer van gebruikersaccounts bepaalt wie wat op het systeem kan doen. Een rootaccount dat dagelijks wordt gebruikt, blijft een van de meest voorkomende fouten, zelfs op machines die worden beheerd door technische profielen.

Sudo moet elke directe rootverbinding vervangen. Elke opdracht die via sudo wordt uitgevoerd, wordt gelogd met de identiteit van de gebruiker, wat een bruikbare audittrail creëert in geval van een incident. Het bestand /etc/sudoers maakt het mogelijk om de toegestane opdrachten per gebruiker of per groep te beperken.

Naast sudo voegen modules voor verplichte toegangscontrole zoals SELinux (Red Hat, Fedora-distributies) of AppArmor (Ubuntu, Debian) een laag van beperking per proces toe. Zelfs als een aanvaller een dienst compromitteert, voorkomt de module dat deze toegang krijgt tot bestanden of mappen buiten het bereik dat door het beveiligingsbeleid is gedefinieerd.

  • Pas het principe van de minste privileges toe: elke gebruiker heeft alleen de rechten die nodig zijn voor zijn taak.
  • Deactiveer ongebruikte accounts in plaats van ze inactief te laten met een zwak wachtwoord.
  • Configureer een automatische vervaldatum voor wachtwoorden via chage om een periodieke vernieuwing af te dwingen.
  • Controleer regelmatig de bestanden /etc/passwd en /etc/group om onverwachte accounts of groepen te detecteren.

Twee cybersecurityprofessionals die een audit van kwetsbaarheden op een Linux-systeem in een bedrijf uitvoeren

Logging en detectie van abnormaal gedrag op Linux

Een systeem kan wekenlang gecompromitteerd zijn zonder dat iemand het opmerkt als de logs niet gecentraliseerd of bewaakt zijn. Logging dient niet alleen voor post-incidentanalyse: goed benut, kan het helpen om een lopende inbraak te detecteren.

De systemd-log (journalctl) centraliseert systeemgebeurtenissen, maar de standaardrotatie kan sporen wissen voordat deze zijn geanalyseerd. Het exporteren van logs naar een externe server (via rsyslog of syslog-ng) zorgt ervoor dat een aanvaller die roottoegang heeft, zijn eigen sporen lokaal niet kan wissen.

Om verder te gaan, kunnen tools zoals auditd specifieke gebeurtenissen monitoren: wijziging van een gevoelig configuratiebestand, toevoeging van een gebruiker, wijziging van rechten op een kritieke map. Elke auditregel genereert een tijdstempelbare invoer die kan worden gebruikt om de chronologie van een incident te reconstrueren.

De combinatie van een strikte firewall, granulaire toegangscontrole en geëxporteerde logging dekt de drie assen van Linux-beveiliging: preventie, beperking en detectie. Het negeren van een van deze assen betekent een open deur laten staan, zelfs als de andere twee zijn vergrendeld.

Bescherm uw Linux-systeem: tips en best practices voor optimale beveiliging