Introductie tot Linux in Cybersecurity
Linux is het werkpaard van veel cybersecurity professionals omdat het gemak biedt voor scripting, forensisch onderzoek, netwerkmonitoring en systeemhardening. In dit artikel behandelen we technische commando’s, concrete voorbeelden van gebruik en wanneer je ze inzet tijdens incidentrespons, penetratietesten en systematische audits. De voorbeelden zijn gericht op praktische toepassingen en geven richtlijnen voor veilig en reproduceerbaar gebruik op productie en testomgevingen.
Waarom commando’s relevant zijn voor security
In cybersecurity draait alles om observatie en verandering van de staat van een systeem. Commando’s zoals ip, ss, tcpdump en auditctl geven inzicht in netwerk- en procesgedrag terwijl tools zoals sha256sum en gpg integriteit en authenticiteit controleren. Kennis van deze commando’s maakt snelle detectie van anomalieën en het veilig herstellen van systemen mogelijk. In veel scenario’s is snel en precies werken met de shell cruciaal.
Belangrijke commando’s overzicht
Hier volgt een lijst van sleutelcommando’s die je als security professional regelmatig gebruikt: ip, ss, tcpdump, tshark, nmap, lsof, ps, pstree, systemctl, journalctl, auditctl, ausearch, find, grep, awk, sed, chmod, chown, setfacl, getfacl, iptables, nft, nftables, fail2ban, gpg, openssl, tar, rsync, scp, ssh, nc, socat, strings, hexdump, file, md5sum, sha256sum, chkrootkit en rkhunter. Elk item wordt hieronder technisch toegelicht met voorbeelden en gebruikssituaties.
Netwerkinterfaces beheren met ip
Gebruik ip link show en ip addr show om interfaces en IP-adressen te inventariseren. Voor diagnose: ip -s link show geeft statistieken van pakketten en errors. Om een interface tijdelijk uit te schakelen gebruikt u ip link set dev eth0 down en weer up met ip link set dev eth0 up. Voor routebeheer: ip route show en ip route add 10.0.0.0/24 via 192.168.1.1. In incidentrespons vervang je legacy route en ifconfig commando’s door ip omdat ip consistente output geeft voor parsing.
Socketstatus en verbindingen met ss
ss -tulpen toont luisterende sockets met procesinformatie; nuttig om verdachte services te identificeren. Gebruik ss -s voor een samenvatting van socketstatistieken. Voor het koppelen van een PID aan een verbinding: ss -p | grep 192.168.1.10. ss is sneller en accurater dan netstat en biedt gedetailleerde timing en queue informatie, handig bij detectie van command and control verbindingen.
Packet capture met tcpdump
tcpdump is essentieel voor netwerkforensisch onderzoek. Captures maak je met tcpdump -i eth0 -nn -s 0 -w /tmp/capture.pcap om alle pakketten zonder naamresolutie weg te schrijven. Filteren op host en poort: tcpdump -i eth0 host 10.0.0.5 and port 443. Gebruik -c om een limit te zetten en voorkom volle disks. Analyseer pcap bestanden later met tshark of Wireshark. Houd rekening met privacy en bewaartermijnen bij netwerkcapturing.
Deep packet analyse met tshark
Tshark, de commandlineversie van Wireshark, parseert protocollen. Voor extractie van HTTP headers gebruik: tshark -r capture.pcap -Y http.request -T fields -e http.host -e http.user_agent. Tshark is handig voor bulkautomatisering van protocolanalyse en voor integratie met scripts. Gebruik display filters en schrijf resultaten naar CSV voor nadere analyse.
Netwerkscans met nmap
Nmap wordt gebruikt voor discovery en service fingerprinting. Een snelle hostscan: nmap -sS -Pn 10.0.0.0/24. Voor versie- en OS-detectie: nmap -sV -O 10.0.0.5. Gebruik timing profielen en beperk scopes bij penetratietesten. Bewaar scanoutput als XML voor parsing: nmap -oX output.xml. Houd rekening met juridische en organisatorische toestemming bij scans.
Processen en resource-analyse met ps en top
Gebruik ps aux –sort=-%mem voor lijst van processen met geheugenverbruik. Voor boomstructuur en parent child relaties: pstree -p of ps -eo pid,ppid,cmd. top of htop geven real time inzicht; htop is interactief en laat CPU, geheugen en open bestanden per PID zien. Bij verdachte processen noteer de executable pad en startparameters voor forensische verificatie.
Open bestanden en sockets met lsof
Lsof koppelt bestanden en sockets aan processen. Voor netwerkgebruikers: lsof -iTCP -sTCP:LISTEN -P -n toont luisterende TCP sockets met poorten en PIDs. Om te zien wie een specifieke file vasthoudt: lsof /var/log/auth.log. Dit is cruciaal bij het ontbinden van een locked resource en bij het vinden van malware die bestanden in gebruik houdt.
Systeemdiensten beheren met systemctl
Systemctl is het centrale instrument voor systemd services. Controleer status: systemctl status sshd.service. Start of stop services met systemctl start naam.service en systemctl stop naam.service. Schakel automatisch starten uit met systemctl disable naam.service. Tijdens hardening zet je ongebruikte services uit en controleer je unit file permissies en ExecStart parameters op afwijkingen.
Loganalyse met journalctl
Journalctl biedt gefilterde toegang tot systemd logs. Bekijk recente berichten: journalctl -n 200 –no-pager. Filter op unit: journalctl -u sshd.service. Voor realtime monitoring gebruik journalctl -f. Exporteer logs naar bestand voor bewaring: journalctl -u nginx.service –since “2026-01-01” –until “2026-01-02” > nginx-logs.txt. Zorg dat logrotate en veilige opslag zijn ingesteld.
Auditing en trace met auditctl en ausearch
Auditd en auditctl zorgen voor kernelgebaseerde auditing. Voeg een regel toe met auditctl -w /etc/passwd -p wa -k passwd_changes om schrijfbewerkingen te loggen. Gebruik ausearch -k passwd_changes om relevante events terug te vinden. Audit rules zijn essentieel voor detectie van privilege escalatie en ongeautoriseerde wijzigingen, combineer met ausearch en aureport voor analyse.
Bestanden vinden en inspecteren met find
Find is onmisbaar bij forensisch zoeken. Voor recente bestanden: find / -mtime -7 -type f -print. Zoek naar setuid bestanden: find / -perm -4000 -type f -print. Combineer met xargs en md5sum voor integriteitschecks: find /opt -type f -exec sha256sum {} \\; > checksums.txt. Beperk scope en gebruik exclude paden om performance te bewaren op productieomgevingen.
Zoeken in tekst met grep en ripgrep
Grep is krachtig voor pattern matching. Recursieve zoekopdracht zonder binaire bestanden: grep -R –binary-files=without-match “password” /var/www. Ripgrep rg is sneller en geschikter voor grote codebases: rg “secret” /srv. Gebruik contextopties -A en -B om omringende regels te tonen. Regexes moeten getest worden om vals positieven te reduceren.
Transformeren van tekst met awk en sed
Awk is ideaal voor veldgebaseerde extractie: awk ‘{print $1, $3}’ access.log voor kolomselectie. Sed is nuttig voor in-place vervangingen: sed -n ‘1,200p’ bestand.txt voor selectieve prints of sed -i ‘s/oud/nieuw/g’ bestand voor batch wijzigingen. Beide tools zijn essentieel in scripts die logextractie en verwerking automatiseren.
Bestandsrechten en toegangscontrole met chmod en setfacl
Gebruik chmod 640 bestand om veilige permissies te zetten en chown gebruiker:groep bestand om eigenaarschap te herstellen. Voor gedetailleerde ACLs gebruik setfacl -m u:alice:rwx bestand en getfacl bestand om ACLs te inspecteren. In hardening stappen beperk je groepsrechten en monitor je afwijkende permissies, vooral op scripts met execute bits en op configuratiebestanden.
Netwerkfiltering met nft en iptables
NFTables is de moderne firewall; controleer bestaande rules met nft list ruleset. Voor eenvoudige blok: nft add rule inet filter input ip saddr 203.0.113.5 drop. Met iptables legacy commando’s kun je nog specifieke omgevingen bedienen. Zorg voor loggingregels voor verdachte pakketten en beperk exposure van managementpoorten zoals SSH door source filtering en rate limiting.
Versleuteling en integriteitscontrole met openssl en sha256sum
Gebruik openssl voor certificaatinspectie: openssl x509 -in cert.pem -text -noout. Controleer bestandshashes: sha256sum bestand > bestand.sha256 en verifieer later met sha256sum -c. GPG beschermt artefacten en software releases; teken belangrijke bestanden met gpg –sign en verifieer met gpg –verify. Versleuteling en checksums zijn basis voor supply chain security.
Remote toegang veilig beheren met ssh en scp
Ssh configuratie is cruciaal: beperk in /etc/ssh/sshd_config PermitRootLogin no en gebruik PublicKeyAuthentication yes. Gebruik ssh -o BatchMode=yes -i /path/key user@host voor geautomatiseerde secure toegang. Voor bestandsoverdracht gebruik scp of rsync over SSH: rsync -avz -e “ssh -i /path/key” src user@host:/dest. Voeg jump hosts en bastion regeleenheden toe voor gecontroleerde toegang.
Forensische extractie met strings, file en hexdump
Strings ontrafelt tekst uit binaire bestanden: strings binary | rg “password”. File bepaalt het bestandstype: file suspect.bin. Hexdump toont byte-level inhoud: hexdump -C suspect.bin | head. Deze tools helpen bij het identificeren van embedded data, verborgen scripts en packers. Combineer met sandboxing voor verdere analyse.
Detectietools voor rootkits en integriteitsagents
Chkrootkit en rkhunter zijn eerste lijn scans voor bekende rootkits en verdachte bestanden. Draai chkrootkit en rkhunter regelmatig in combinatie met file integrity monitoring. Voor geavanceerde integriteitscontrole gebruik tools die specifieke policies handhaven en alerts genereren bij afwijkingen in hashes of permissies.
Resources en verdere documentatie
Voor diepgaande handleidingen en manpages raadpleeg de officiële documentatie zoals de Linux man pages op https://man7.org/linux/man-pages/ en specifieke projectpagina’s zoals Nmap op https://nmap.org en tcpdump op https://www.tcpdump.org. Open deze links in een nieuwe tab voor referentie en implementatie richtlijnen. Zorg altijd voor een testomgeving voordat je wijzigingen op productie toepast.
Praktische aanbevelingen voor veilige implementatie
Werk met minimale privileges en reproducible scripts. Automatiseer regelmatige snapshots van configuratie en hashbestanden, archiveer logbestanden en bescherm sleutels met gpg en hardwarebeveiliging. Documenteer procedures voor incidentrespons en gebruik tooling die output in machineleesbare vormen produceert voor SIEM integratie. Test en review regels voor firewall en audit policies regelmatig.