Transmission Control Protocol/Port: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 111: Zeile 111:


[[Kategorie:Transmission Control Protocol]]
[[Kategorie:Transmission Control Protocol]]
[[Kategorie:User Datagram Protocol]]
[[Kategorie:Netzwerk/Adresse]]
[[Kategorie:Netzwerk/Adresse]]
</noinclude>
</noinclude>

Version vom 20. Mai 2023, 14:37 Uhr

topic - Kurzbeschreibung

Beschreibung

Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Pages
Info-Pages

Links

Projekt
Weblinks

TMP

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.

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: ftp:// ftp.isi.edu / in-notes / iana / assignments

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.