π‘οΈ Hoofdstuk 19.1: Beveiliging van Gebruikers en Systemen in Linux
Linux-systemen bieden diverse tools en configuraties om authenticatie, toegang en systeemacties veilig te beheren. Dit hoofdstuk behandelt wachtwoordbeleid, multifactorauthenticatie, rootbeveiliging, bestandssysteembeveiliging en auditing.
ββββββββββββββββββββββββββββββββββββββββββββ
π Authenticatiemethoden
ββββββββββββββββββββββββββββββββββββββββββββ
Standaardmethoden met ID/wachtwoord zijn kwetsbaar voor:
β’ Wachtwoorddeling
β’ Zwakke wachtwoorden
β’ Meerdere inlogs op verschillende servers
π Geavanceerde Authenticatiemethoden:
Methode | Beschrijving
-------------|---------------------------------------------
Kerberos | Single Sign-On (SSO) via ticketverificatie
LDAP | Centrale gebruikersdatabase met hiΓ«rarchische structuur
RADIUS | Veelgebruikt in netwerkomgevingen, o.a. VPN
TACACS+ | Versleutelde authenticatie, populair bij Cisco-systemen
MFA | Vereist iets wat je weet + iets wat je bezit (token/biometrie)
PKI | Gebruikt publieke en privΓ©sleutels voor verificatie
ββββββββββββββββββββββββββββββββββββββββββββ
π Wachtwoordbeleid en PAM-beveiliging
ββββββββββββββββββββββββββββββββββββββββββββ
β’ Zorg voor unieke accounts om verantwoording (nonrepudiation) mogelijk te maken.
β’ Beheer centraal wachtwoordbeleid via `/etc/login.defs`:
- `PASS_MAX_DAYS`: Aantal dagen dat een wachtwoord geldig is.
- `PASS_MIN_LENGTH`: Minimale lengte van een wachtwoord.
π PAM-configuratiebestanden:
Distributie | Bestand
------------|-------------------------------
Red Hat | `/etc/pam.d/system-auth`
Debian | `/etc/pam.d/common-password`
π Belangrijke `pam_pwquality.so` parameters:
Directive | Beschrijving
------------------|-----------------------------------------
difok | Aantal tekens dat moet verschillen van het vorige wachtwoord
enforce_for_root | Past regels ook toe op root
dcredit | Aantal vereiste cijfers (negatief getal)
ocredit | Aantal vereiste speciale tekens
ββββββββββββββββββββββββββββββββββββββββββββ
π§ββοΈ Roottoegang en Systeembeveiliging
ββββββββββββββββββββββββββββββββββββββββββββ
β οΈ Directe root-login vermijden:
β’ Maak root-shell ontoegankelijk via `/etc/passwd`:
- Wijzig shell naar `/usr/sbin/nologin`
β’ Blokkeer SSH-toegang via `/etc/ssh/sshd_config`:
- `PermitRootLogin no`
π¦ Bestandssysteembeveiliging:
β’ Scheid systeem- en gebruikersdata (`/`, `/home`, enz.)
β’ Gebruik **LUKS-versleuteling** via `dm-crypt` voor disk encryptie
β’ **Chroot Jail** β Beperk de toegang van processen tot een sandbox-directory
π§― Ongeautoriseerde reboot voorkomen:
Maatregel | Commando/Bestand
-------------------------------------|-----------------------------
BIOS/UEFI-wachtwoord instellen | Via firmwaremenu
GRUB beveiligen | `grub-mkpasswd-pbkdf2` + GRUB-config
Ctrl+Alt+Del uitschakelen | `sudo systemctl mask ctrl-alt-del.target`
ββββββββββββββββββββββββββββββββββββββββββββ
π Restricties en Monitoring
ββββββββββββββββββββββββββββββββββββββββββββ
β±οΈ Cron/at-toegang beperken:
β’ Gebruik `/etc/cron.allow` of `/etc/cron.deny` om toegang tot geplande taken te controleren.
π« USB-opslag blokkeren:
β’ Voeg toe aan `/etc/modprobe.d/blacklist.conf`:
blacklist uas
blacklist usb-storage
π΅οΈ Auditd (Auditing Daemon):
β’ Registreert beveiligingsgebeurtenissen zoals:
- Bestandstoegang
- Netwerkactiviteit
- Systeemoproepen
Voorbeeldregel met `auditctl`:
auditctl -w /etc/passwd -p wa -k password_changes
β Maak regels permanent in:
/etc/audit/audit.rules
ββββββββββββββββββββββββββββββββββββββββββββ
β
Samenvatting
ββββββββββββββββββββββββββββββββββββββββββββ
β’ Gebruik moderne authenticatiemethoden (Kerberos, MFA, PKI)
β’ Dwing wachtwoordcomplexiteit af via PAM
β’ Beperk roottoegang en monitor systeemactiviteit
β’ Beveilig USBβs, rebootmethoden en gevoelige bestanden via auditregels