Введение

TCP Port Service Multiplexer (TCPMUX) — малоиспользуемый интернет-протокол, определенный в RFC 1078. Спецификация описывает службу мультиплексирования, к которой можно обратиться через сетевой протокол для установления соединения с одним из доступных TCP-сервисов хоста по единственному, общеизвестному номеру порта. Спецификация TCPMUX, RFC 1078, была признана устаревшей в 2016 году по техническим причинам и в связи с отсутствием практического применения в Интернете.

Описание

Хост может подключиться к серверу, поддерживающему протокол TCPMUX на TCP-порту 1. Затем хост отправляет имя требуемой службы, за которым следуют пара символов возврата каретки и перевода строки (CRLF). Сервер отвечает символом "+" или " " и необязательным сообщением, за которым следует CRLF. В случае положительного ответа ("+") запрашиваемый протокол или служба запускается, в противном случае соединение закрывается. Эта служба также имеет зарезервированное имя "HELP". Если удаленный сервер получает это сообщение, он выводит многострочное сообщение, содержащее список имен всех поддерживаемых служб, по одному имени на строку.

Риски для безопасности

Включение TCPMUX на сервере позволяет злоумышленнику легко определить, какие сервисы запущены на хосте, либо с помощью команды "HELP", либо запрашивая большое количество сервисов. Это эквивалентно последовательному сканированию портов хоста для обнаружения доступных сервисов. Поскольку TCPMUX позволяет использовать любой сервис, обращаясь только к порту номер 1, протокол затрудняет применение традиционных правил межсетевого экрана, основанных на портах, которые блокируют доступ от определенных или всех хостов к конкретным сервисам.