Hoofdindex » Servers » TechTalk » Ports monitor
Webservers en meer
TechTalk
Welke poorten staan open?
Iedere computer die via het ethernet communiceert (het ethernet is de getwiste kabel dat voor intranet en internet gebruikt wordt) doet dat via een aantal poorten. De poorten kan je vergelijken met de brievenbussen in een flatgebouw: alle mensen hebben eenzelfde adres (het ip adres), maar halen hun post binnen via één welbepaalde postbus: het poortnummer.

Wat zijn poorten?

Servers luisteren op vastgelegde poorten. Een webserver luistert bijvoorbeeld op poort 80. De poort 80 is zo standaard, dat je het zelfs niet moet vermelden: internet explorer of firefox gaan automatisch poort 80 gebruiken als standaard.

Maar ook bepaalde windows-diensten luiteren naar inkomende berichten: daarmee is het mogelijk te printen op de printer die aangesloten is op een andere computer van de werkgroep of om bestanden te delen. Maar deze openstaande poorten zijn ook het archillespees van het systeem: vele van de inbraakpogingen gebeuren via één van de poorten die door windows gebruikt wordt. Vooral de nieuwe diensten zoals UPnP (Universal Plug and Play) en vooral Remote Procedure Call zijn hacker-gevoelige diensten (en RPC kan je niet uitschakelen, want die wordt ook door de eigen computer gebruikt).

De bedoeling van een router is dus alle inkomende oproepen te blokkeren. Enkel als je een server laat draaien laat je de betreffende poort naar de server toekomen (80 in geval van een webserver).

Welke poorten staan er open?

Je internet service provider blokkert bepaalde inkomende poorten (alle poorten beneden 1024). Deze poorten worden gebruikt om allerhande servers (webservers, mailservers, maar ook LAN diensten zoals het microsoft SMB: file sharing en RPC) te laten runnen. Een router (met beveiligingsfunktie) is onmisbaar voor het geval de configuratie van de provider verkeerd ingesteld staat en sommige gevaarlijke poorten toch doorgelaten zouden worden.

Enkel indien je een business of office account hebt staan alle poorten echt open (waarbij het toegelaten is dat je servers runt —meestal heb je dan ook een vast IP adres gekregen). Een router is hier zeker nodig om LAN diensten tegen te houden en enkel web-gerelateerd traffiek naar je server toe te laten.

Voor de uitgaande verbinding bij TCP communicatie wordt door de client altijd een poort boven 1023 gekozen, en deze poorten zijn nooit geblokkeerd, anders kan het antwoord van de server niet toekomen! Een router zal de 'retourleiding' automatisch laten toekomen bij de client die een verbinding aangaat met een server. De router (aan serverzijde) is natuurlijk geconfigureerd om bepaalde poorten vast door te verbinden met bepaalde lokale computers (omdat daar bijvoorbeeld een server op draait). Uitleg over de werking van een router, zie link hierboven.
Als er geen server staat te luisteren op een bepaalde poort gaan de paketten gewoon verloren.

aports

Om te weten op welke poorten je computer staat te luisteren moet je een port monitor programma downloaden, zoals aports.exe. Dit klein programma draait op windows 2000 en XP.

netstat

Alle windows versies hebben het console-programma netstat aan boord. Dit programma heeft zeker niet de mogelijkheden van aports.exe: het toont niet de programma's die een verbinding hebben, en de lijst wordt ook niet bijgewerkt, maar het zit standaard bij windows.

Het windows systeem luistert op een groot aantal poorten: 137, 138 en 138 zijn de belangrijkste, omdat deze poorten worden gebruikt voor het SMB (het server message block, waarmee netwerkprinters en computers met elkaar kunnen communiceren). Deze poorten moeten lokaal beschikbaar zijn als je file sharing of printer sharing wenst te gebruiken. 135 wordt eveneens door Windows gebruikt en het is zeer gevaarlijk deze poort open te laten voor de buitenwereld. Via deze poort kunnen er namelijk kommando's aan je computer gegeven worden! (svchost is de server die de commando's uitvoert). Het is bijvoorbeeld mogelijk je registry van op afstand te wijzigen, programma's automatisch te starten, en nog veel meer. Waarom microsoft deze levensgevaarlijke tools ingebouwd heeft in zijn windows-versies (vanaf w2k) is een raadsel. Misschien om achteraf antivirussen te kunnen verkopen? In plaats van achteraf de gaten proberen te dichten zouden ze bij microshit beter ervoor zorgen dat er geen gevaarlijke services draaien!

Aports kan bijvoorbeeld ook gebruikt worden om na te zien of je geen programma's hebt die aan "phone home" doen (het versturen van gegevens van je computer naar de leverancier van het programma). Maar echte bescherming heb je enkel als je een echte firewall installeert (dus niet dat ding van microsoft): van ieder programma dat een toegang vraagt tot het internet krijg je een melding dat je moet beantwoorden: niet toelaten, deze keer toelaten, nooit toelaten. Opgelet, bepaalde programma's draaien niet goed als ze geen verbinding met hun thuisbasis kunnen maken (bijvoorbeeld de HP printersuites, je weet wel, die programma's die er 30 minuten over doen om geïnstalleerd te geraken). HP gaat ervan uit dat je altijd een internet verbinding hebt!

Het zal wel duidelijk zijn dat de router alle poorten moet tegenhouden, behalve de nuttige poorten: in mijn voorbeeld 20800 (toen draaide mijn webserver nog op poort 20800). De poorten 25 en 110 zijn de mail-poorten, want ik heb ook een lokale mail server: mercury. Xitami (xiwinnt) is de webserver. Naast poort 20800 luistert hij ook op poort 20741 en 20801. Op deze computer draait ook een DNS server. De meeste DNS servers luisteren op poort 53 (UDP). Windows DNS servers luisteren ook op andere poorten, omdat ze ook de wins resolutie doen.

State

De toestand van een poort kan verschillende waarden krijgen:
LISTEN
Dit is de meest voorkomende situatie: de server applikatie is klaar om verbindingen aan te gaan.
ETABLISHED
Er is een logische verbinding tot stand tussen server en client. De gegevens van de client staan vermeld (ip adres en poort). De remote poort zal altijd hoger zijn dan 1024, behalve voor heel specifieke windows applikaties.
TIME WAIT
De verbinding is waarschijnlijk verbroken, maar het operating system weet het niet zeker. Het nummer van de poort wordt nog niet vrij gegeven zodat die niet gebruikt kan worden. Dit verhindert dat een nieuwe verbinding data zou ontvangen van een vorige verbinding.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's