TCP Port Service Multiplexer
# TCP Port Service Multiplexer

Der TCP Port Service Multiplexer (TCPMUX) war ein Netzwerkprotokoll aus der Internetprotokollfamilie. Es definiert einen Multiplexing-Dienst, der mehrere TCP-Dienste eines Hosts hinter einer gemeinsamen Portnummer kapselt. Die Auswahl des gewünschten Diensts erfolgt durch das Senden des gewünschten Dienstenamens am Anfang einer TCP-Verbindung.

Die Spezifikation von TCPMUX wurde im Jahr 1988 als Request for Comments unter der Nummer 1078 veröffentlicht. Im Jahr 2016 wurde es durch RFC 7805 als historisch gekennzeichnet, da es im Internet keine Verbreitung fand und technische Mängel aufweist.

## Beschreibung

Ein Host kann eine Verbindung zu einem Server herstellen, der das TCPMUX-Protokoll am TCP-Port 1 unterstützt. Der Host sendet daraufhin einen Namen des gewünschten Dienstes, gefolgt von einem Paar von Carriage-Return und Line-Feed-Zeichen (CRLF). Der Server antwortet mit einem „+“- oder „-“-Zeichen und einer optionalen Nachricht, gefolgt vom CRLF. Bei einer positiven Antwort („+“) wird das angeforderte Protokoll oder der Dienst gestartet, andernfalls wird die Verbindung geschlossen.

Dieser Dienst verfügt auch über einen reservierten Namen, „HELP“. Wenn der Remote-Server diese Meldung empfängt, gibt er eine mehrzeilige Meldung aus, in der die Namen aller unterstützten Dienste aufgeführt sind. Dabei wird ein Dienstname pro Zeile ausgegeben.

## Sicherheitsrisiken

Die Aktivierung von TCPMUX auf einem Server ermöglicht es einem Angreifer, auf einfache Weise die auf dem Host laufenden Dienste herauszufinden, indem er entweder den Befehl „HELP“ verwendet oder eine große Anzahl von Diensten anfordert. Dies hat den gleichen Effekt wie ein iterativer Port-Scan des Hosts nach verfügbaren Diensten. Da TCPMUX es erlaubt, jeden Dienst nur durch Zugriff auf Port 1 zu nutzen, erschwert das Protokoll die Anwendung traditioneller portbasierter Firewall-Regeln, die den Zugriff von bestimmten oder allen Hosts auf bestimmte Dienste blockieren.

