Netzwerk/L4/Port: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''Layer 4/Port''' - Adressierung auf [[OSI-Layer 4]]
 
== Beschreibung ==
== Beschreibung ==
; TCP- und UDP-Ports
; TCP- und UDP-Ports
TCP- und UDP-Ports sind eine Software-Abstraktion
* Software-Abstraktion
* um parallele Kommunikationsverbindungen einer oder mehreren Anwendungen voneinander unterscheiden zu können
* 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
* 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
; 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
* 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
* Zu diesem Zweck wird eine Kennung zwischen Daten und Anwendung definiert, die als Port bezeichnet wird
Zeile 13: Zeile 15:
* Mit den Ports ist es möglich, dass die Datenpakete mehrerer Verbindungen dem richtigen Datenstrom zugeordnet werden können
* Mit den Ports ist es möglich, dass die Datenpakete mehrerer Verbindungen dem richtigen Datenstrom zugeordnet werden können


==== Ports ====
== Port-Nummern ==
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
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


Zeile 140: Zeile 142:
* Dieser Zustand kann aber auch dadurch entstehen, dass der kontaktierte Host gar nicht erreichbar ist
* Dieser Zustand kann aber auch dadurch entstehen, dass der kontaktierte Host gar nicht erreichbar ist


; Portzustände
====== Portzustände ======
{| class="wikitable options"
{| class="wikitable options"
! Zustand !! Beschreibung
! Zustand !! Beschreibung
Zeile 171: Zeile 173:
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
----
----
* [[Netzwerkadressen]]
* [[Portknocking]]
* [[Standard-Ports ändern]]
* [[Netzwerkadresse]]
* [[TCP]] - Transmission Control Protocol
* [[TCP]] - Transmission Control Protocol
* [[UDP]] - User Datagram Protocol
* [[UDP]] - User Datagram Protocol
Zeile 185: Zeile 189:
# https://www.elektronik-kompendium.de/sites/net/1812041.htm
# https://www.elektronik-kompendium.de/sites/net/1812041.htm


[[Kategorie:Netzwerk/L4/Port]]
[[Kategorie:TCP]]
[[Kategorie:UDP]]
[[Kategorie:Netzwerk/Port]]
[[Portknocking]]
[[Portknocking]]
[[Standard-Ports ändern]]
[[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
[...]


[[Kategorie:Netzwerk/L4/Port]]
<noinclude>
<noinclude>
[[File:2023-05-15_20-23.png|mini|400px]]
# [[Transmission Control Protocol/Port]]
# [[User Datagram Protocol/Port]]
[[Kategorie:Netzwerk/Adresse]]

Aktuelle Version vom 29. Oktober 2024, 19:42 Uhr

Layer 4/Port - Adressierung auf OSI-Layer 4

Beschreibung

TCP- und UDP-Ports
  • Software-Abstraktion
  • parallele Kommunikationsverbindungen einer oder mehreren Anwendungen voneinander unterscheiden zu können
  • 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

Port-Nummern

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

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)
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)
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
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
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


Links

Weblinks
  1. https://www.elektronik-kompendium.de/sites/net/1812041.htm

Portknocking Standard-Ports ändern