Transmission Control Protocol/Port

Aus Foxwiki

topic - Kurzbeschreibung

Beschreibung

  • Portnummern sind 16-Bit-Zahlen und reichen von 0 bis 65535.
  • Ports von 0 bis 1023 sind reserviert
    • Vergeben von Internet Assigned Numbers Authority (IANA)
    • z. B.  ist Port 80 für Hypertext Transfer Protocol (HTTP) reserviert.
  • Das Benutzen der vordefinierten Ports ist nicht bindend.
    • Jeder Administrator kann bspw. einen FTP-Server (normalerweise Port 21) auch auf einem beliebigen Port laufen lassen.
  • Mehrfaches listen auf demselben Port ist nicht möglich.
Identifizieren von Anwendungen
  • Ports von 0 bis 65535 gibt es unabhängig voneinander bei TCP und UDP
  • Sie stellen die Endpunkte einer Kommunikations-beziehung zwischen zwei Rechnern dar
  • Die sog. „well-known-ports“ von 0..1023 sind standardisiert z. B. :
  • TCP-Port 80 für http
  • UDP+TCP-Port 53 für DNS
  • UDP-Port 123 für NTP
  • Die well-known-ports sind für Systemdienste/Daemons reserviert und dürfen nur mit besonderen Rechten (root) genutzt werden
TCP-Multiplexmechanismus
  • Da die Kombination aus IP-Adresse, Quell- und Zielport eindeutig ist, können auch Datenströme gleichen Typs eindeutig den zuständigen Prozessen zugeordnet werden

Zuweisung von Portnummern

Passive Seite
  • Server bindet sich an einen bestimmten Port (bind())
Aktive Seite
  • Client sendet Anfrage oder erstellt eine Verbindung zum Port des Servers (connect()).
Portnummern können Anwendungsdiensten statisch zugeordnet sein
Eintrag in einer Datenbank, die den durch Server erbrachten Diensten bestimmte Ports zuordnet
  • /etc/services (UNIX)
  • %SYSTEMROOT%\system32\drivers\etc\services (Windows)
Dynamische Zuordnung via Verzeichnisdienst, Nameserver (lokal oder verteilt) möglich

Well Known Ports

Verwaltung der well-known-ports
  • Internet Assigned Numbers Authority (IANA)
  • Zuständig für Vergabe von Konstanten in TCP/ IP- Protokollen (port numbers, protocol numbers, ...)
  • Bereich 0.. 1023: Für globale "well known" ports, kontrolliert von der IANA
  • Bereich 1024 .. 65535: Frei für dynamische Allozierung durch Prozesse oder für statische Allozierung mit lokaler Bedeutung
  • Registrierung durch IANA ist optional
  • Aktuelle globale/statische Zuordnungen

Well-known port numbers

%SYSTENROOT%\system32\drivers\etc\services

# Copyright (c) 1993-1999 Microsoft Corp.
# Diese Datei enthält die Portnummern für bekannte Dienste gemäß IANA.
# Format:
# <Dienstname>  <Portnummer>/<Protokoll>  [Alias...]   [#<Kommentar>] 

ftp-data           20/tcp                           #FTP, data
ftp                21/tcp                           #FTP. control
telnet             23/tcp
smtp               25/tcp    mail                   #Simple Mail Transfer Protocol
time               37/tcp    timserver
time               37/udp    timserver
domain             53/tcp                           #Domain Name Server
domain             53/udp                           #Domain Name Server
tftp               69/udp                           #Trivial File Transfer
http               80/tcp    www www-http           #World Wide Web
pop3              110/tcp                           #Post Office Protocol - Version 3
nntp              119/tcp    usenet                 #Network News Transfer Protocol
ntp               123/udp                           #Network Time Protocol
netbios-ns        137/tcp    nbname                 #NETBIOS Name Service
netbios-ns        137/udp    nbname                 #NETBIOS Name Service
netbios-dgm       138/udp    nbdatagram             #NETBIOS Datagram Service
netbios-ssn       139/tcp    nbsession              #NETBIOS Session Service
imap              143/tcp    imap4                  #Internet Message Access Protocol
snmp              161/udp                           #SNMP
irc               194/tcp                           #Internet Relay Chat Protocol        
ipx               213/udp                           #IPX over IP
https             443/tcp    MCom
https             443/udp    MCom
[...]

Portzustände

Zustand offen

Offen" bedeutet, dass eine Anwendung oder ein Dienst bereit ist TCP-Verbindungen oder UDP-Pakete auf diesem Port anzunehmen.
  • Um Kommunikationsverbindungen betreiben zu können, bedarf es offener Ports.
  • Anzahl offener Ports begrenzen, um die Angriffsfläche so klein wie möglich zu halten.
  • Offene Ports werden zusätzlich geschützt oder Verbindungsmöglichkeiten eingeschränkt.

Zustand geschlossen

"Geschlossen" bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört.
  • Auf ihm sind keine Kommunikationsverbindungen möglich.
  • Ein geschlossener Port ist nur so lange geschlossen, wie eine Anwendung auf diesen Port hört und Verbindungen und Pakete annimmt.
  • So verhindert man z. B.  die Verbindungsversuche durch Port-Scans.
  • Ein Port-Scan soll nur den Zustand eines Ports ermitteln, aber keine echte Verbindung aufbauen.
  • Dann kann für diesen Port weder der Status "offen" noch "geschlossen" gelten.

Zustand gefiltert bzw. blockiert

  • Dafür gibt es den Zustand "gefiltert" oder "blockiert".
  • Um offene, aber auch geschlossene Ports zu schützen, setzen Systemadministratoren einen Portfilter (Firewall) ein.
  • Weil er die dahinterliegende Anwendung nicht kennt, kann er nur Testpakete an einen Port schicken.
  • Der Filter verhindert, dass diese Testpakete durchkommen.
  • In der Regel werden diese Pakete verworfen.
  • Gefiltert bedeutet, dass eine Firewall, ein Filter oder ein anderes Netzwerkhindernis den Port blockiert.



Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Pages
Info-Pages

Links

Projekt
Weblinks