Tips en Trucs 2018

Open poorten opsporen

Een poort is een adresseerbare netwerklocatie in een besturingssysteem. Poorten worden gebruikt om netwerkverkeer naar een bepaalde dienst of applicatie te sturen. Een poort is steeds verbonden aan een IP adres en een communicatie protocol.

Poorten worden genummerd van 1 tot 65535 en worden in verschillende categorieën onderverdeeld.

Port Listening

Een dienst (service) luistert naar een poort (geassocieerd met een protocol en IP adres) wanneer deze verzoeken van aanvragers van deze dienst (clients of the service) ontvangt. Na het ontvangen van een verzoek wordt een verbinding via dezelfde poort opgebouwd om een dialoog tussen de aanvrager en de dienst op te bouwen.

Open poorten opsporen

Als je op de hoogte bent van de door uw systeem gebruikte poorten, kan je inbraken op uw systeem detecteren. Kennis over in Linux geopende poorten helpt dus bij het dwarsbomen van inbraakpogingen. Deze kennis is dus belangrijk bij het beveiligen van uw systeem.

Diensten die luisteren naar verzoeken op bepaalde poorten, gebruiken die poorten. De poorten die door diensten gebruikt worden, noemen we geopende poorten en de betreffende diensten luisteren ernaar. Je kunt op verschillende manieren open poorten opsporen.

Met nmap

Met nmap kan je veel informatie over een systeem opvragen, waardoor systeembeheerders de indruk kunnen krijgen dat je slechte bedoelingen hebt. Gebruik nmap dus enkel op uw eigen lokale systemen.

Installeer nmap met de opdracht:

dany@pindabook:~> sudo zypper install nmap
[sudo] wachtwoord voor root: 
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  nmap

1 nieuw te installeren pakket.
Totale downloadgrootte: 5,2 MiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 23,5 MiB worden gebruikt.
Doorgaan? [j/n/...? alle opties tonen] (j): 
pakket nmap-7.70-lp150.1.1.x86_64 wordt opgehaald                                              (1/1),   5,2 MiB ( 23,5 MiB uitgepakt)
Ophalen: nmap-7.70-lp150.1.1.x86_64.rpm .........................................................................[gereed (3,5 MiB/s)]
Controleren op conflicten tussen bestanden: .................................................................................[gereed]
(1/1) Installeren van: nmap-7.70-lp150.1.1.x86_64 ...........................................................................[gereed]

Met nmap kan je bijvoorbeeld nagaan welke poorten naar TCP verbindingen op het netwerk luisteren.

dany@pindabook:~> sudo nmap -sT -O localhost
[sudo] wachtwoord voor root: 
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-14 19:48 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00011s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
631/tcp  open  ipp
3306/tcp open  mysql
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.8 - 4.14
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.36 seconds

Of poorten die naar UDP verbindingen luisteren.

dany@pindabook:~> sudo nmap -sU -O localhost
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-14 19:49 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000017s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 998 closed ports
PORT     STATE         SERVICE
68/udp   open|filtered dhcpc
5353/udp open|filtered zeroconf
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3.13
OS details: Linux 2.6.14 - 2.6.34, Linux 2.6.17, Linux 2.6.17 (Mandriva), Linux 3.13
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.51 seconds

Met ss

Ook ss kan open poorten vinden.

ss

Waarbij we de volgende opties gebruikten:

Met lsof

Met lsof kan je eveneens open poorten weergeven.

dany@pindabook:~> lsof -i
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
kdeconnec 2218 dany   12u  IPv6  33821      0t0  UDP *:xmsg 
kdeconnec 2218 dany   13u  IPv6  33822      0t0  TCP *:xmsg (LISTEN)

De lsof opdracht geeft standaard, dus zonder opties, alle open bestanden weer, en dit zijn er heel wat.

Tot slot

Kennis over poorten is essentieel voor enthousiaste Linux gebruikers en systeembeheerders. Hulpmiddelen zoals ss, lsof en nmap zijn flexibel en kunnen veel informatie over een dienst op een systeem zichtbaar maken. Meer informatie kan je vinden in de hulppagina's (man pages). Veel succes met met opsporen van lekken en andere gevaren op uw netwerk.