Transmission Control Protocol/Port: Unterschied zwischen den Versionen
Zeile 167: | Zeile 167: | ||
; Schutz vor "offenen Ports" | ; Schutz vor "offenen Ports" | ||
Offene Ports sind kein Problem | Offene Ports sind kein Problem | ||
* Sie sind Bestandteil einer verbindungsorientierten Kommunikation in einem Netzwerk | * Sie sind Bestandteil einer verbindungsorientierten Kommunikation in einem Netzwerk | ||
* "Offene Ports" sind erst dann ein Problem, wenn der Anwender von dem offenen Port, also vom Starten einer Anwendung, die auf einen bestimmten Port hört, nichts mitbekommt | |||
Zum Beispiel, wenn die Anwendung im Hintergrund läuft | |||
* Das können reguläre Systemdienste, aber auch Schadsoftware sein | * Das können reguläre Systemdienste, aber auch Schadsoftware sein | ||
* Ein unerwünschter offener Port wäre dann eine [[Sicherheitslücke]] | * Ein unerwünschter offener Port wäre dann eine [[Sicherheitslücke]] |
Version vom 30. Januar 2024, 20:24 Uhr
topic - Kurzbeschreibung
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
Name | Bereich | Beschreibung |
---|---|---|
Well Known | 0 - 1023 |
|
Registered | 1024 - 49151 | |
Dynamically Allocated | 49152 - 65535 |
|
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.
|
Geschlossen | bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört.
|
Gefiltert/Blockiert | Dafür gibt es den Zustand "gefiltert" oder "blockiert"
|
Sicherheit
- Schutz vor "offenen Ports"
Offene Ports sind kein Problem
- Sie sind Bestandteil einer verbindungsorientierten Kommunikation in einem Netzwerk
- "Offene Ports" sind erst dann ein Problem, wenn der Anwender von dem offenen Port, also vom Starten einer Anwendung, die auf einen bestimmten Port hört, nichts mitbekommt
Zum Beispiel, wenn die Anwendung im Hintergrund läuft
- Das können reguläre Systemdienste, aber auch Schadsoftware sein
- Ein unerwünschter offener Port wäre dann eine Sicherheitslücke
- Firewall
Um zu verhindern, dass ein Port unberechtigterweise geöffnet wird, wird oft eine Firewall oder ein Portfilter vorgeschaltet, der Verbindungen von außen auf von innen unberechtigt geöffnete Ports verhindert
- Desktop-Firewall
Als Anwender kann man sich vor dem Öffnen eines Ports durch eine unberechtigte Anwendung dadurch schützen, dass man eine Desktop-Firewall installiert, die vor Verbindungsversuchen von innen nach außen warnt und explizit um Erlaubnis fragt
- Auf diese Weise kann man verhindern, dass Anwendungsprogramme nicht zum Einfallstor werden
Anhang
Siehe auch
- Netzwerk-Adressen
- TCP - Transmission Control Protocol
- UDP - User Datagram Protocol
- TCP/IP
- Firewall
- ICMP - Internet Control Message Protocol
- NMAP - Network Mapper
- Port-Scanning (Grundlagen)
- Port-Scanning mit NMAP
Links
Weblinks
Portknocking Standard-Ports ändern
TMP
Portnummern sind 16-Bit-Zahlen (0-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
- 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
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 [...]