Sterke start: waarom Linux essentieel in Cybersecurity
Linux vormt de ruggengraat van vele security-omgevingen: van intrusion detection en forensisch onderzoek tot firewalls en netwerkmonitoring. Beheerders en analisten gebruiken specifieke commando’s om netwerkverkeer te inspecteren, sockets te controleren en firewallregels af te dwingen. In dit artikel behandel ik drie kerncommando’s die praktisch en technisch onmisbaar zijn voor defenders en onderzoekers, met concrete voorbeelden en wanneer je ze veilig en effectief inzet.
Diepe inspectie met tcpdump
tcpdump is een packet capture-programma dat op laag 2/3 netwerkframes en laag 4 TCP/UDP-pakketten kan filteren en wegschrijven naar pcap-bestanden voor latere analyse. Gebruik het om verdachte verkeerpatronen te identificeren, verbindingen te reconstrueren of netwerkaanvallen te onderzoeken. Voor live analyse gebruik je capture filters (BPF) zodat alleen relevante pakketten worden vastgelegd, wat schijfruimte en ruis vermindert. tcpdump vereist doorgaans rootrechten omdat het toegang tot promiscuous mode en raw sockets nodig heeft.
Praktische tcpdump richtlijnen en voorbeelden
Technische voorbeelden: om HTTP-verkeer op interface eth0 te vangen en naar een bestand te schrijven: tcpdump -i eth0 -w /tmp/capture.pcap tcp port 80. Voor het live lezen en tonen van headers met menselijke leesbaarheid: tcpdump -i eth0 -n -vvv tcp port 443. Gebruik capture filters zoals host 10.0.0.5 of net 192.168.1.0/24 om scope te beperken. Na capture analyseer je het resultaat met Wireshark of tshark: tshark -r /tmp/capture.pcap. Let op performance: bij hoge doorvoer kun je ringbuffers gebruiken: tcpdump -i eth0 -w /tmp/cap.pcap -W 5 -C 100 om vijf bestanden van 100MB te roteren. Zorg dat je juridische bevoegdheid hebt voordat je pakt en bewaar timestamps en bestandsintegriteit voor forensische validiteit.
| Commando | Omschrijving | Voorbeeld |
|---|---|---|
| tcpdump | Capture en filter netwerkverkeer, wegschrijven naar pcap voor analyse | tcpdump -i eth0 -w /tmp/capture.pcap tcp port 80 |
Realtime socketanalyse met ss
ss is een modern alternatief voor netstat dat snel en gedetailleerd informatie toont over TCP, UDP en UNIX sockets. Het is uitermate geschikt om actieve verbindingen, luisterende poorten, socketstatistieken en bind-adressen te beoordelen. In incident response helpt ss om backdoors en ongewenste luisterende services op te sporen en om te controleren of een firewallregel daadwerkelijk verbindingen blokkeert.
Wanneer en hoe ss te gebruiken in onderzoek
Voor een snelle lijst van alle luisterende TCP-poorten en bijbehorende processen: ss -tlnp. Toegang tot procesinformatie vereist vaak root. Gebruik ss -s voor samenvattende socketstatistieken bij verkeersanomalieën. Voor het inspecteren van ESTABLISHED-verbindingen inclusief remote endpoints: ss -tnp state established. Combineer met tools als lsof voor aanvullende proces-opstartinformatie: lsof -iTCP -sTCP:ESTABLISHED -n -P. ss is efficiënt en geschikt in scripts voor continue monitoring of als eerste stap in een triage workflow.
| Commando | Omschrijving | Voorbeeld |
|---|---|---|
| ss | Toont socketstatussen, luisterende poorten en actieve verbindingen | ss -tlnp |
Verkeer regelen met iptables
iptables is het klassieke userspace-commando voor netfilter op Linux om firewallregels te beheren. Met iptables definieer je pakketspecificatie, chains en policies om in- en uitgaand verkeer te blokkeren of toe te staan. Voor security-operaties gebruik je het om toegangsbeperkingen in te stellen, brute force-protectie te implementeren en om recovery rules in te stellen tijdens incident response. Wijzigingen in iptables zijn direct en kunnen netwerkomgeving beïnvloeden, test daarom altijd op staging of via een console met fallback toegang.
Technische iptables-adviezen en veilige voorbeelden
Een praktisch voorbeeld om SSH-toegang toe te staan en de rest te beperken: iptables -A INPUT -p tcp –dport 22 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT gevolgd door iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT en ten slotte iptables -P INPUT DROP om een default deny in te stellen. Gebruik iptables -L -n -v om regels te inspecteren en iptables-save > /etc/iptables/rules.v4 om regels persistente opslag te geven (distributieafhankelijk). Voor geavanceerd gebruik combineer je ipset met iptables voor efficiënte bloklists. Als je op systemen met nftables werkt, overweeg migratie omdat nft moderner is. Bij live incident response: maak altijd een back-up van bestaande regels voordat je aanpassingen doorvoert.
| Commando | Omschrijving | Voorbeeld |
|---|---|---|
| iptables | Beheer netfilter firewallregels om netwerkverkeer te blokkeren of toe te staan | iptables -A INPUT -p tcp –dport 22 -j ACCEPT |
Handige referenties voor verdieping
Voor officiële documentatie en extra voorbeelden raadpleeg de volgende bronnen: tcpdump projectpagina op https://www.tcpdump.org/ (open in nieuwe tab), ss manpagina op https://man7.org/linux/man-pages/man8/ss.8.html en iptables projectinformatie op https://netfilter.org/projects/iptables/index.html. Deze links openen in een nieuw venster en bieden diepergaande technische referenties en uitgebreide opties voor productiegebruik.