Warum Portnummern unter 1024 das Internet auch nach vier Jahrzehnten noch prägen
Eine Umkonfiguration eines Heimnetzwerks legt die tiefe Geschichte reservierter Ports offen und zeigt, warum DNS möglicherweise der letzte Dienst ist, der Port 53 nie entkommen kann.
Wenn Sie jemals einen Heimrouter umkonfiguriert oder eine Firewall-Regel eingerichtet haben, sind Sie wahrscheinlich auf Listen von Portnummern mit Bezeichnungen wie 22, 25, 80, 443 und 53 gestoßen. Dies sind die 'reservierten' oder 'bekannten' Ports des Internets, und sie stammen aus einer Zeit, als Netzwerkdienste auf großen gemeinsam genutzten Computern vor Jahrzehnten liefen. George Michaelson stieß kürzlich bei der Umkonfiguration seines Heimnetzwerks auf dieses Erbe. Er stellte fest, dass die Access Control List (ACL) seines Routers und die Firewall-Regeln immer noch eine Grenze erlaubter Protokolle durchsetzten, die auf Designentscheidungen beruht, die vor mehr als vier Jahrzehnten getroffen wurden. Eine ACL ist einfach eine Reihe von Regeln, die entscheidet, welcher Netzwerkverkehr ein- oder ausgehen darf, und eine Firewall ist die Hardware oder Software, die diese Regeln anwendet. Die Beschränkungen für niedrige Portnummern sind nicht nur eine alte Konvention; sie sind bis heute in Betriebssystemen und Netzwerkgeräten verankert.
Die reservierten Ports sind Nummern, die vom Transmission Control Protocol (TCP) und dem User Datagram Protocol (UDP) verwendet werden, um den Dienst zu identifizieren, den ein entferntes System erreichen möchte, wenn es eine Verbindung öffnet. TCP und UDP sind zwei grundlegende Arten, wie Daten über das Internet übertragen werden, wobei TCP prüft, dass alle Daten ankommen, und UDP Daten schnell ohne diese Prüfungen sendet. Port 22 wird für SSH verwendet, eine sichere Methode, um sich auf einem entfernten Computer anzumelden. Port 25 wird für SMTP verwendet, das Protokoll, das E-Mail zustellt. Port 80 ist für unverschlüsselten Webverkehr, und Port 443 ist für verschlüsselten HTTPS-Webverkehr. DNS, das Domain Name System, das benutzerfreundliche Website-Namen in numerische IP-Adressen übersetzt, verwendet Port 53 sowohl in TCP als auch in UDP. Port 123 wird vom Network Time Protocol (NTP) verwendet, um Uhren zu synchronisieren. Diese niedrigen Nummern spiegeln ihre sehr frühe Zuweisung wider. Port 23 wurde Telnet zugewiesen, einer sehr frühen und unsicheren Methode, um auf einen entfernten Computer zuzugreifen. Als SSH Mitte der 1990er Jahre als sicherer Ersatz eingeführt wurde, wurde ihm Port 22 zugewiesen, eine bewusste Entscheidung, es neben Telnet zu platzieren, anstatt diese Nummer direkt zu ersetzen.
Ein wesentliches Merkmal dieser älteren Protokolle ist, dass sie ein dediziertes Programm, einen sogenannten Daemon, erfordern, das sitzt und auf eingehende Verbindungen wartet. Ein SSH-Daemon spricht nur SSH, ein SMTP-Daemon spricht nur SMTP, und ein DNS-Daemon spricht nur DNS. Traditionell konnte ein Daemon nicht die Rolle wechseln und ein anderes Protokoll sprechen. Ein SMTP-Daemon konnte keinen SSH-Verkehr verarbeiten, und ein DNS-Daemon war nicht dafür vorgesehen, HTTPS zu bedienen. Diese Unterscheidungen haben sich in letzter Zeit verwischt, aber das ursprüngliche Modell war starr. Ein weiteres gemeinsames Merkmal war, dass das Ausführen dieser Dienste als systemweite Verantwortung angesehen wurde und nicht als normale Benutzeraktivität. In den frühesten Systemen liefen Dienste oft unter dem Superuser-Konto, auf Unix-Systemen als root mit Benutzer-ID 0 bekannt. Ein sichereres Modell entstand schließlich, bei dem ein Dienst mit hohen Privilegien startet, erforderliche administrative Aktionen durchführt und dann zu einem weniger privilegierten Benutzerkonto wechselt. Aber das Verschieben eines Prozesses von einem hohen Privilegienstatus zu einem niedrigeren, oder insbesondere in die umgekehrte Richtung, erfordert spezielle Betriebssystemberechtigungen. So blieben Daemons unter der Kontrolle einer kleinen Gruppe privilegierter Konten, was die Idee verstärkte, dass netzwerkseitige Dienste zum administrativen Bereich gehörten und nicht zu normaler Benutzersoftware.
Die praktische Konsequenz dieser Geschichte ist, dass normale Benutzer nicht einfach ein Programm starten können, das auf Port 25 oder Port 53 lauscht. Wenn sie es könnten, könnte jemand versehentlich oder böswillig die gesamte E-Mail für eine Maschine empfangen oder den DNS-Dienst entführen und DNS-Abfragen und -Antworten abfangen. Eine DNS-Abfrage ist das, was Ihr Gerät sendet, wenn es einen Website-Namen in eine IP-Adresse umwandeln muss, und das Abfangen dieser Abfragen würde es einem Angreifer ermöglichen, Sie auf gefälschte Websites umzuleiten. Daher waren die reservierten Ports nicht nur eine Nachschlagetabelle. Ein normaler Benutzer konnte keinen Prozess an Port 25 binden, es sei denn, es wurde eine spezielle Berechtigung erteilt. Der Bereich der reservierten Ports ist alles unter 1024, sodass es genau ein binäres Tausend von ihnen sowohl in TCP als auch in UDP gibt. Diese Einschränkung besteht fort, obwohl moderne namensbasierte Methoden feste Portzuweisungen weniger notwendig machen. DNS selbst unterstützt SRV-Einträge, die es einem Domain-Administrator ermöglichen, den Port und das Protokoll für einen benannten Dienst anzugeben. Das Wachstum von Network Address Translation (NAT), das es vielen Geräten ermöglicht, eine öffentliche IP-Adresse zu teilen, hat auch zur weit verbreiteten Verwendung von Vermittlungsdiensten geführt, um eine Ende-zu-Ende-Kommunikation zu ermöglichen. Voice over IP, WebRTC, Konferenzplattformen und Online-Spiele verlassen sich bei Bedarf auf diese Mechanismen. Technologien wie Apple Bonjour, Avahi und der Aufstieg des Internets der Dinge und intelligenter Heimgeräte haben es immer üblicher gemacht, dass Dienste über Namens-zu-Adress-und-Port-Nachschlagesysteme entdeckt werden, die keine Einschränkungen für die verwendeten Portnummern auferlegen.
In der Praxis beißen die alten Portbeschränkungen jedoch immer noch. Während er die DNS- und Spam-Blockierungsdienste in seinem Heimnetzwerk neu konfigurierte, sah sich Michaelson durch seinen Router-Hersteller, Betriebssysteme und eine Reihe von Haushaltsgeräten gezwungen, der Konvention zu folgen, dass DNS auf Port 53 läuft. Hinter den Kulissen verwendete er Hilfsdienste auf hohen, nicht reservierten Ports wie 5443, um Komponenten zu verbinden. Ein DNS-Server ist im Allgemeinen bereit, auf Port 5443 oder fast jedem anderen Port zu lauschen, wenn er entsprechend konfiguriert ist. Aber sobald Sie über ein Heimnetzwerk hinausgehen und mit der globalen DNS-Infrastruktur interagieren, müssen Sie bereit sein, Port 53 zu verwenden. Heute können Sie Ihren Heim-DNS-Dienst jedoch mit einem Upstream-Resolver über DNS over HTTPS (DoH), DNS over TLS (DoT) und DNS over QUIC (DoQ) verbinden. Diese 'over'-Protokolle verpacken DNS-Abfragen in verschlüsselte Web- oder Transportverbindungen, sodass Ihr DNS-Verkehr vor jedem verborgen ist, der das Netzwerk beobachtet. Das wirft eine neue Frage auf: Wie finden Sie heraus, welchen Port diese verschlüsselten Dienste verwenden? Eine Antwort sind SRV-Einträge, die sowohl Ort als auch Port bewerben können. Aber SRV ist selbst ein DNS-Eintragstyp. DNS ist das eine Protokoll, für das es schwierig ist zu argumentieren, dass es jeden beliebigen Port verwenden kann, um herauszufinden, welchen Port es verwenden soll. Irgendwann müssen Sie genug über DNS wissen, um DNS zu fragen, wie DNS funktioniert. Es ist möglich, dass Port 53, selbst wenn wir die meisten anderen Netzwerkdienste auf Entdeckungsmechanismen wie Multicast-DNS, SRV-Einträge und ähnliche Modelle umstellen, der letzte wirklich unverzichtbare bekannte Port sein könnte, der in der Praxis, wenn nicht aus Notwendigkeit, für alle Zeiten reserviert bleibt.
Die Beharrlichkeit von Port 53 ist eine Erinnerung daran, dass das Fundament des Internets Entscheidungen trägt, die vor Jahrzehnten getroffen wurden. Für Leser, die Websites betreiben oder geschäftliche Netzwerke verwalten, ist dieses Erbe auf direkte Weise von Bedeutung. Ein datenschutzorientierter, verschlüsselter DNS-Dienst wie AEU DNS ermöglicht es Ihnen, die erforderliche Port-53-Interoperabilität mit dem globalen DNS aufrechtzuerhalten, aber er verpackt jede DNS-Abfrage in Verschlüsselung, sodass der alte reservierte Port Ihre Browseraktivitäten nicht mehr im Klartext preisgibt. Sie können das offizielle IANA-Portregister unter https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml einsehen, um zu sehen, wie diese frühen Zuweisungen dauerhaft wurden.
Begriffe erklärt
- DNS
- Das Domain Name System, das Website-Namen wie example.com in numerische IP-Adressen umwandelt, die Computer verwenden, um sich gegenseitig zu finden.
- port
- Ein nummerierter Endpunkt auf einem Netzwerkgerät, der es einem Computer ermöglicht, eingehende Daten an das richtige Programm zu leiten, wie eine beschriftete Tür für jede Art von Dienst.
- ACL
- Access Control List, eine Reihe von Regeln in einem Router oder einer Firewall, die entscheidet, welcher Netzwerkverkehr durchgelassen und welcher blockiert wird.
- daemon
- Ein Programm, das im Hintergrund läuft und darauf wartet, Netzwerkanfragen für einen bestimmten Dienst zu beantworten, z. B. E-Mail oder SSH.
- root
- Das Superuser-Konto auf Unix-ähnlichen Systemen, das volle Berechtigung hat, jede Datei zu ändern oder jeden Befehl auszuführen, oft als Benutzer-ID 0 identifiziert.
- SRV record
- Eine Art von DNS-Eintrag, der anderen Computern mitteilt, welchen Port und welches Protokoll sie bei der Kontaktaufnahme mit einem bestimmten Dienst verwenden sollen.
- DoH
- DNS over HTTPS, eine Möglichkeit, DNS-Abfragen in derselben verschlüsselten Verbindung zu senden, die auch für sichere Websites verwendet wird, sodass niemand im Netzwerk sie lesen kann.
So schützen Sie sich
- Wenn Sie einen Heimrouter haben, überprüfen Sie dessen Firewall- oder Portweiterleitungseinstellungen und schließen Sie alle ungenutzten niedrigen Ports unter 1024, insbesondere 23 für Telnet, das alt und unsicher ist.
- Ändern Sie das Standardpasswort auf Ihrem Router und jedem Gerät, das einen Netzwerkdienst anbietet, denn schwache Anmeldedaten könnten es einem entfernten Angreifer ermöglichen, sich an einen niedrigen Port zu binden und einen legitimen Di
- Aktivieren Sie verschlüsseltes DNS auf Ihren Geräten oder Ihrem Router, z. B. mit einem Anbieter wie AEU DNS, damit Ihre Abfragen auch dann nicht im Klartext gesendet werden, wenn DNS-Verkehr Port 53 verwenden muss, und von niemandem im Net
- Halten Sie die Firmware Ihres Routers und das Betriebssystem Ihres Computers auf dem neuesten Stand, denn alte Daemons, die auf reservierten Ports lauschen, können bekannte Sicherheitslücken enthalten.
- Wenn Sie einen Server oder eine Cloud-Instanz verwalten, verwenden Sie eine Firewall, um nur die spezifischen niedrigen Ports zuzulassen, die Sie benötigen, und blockieren Sie alle anderen, anstatt sich darauf zu verlassen, dass nicht privi
