Ken uw netwerk door en door door regelmatig te controleren op open poorten met deze Linux-commando's.
Open netwerkpoorten zijn de gemakkelijkste toegangspunten tot uw netwerk. Soms draaien er ongewenste services op poorten die extern zichtbaar zijn vanaf internet. Als deze services kwetsbaar zijn, zou uw netwerk constant worden bedreigd door een aanval, aangezien het hele internet elke dag massaal wordt gescand op kwetsbare services op open poorten.
Leer hoe u open poorten op uw Linux-systemen kunt scannen en bekijken, zodat u uw netwerk tegen bedreigingen kunt beschermen.
Wat zijn netwerkpoorten?
Netwerkpoorten zijn logische toegangspunten van uw systeem die kunnen worden gebruikt als een kanaal om meerdere services te hosten. Een poort wordt weergegeven door een 16-bits geheel getal, dus het hoogste poortnummer is 65535.
Je kunt poorten zien als ramen en deuren van een huis, eigenlijk alle verschillende toegangspunten tot een huis of een computer. Er zijn drie typen poorten: systeempoorten (1-1023), geregistreerde poorten (1024-49151) en kortstondige of dynamische poorten (49152-65535).
Wanneer u een toepassing start die verbinding met internet vereist, gebruikt deze dynamische poorten om gegevens via het netwerk te verzenden en te ontvangen. Wanneer u echter een webserver of een SSH-server start, bindt deze zich meestal aan de systeempoorten of geregistreerde poorten.
Voor HTTP-servers is de standaard systeempoort 80 en voor SSH 22. Deze voorschriften, zoals het bereik van poorten, zijn ontwikkeld door de Internet Assigned Numbers Authority (IANA). U kunt via de RFC met betrekking tot poorten voor een volledige lijst van alle poorten en hun functies.
Het is belangrijk dat je de meest kwetsbare poorten zodat u ervoor kunt zorgen dat ze gesloten of beschermd zijn.
1. Controleer op open poorten met netstat
netstat is een populair hulpprogramma dat u kunt gebruiken om de netwerkstatistieken van uw Linux-systeem te bekijken. Het maakt deel uit van het net-tools-pakket.
Het pakket net-tools wordt nu afgeschreven wegens gebrek aan goed onderhoud door de ontwikkelaar. Dit is ook de reden waarom u kunt tegenkomen een "ifconfig: commando niet gevonden" fout bij het uitvoeren van de populaire opdracht ifconfig op Linux.
Dus op moderne systemen moet u misschien eerst het net-tools-pakket installeren en dan kunt u het netstat-commando uitvoeren. Ga als volgt te werk om te controleren op open poorten met netstat:
netstat -tuln
Uitleg van de opdracht:
- -T toont TCP-poorten.
- -u toont UDP-poorten.
- -l toont luisterpoorten. Vervang dit door A als u alle poorten wilt zien, ongeacht hun status.
- -N toont de numerieke waarde van de poorten in plaats van om te zetten in servicenamen. Toon bijvoorbeeld poort 22 in plaats van SSH, d.w.z. de service die op de poort draait.
2. Controleer op open poorten met ss
ss is het moderne equivalent van de netstat-tool. Je vindt dit vooraf geïnstalleerd in alle moderne Linux-distributies. De syntaxis om open poorten met ss te controleren is identiek aan netstat.
Hier leest u hoe u kunt controleren op open poorten met ss:
ss -tuln
Uitleg van de opdracht:
- -T toont TCP-poorten.
- -u toont UDP-poorten.
- -l toont luisterpoorten. Vervang dit door A als u alle poorten wilt zien, ongeacht hun status.
- -N toont de numerieke waarde van de poorten in plaats van om te zetten in servicenamen. Toon bijvoorbeeld poort 21 in plaats van FTP, d.w.z. de service die op de poort draait.
3. Controleer op open poorten met Nmap
Nmap is een van de meest populaire tools op het gebied van cyberbeveiliging en netwerken. Het is een belangrijke naam als het gaat om penetratietesten voor netwerkbeveiliging. De primaire use-case is poortscanning, dus u krijgt niet alleen informatie over de open poorten in uw systeem, maar ook of ze kwetsbaar en exploiteerbaar zijn.
Bovendien, als u open poorten wilt controleren in een systeem op afstand met IDS/IPS ingesteld en firewalls geïnstalleerd, hoeft u zich geen zorgen te maken, want Nmap kan ook firewalls en IDS/IPS omzeilen met de juiste schakelaars.
Kijk hier eens naar uitgebreide gids op Nmap voor beginners om de diverse functies van Nmap te verkennen en hoe ze te gebruiken. Hoewel dat wel kan, is het niet aan te raden om firewalls te omzeilen omdat het niet helemaal betrouwbaar is, dus het is het beste om via SSH naar de externe server te gaan en Nmap er lokaal op uit te voeren.
Hier is de opdracht om te controleren op open poorten met Nmap:
nmap -sTU -sV -T 5 --min-rate 9000 --min-parallelisme 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retries 50 -Pn --disable-arp-ping -n -- script vuln, exploit, auth -v -oX
Uitleg van de opdracht:
- -sTU stelt het scantype in op TCP Connect en UDP-scan.
- -T5 stelt de timingtemplate in op agressief voor razendsnelle scans (niet aanbevolen op een onbeschermd systeem omdat dit kan resulteren in een DoS-aanval).
- -sV schakelt servicescan in.
- --min-tarief 9000 vertelt Nmap om 9000 pakketten per seconde te verzenden.
- --initial-rtt-timeout 50ms vertelt Nmap om aanvankelijk 50 ms te wachten op een antwoord op elk SYN-pakket dat het verzendt.
- --max-rtt-time-out 3000ms vertelt Nmap om maximaal 3000 ms te wachten op een reactie.
- --min-parallelisme 9000 stelt het minimum aantal gelijktijdige scriptruns in op 9000.
- --max-pogingen 50 vertelt Nmap om 50 keer opnieuw te proberen om verbinding te maken met een poort.
- -Pn schakelt ping-probing uit.
- --arp-ping uitschakelen schakelt ARP-sondering uit.
- -N schakelt DNS-omzetting uit.
- --script vuln, exploit, auth voert drie scripts uit om te testen op verschillende soorten kwetsbaarheden in de ontdekte poorten.
- -v retourneert een uitgebreide uitvoer.
- -os slaat resultaten op in een XML-bestand.
- -6 Optionele parameter om IPv6-adressen te scannen.
4. Controleer op open poorten met lsof
De opdracht lsof in Linux wordt gebruikt om geopende bestanden weer te geven. Als u er echter een paar schakelaars aan toevoegt, kunt u de open internetverbindingen en poorten op uw lokale computer zien. Zo controleert u op open poorten met lsof:
lsof -i -n
Uitleg van de opdracht:
- -i somt alle netwerk- en internetbestanden op.
- -N lost geen hostnamen op.
5. Controleer op open poorten met netcat
netcat is een opdrachtregelprogramma waarmee u kunt lezen en schrijven van en naar TCP/UDP-verbindingen. Merk op dat dit slechts één kenmerk van netcat is. Je kunt de handleidingpagina bekijken met behulp van de man netkat opdracht om al zijn functies te verkennen en hoe ze te gebruiken.
Hier ziet u hoe u netcat kunt gebruiken om open poorten te scannen:
nc -zv | grep -v "weigerde"
Uitleg van de opdracht:
- -z zet netcat in scannermodus.
- -v retourneert een uitgebreide uitvoer.
- grep -v "weigerde" retourneert uitvoerregels zonder het woord "geweigerd". Dit is om te voorkomen dat de terminal verstopt raakt met berichten "verbinding geweigerd" wanneer netcat geen uitvoer ontvangt van een poort.
- 2>&1: Dit is een optionele schakelaar die u mogelijk moet inschakelen om grep te laten werken wanneer netcat in de uitgebreide modus wordt uitgevoerd. netcat retourneert uitvoer naar stderr (aangegeven met 2). Dus om de uitvoer te vatten, moet je stderr omleiden naar stdout (aangegeven met 1) en het vervolgens naar grep sluizen.
Hoe beter u uw netwerk kent, hoe beter u het kunt verdedigen
Weten welke poorten open zijn en welke services op uw systeem worden uitgevoerd, is een goede stap om het te beschermen tegen mogelijke externe aanvallen. Hiermee kunt u onnodige services zoeken en afsluiten, verouderde services vinden en ook detecteren of er schadelijke bestanden zoals bind- of reverse shell-backdoors op uw systeem.
Als u netwerkbeveiliging serieus neemt, kunt u overwegen een IDS-oplossing te installeren en in te stellen om alle activiteiten op uw netwerk te bewaken en regelsets af te dwingen om ongevraagde verbindingen te voorkomen.