|
|
Zeile 1: |
Zeile 1: |
| '''topic''' - Kurzbeschreibung
| | #WEITERLEITUNG [[Netzwerk/L4/Port]] |
| == Beschreibung ==
| |
| ; TCP- und UDP-Ports
| |
| TCP- und UDP-Ports sind eine Software-Abstraktion
| |
| * um parallele Kommunikationsverbindungen einer oder mehreren Anwendungen voneinander unterscheiden zu können
| |
| * Ähnlich wie IP-Adressen zur Adressierung von Rechnern in Netzwerken dienen, adressieren Ports spezifische Anwendungen und ihre Verbindungen, die auf einem Rechner laufen
| |
| | |
| ; Datenpakete, die über IP ihr Ziel erreichen, werden von TCP zusammengesetzt und an eine Anwendung übergeben
| |
| * Da mehrere Anwendungen zugleich TCP-Verbindungen aufbauen können, muss eine Zuordnung zwischen Datenpaket und Anwendung erfolgen
| |
| * Zu diesem Zweck wird eine Kennung zwischen Daten und Anwendung definiert, die als Port bezeichnet wird
| |
| * Es handelt sich dabei um eine fortlaufende Nummer zwischen 0 bis 65.535
| |
| * TCP-Pakete sind mit diesen Port-Nummern, jeweils eine für Sender und Empfänger, versehen
| |
| * Mit den Ports ist es möglich, dass die Datenpakete mehrerer Verbindungen dem richtigen Datenstrom zugeordnet werden können
| |
| | |
| ==== Ports ====
| |
| Die Port-Nummern, die für TCP und UDP gleichzeitig gelten, werden von der IANA (Internet Assigned Numbers Authority) bzw. ICANN (Internet Corporation for Assigned Names and Numbers) verwaltet und vergeben
| |
| | |
| {| class="wikitable options big"
| |
| |-
| |
| ! Name !! Bereich !! Beschreibung
| |
| |-
| |
| | Well Known || 0 - 1023 ||
| |
| * Einem Dienst oder Anwendungsprotokoll fest zugeordnet
| |
| * Bekannte Dienste hören standardmäßig diese Ports ab
| |
| * Standard-, Default-, Destination-Ports
| |
| |-
| |
| | Registered || 1024 - 49151 ||
| |
| * Zur Registrierung freigegeben
| |
| * Können bei der [[IANA]]/[[ICANN]] registriert werden
| |
| * Dies Ports können mehrfach belegt sein
| |
| |-
| |
| | Dynamically Allocated || 49152 - 65535 ||
| |
| * Können frei verwendet werden
| |
| * Können dynamisch zugewiesen werden
| |
| * Typischerweise nutzen Client diese Ports für ausgehende Verbindungen (Source-Port)
| |
| |}
| |
| | |
| Wenn Anwendungen zu einem Server Kontakt aufnehmen wollen, dann vergibt TCP bzw. UDP den Standard-Port für den Empfänger-Port und vergibt einen freien Port ab 49.152 für den Sender-Port
| |
| * Wenn der Server die Daten erhalten hat und eine Antwort zurückschickt, dann werden die Port-Nummern vertauscht
| |
| * Damit wird sichergestellt, dass die Daten nicht an eine falsche Anwendung übergeben werden
| |
| | |
| ; Beispiele für Standard-Ports (TCP)
| |
| {| class="wikitable options"
| |
| !Port-Nummer
| |
| !Protokoll
| |
| !Anwendung
| |
| |-
| |
| |21
| |
| |FTP
| |
| |Dateitransfer (FTP-Server)
| |
| |-
| |
| |23
| |
| |Telnet
| |
| |Konsole (Server)
| |
| |-
| |
| |25
| |
| |SMTP
| |
| |Postausgang (SMTP-Server)
| |
| |-
| |
| |80
| |
| |HTTP
| |
| |World Wide Web (Webserver)
| |
| |-
| |
| |110
| |
| |POP
| |
| |Posteingang (POP-Server)
| |
| |-
| |
| |119
| |
| |NNTP
| |
| |Usenet (News-Server)
| |
| |}
| |
| | |
| ; Beispiele für Standard-Ports (UDP)
| |
| {| class="wikitable options"
| |
| !Port-Nummer
| |
| !Protokoll
| |
| !Anwendung
| |
| |-
| |
| |53
| |
| |DNS
| |
| |Domain Name Server
| |
| |-
| |
| |69
| |
| |TFTP
| |
| |Trivial File Transfer Protocol
| |
| |-
| |
| |137
| |
| |NetBIOS-ns
| |
| |NetBIOS Nameserver
| |
| |-
| |
| |138
| |
| |NetBIOS-DGM
| |
| |NetBIOS-Datagramm-Dienst
| |
| |-
| |
| |161
| |
| |SNMP
| |
| |Simple Network Management Protocol
| |
| |}
| |
| | |
| == Port-Zustände ==
| |
| Der Zustand eines Ports bestimmt, ob eine Kommunikation über diesen Port zu einer dahinterliegenden Anwendung möglich ist
| |
| | |
| ; Zustände
| |
| {| class="wikitable options big"
| |
| |-
| |
| ! Zustand !! Beschreibung
| |
| |-
| |
| | Open || Offen
| |
| |-
| |
| | Closed || Geschlossen
| |
| |-
| |
| | Filtered/Blocked || Gefiltert/Geblockt
| |
| |}
| |
| | |
| In der Regel reicht es aus, wenn man alle Ports pauschal in diese zwei (offen, geschlossen) oder auch drei Zustände einteilt (offen, geschlossen, gefiltert)
| |
| * Es gibt allerdings eine Betrachtungsweise auf Ports, die mehr Zustände zulässt
| |
| * So kennt der Port-Scanner NMAP insgesamt sechs Port-Zustände
| |
| | |
| ==== Open / Offen ====
| |
| Der Zustand "Open" oder "Offen" ist dann gegeben, wenn auf einem spezifischen Port eine Anwendung lauscht
| |
| * Mit "Offen" ist gemeint, dass man zu einer Anwendung über diesen Port eine Verbindung aufbauen kann
| |
| | |
| ==== Closed / Geschlossen ====
| |
| Der Zustand "Closed" oder "Geschlossen" ist der Standardzustand eines Ports
| |
| * Er ist dann gegeben, wenn auf einem spezifischen Port keine Anwendung lauscht
| |
| * Der Host wird eine Verbindung zu diesem Port aktiv ablehnen
| |
| * Mit "Geschlossen" ist gemeint, dass es keine Anwendung gibt zu der man eine Verbindung über diesen Port aufbauen kann
| |
| | |
| Zumindest gibt es auf TCP/UDP-Ebene keine Verbindungsmöglichkeit
| |
| * Denn der Zustand "Geschlossen" kann auch dann gelten, wenn das kontaktierte System durch eine Firewall geschützt ist und die Verbindungsversuche auf einem bestimmten Port aktiv ablehnt
| |
| * Das bedeutet aber auch, dass zu der dahinterliegenden Anwendung keine Verbindung aufgebaut werden kann
| |
| | |
| ==== Filtered / Gefiltert (Blocked / Geblockt) ====
| |
| Der Zustand "Filtered" oder "Gefiltert" ist dann gegeben, wenn der kontaktierte Port durch eine Firewall geschützt ist und auf Verbindungsversuche nicht antwortet
| |
| * Das heißt, die Verbindung wird weder bestätigt (Offen), noch abgelehnt (Geschlossen)
| |
| * Man muss also annehmen, dass der Verbindungsversuch aktiv blockiert wird
| |
| * Das gilt aber nur dann, wenn der Host generell online ist, also auf mindestens einem anderen Port eine Verbindung zulässt
| |
| | |
| Der Zustand "Gefiltert" drückt aus, dass der Port nicht erreicht werden kann, weil er zum Beispiel durch eine Firewall-Regel blockiert wird
| |
| * Dieser Zustand kann aber auch dadurch entstehen, dass der kontaktierte Host gar nicht erreichbar ist
| |
| | |
| ; Portzustände
| |
| {| class="wikitable options"
| |
| ! Zustand !! Beschreibung
| |
| |-
| |
| | 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.
| |
| |-
| |
| | 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.
| |
| |-
| |
| | Gefiltert/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.
| |
| |}
| |
| | |
| == Sicherheit ==
| |
| [[Transmission Control Protocol/Port/Sicherheit]]
| |
| | |
| == Anhang ==
| |
| === Siehe auch ===
| |
| {{Special:PrefixIndex/{{BASEPAGENAME}}}}
| |
| ----
| |
| * [[Netzwerkadressen]]
| |
| * [[TCP]] - Transmission Control Protocol
| |
| * [[UDP]] - User Datagram Protocol
| |
| * [[TCP/IP]]
| |
| * [[Firewall]]
| |
| * [[ICMP]] - Internet Control Message Protocol
| |
| * [[nmap]] - Network Mapper
| |
| * [[Port-Scanning]]
| |
| * [[Port-Scanning mit NMAP]]
| |
| | |
| ==== Links ====
| |
| ===== Weblinks =====
| |
| # https://www.elektronik-kompendium.de/sites/net/1812041.htm | |
| | |
| [[Portknocking]]
| |
| [[Standard-Ports ändern]]
| |
| [[Kategorie:TCP]]
| |
| [[Kategorie:Netzwerk/Adresse]] | |
| | |
| === TMP ===
| |
| Portnummern sind 16-Bit-Zahlen (0-65535)
| |
| | |
| ; Ports von 0 bis 1023 sind reserviert
| |
| * Vergeben von '''I'''nternet '''A'''ssigned '''N'''umbers '''A'''uthority (IANA)
| |
| * z. B. ist Port 80 für '''H'''yper'''t'''ext '''T'''ransfer '''P'''rotocol (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
| |
| * 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
| |
| | |
| ===== Services =====
| |
| ; Services
| |
| %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
| |
| [...]
| |
| | |
| <noinclude>
| |