Что такое UPnP в роутере, для чего эта функция нужна и как её включить и выключить
Всем привет! Сегодня мы поговорим про функцию UPnP (Universal Plug and Play) – что это такое, для чего нужна эта функция, и как она включается (или выключается) на роутере. Давайте рассмотрим конкретный пример – представим, что у нас есть домашняя сеть с роутером. В ней есть подключенные устройства – не важно какие, это могут быть телефоны, планшеты, телевизоры, принтеры или IP-камеры.
Все они подключены к маршрутизатору (роутеру), который также аналогично подключен к глобальной сети интернет. В итоге у нас есть:
Для того, чтобы в локальной сети все устройства работали нормально, обнаруживали друг друга и быстро подключались, и нужна технология UPnP. В противном случае всем этим телефонам, планшетам и телевизорам нужно было вручную прописывать настройка и открывать порты. Во время подключения таких устройств, на них постоянно открываются и закрываются порты – прям как на морском берегу для кораблей.
Например, вы решили посмотреть с телевизора фильм, находящийся на компьютере. Тогда нужна технология DLNA, которая позволяет передавать видео в потоковом режиме. При подключении к компьютеру, он в свою очередь открывает определенный порт. В общем, если бы не было у нас UPnP, то для каждого подключения к любому устройству дома вам нужно было бы прописывать вручную настройки, открывать или закрывать порты.
UPnP в глобальной сети
Мы рассмотрели понятие на примере домашней сети, но ведь не все используют прямое подключение в локальной сетке. Обычно к роутеру подключаются, чтобы выйти в интернет. И тут также включается функция UPnP, которая при запросе в интернет к определенному серверу также открывает определенные порты.
Например, всем известный uTorrent также использует эту технологию, и она должна по умолчанию быть включена на роутере. Когда мы включаем эту программу, она делает запрос в интернет и открывает порт для данного потока информации.
По сути UPnP открывает и закрывает порты для внешних запросов, для тех устройств, которые и делали эти запросы в интернет. Я думаю с понятием мы разобрались. Но бывают проблемы, когда данная функция выключена на роутере. Тогда некоторые программы, игры, утилиты не будут работать на компьютере или телефоне. Также могут быть проблемы с подключением игровых приставок тип Xbox или PlayStation.
Но существует и «обратная сторона монеты». Как вы понимаете, при запросе к серверу при подключении открываются порты на ваше устройство. Понятное дело, что данным подключением могут воспользоваться хакеры и взломщики. Для обычного пользователя шанс, конечно, не велик, но все же… В интернатах до сих пор идут «холивары» по поводу того, надо ли отключать UPnP или нет. Поэтому отключать функцию или включать – решать вам. Но как я и говорил ранее, при выключенном UPnP нужно будет для отдельных программ или устройств делать ручной проброс портов на роутере.
Далее я расскажу, как включить UPnP, отключить и настроить на вашем домашнем маршрутизаторе.
Вход в интерфейс роутера
Нам нужно попасть в Web-интерфейс аппарата – для этого с подключенного устройства к локальной сети нужно открыть браузер и вписать в адресную строку IP или DNS адрес роутера. Данный адрес находится на этикетке под роутером. Чаще всего используют 192.168.1.1. или 192.168.0.1. Если у вас будут какие-то проблемы со входом в маршрутизатор – смотрите инструкцию тут.
Далее инструкции будут немного отличаться в зависимости от модели роутера.
Что такое UPnP и почему его нужно отключить?
Вы бы предпочли выбрать удобство или безопасность? UPnP помогает быстро подключать устройства к сети — нет необходимости в ручной настройке. Однако он также может позволить хакерам входить в вашу сеть для выполнения вредоносных действий. Стоит узнать, как хакеры используют UPnP и что можно сделать, чтобы защитить себя.
Что такое переадресация портов?
Чтобы понять, что такое UPnP, нужно сначала разобраться, что такое переадресация портов. Она используется для установления прямого подключения между домашним устройством или сервером и удаленным устройством. Например, вы можете подключить ноутбук к видеокамере и следить за ним, пока находитесь вдали.
Как это работает? Все ваши домашние устройства, включая маршрутизатор, вместе создают локальную сеть (LAN). Все, что находится за пределами локальной сети, например, серверы сайта или компьютер вашего друга, расположено в глобальной сети (WAN). Как правило, никто за пределами вашей локальной сети не может получить доступ к устройствам в вашей сети, если вы не позволите им воспользоваться переадресацией портов.
Что такое UPnP?
Это протокол, который позволяет приложениям и другим устройствам в вашей сети автоматически открывать и закрывать порты для подключения друг к другу. Например, если вы решили подключить принтер ко всем устройствам в доме без UPnP, то вам потребуется сделать это вручную, уделяя внимание каждому отдельному девайсу. Но благодаря UPnP можно автоматизировать этот процесс.
UPnP предлагает нулевую конфигурацию, что означает, что ни одно из устройств в вашей сети не нуждается в ручной настройке для обнаружения нового устройства. С поддержкой UPnP они могут автоматически подключаться к сети, получать IP-адрес, находить другие устройства в сети и подключаться к ним, и это очень удобно.
Для чего используется UPnP?
Почему UPnP небезопасен?
Первоначально предполагалось, что UPnP будет работать только на уровне локальной сети, что означает, что устройства только в вашей сети могут подключаться друг к другу. Однако многие производители маршрутизаторов теперь включают UPnP по умолчанию, что делает их доступными для обнаружения из WAN, а это приводит к многочисленным проблемам безопасности.
UPnP не использует аутентификацию или авторизацию (только некоторые устройства), предполагая, что устройства, пытающиеся подключиться к нему, являются надежными и поступают из вашей локальной сети. Это означает, что хакеры могут найти бэкдоры в вашей сети. Например, они отправят UPnP-запрос на ваш маршрутизатор и он откроет им порт без лишних вопросов.
Как только хакер получит доступ к сети, он сможет:
Как защитить себя?
Когда дело доходит до уязвимостей UPnP, есть два варианта, которые вы можете выбрать для собственной защиты.
Другим более безопасным методом является полное отключение UPnP. Перед этим рекомендуется проверить, уязвим ли ваш маршрутизатор к UPnP-эксплойтам. Также нужно подумать о том, хотите ли вы отказаться от удобства UPnP и сможете ли вы настроить свои устройства вручную. Для этого может потребоваться некоторые технические знания.
На видео: Как включить на роутере UPnP?
Включение функции UPNP на маршрутизаторе
В этой статье вы познакомитесь с важным и полезным функционалом UPNP и научитесь включать его на роутере на примере устройства компании Mikrotik. Маршрутизаторы Mikrotik завоевали множество положительных отзывов от пользователей, причём он приобрёл популярность как среди администраторов, так и среди обычных пользователей домашних сетей.
Роутеры производства Mikrotik поддерживают универсальную технологию PlugandPlay для упрощения прямого сетевого подключения персональных компьютеров и различных сетевых устройств. Архитектура UPNP расшифровывается как UniversalPlugandPlay (универсальная технология прямого подключения устройств) и обеспечивает обмен данными между любыми двумя устройствами под управлением контролирующей аппаратуры сети.
Функция UPNP полностью независима от физических носителей. Она поддерживает работу в сети путём автоматического обнаружения аппаратуры без использования какой-либо начальной настройки. Благодаря этому, устройство способно динамически присоединяться к сети. Наличие DHCP и DNS серверов не является обязательным, но они могут использоваться, если присутствуют в сети. UPNP реализует простое, но мощное решение, позволяющее пользователю получить полноценную двухстороннюю поддержку одноранговой сети.
Подключение и начальная конфигурация роутера
Обычно первоначальная настройка маршрутизатора, которая выполнена по умолчанию, отвечает всем возможным требованиям для большинства пользователей. Описание этой конфигурации приведено на обратной стороне коробки, а также в онлайн-руководстве на сайте производителя.
Аппаратное подключение выполняется следующим образом. Подключите кабель Ethernet к порту ether1, а остальные порты на роутере — к локальной сети (LAN). По умолчанию маршрутизатор Mikrotik защищён конфигурацией брандмауэра, поэтому о вопросах дополнительной защиты данных на начальных этапах можно не беспокоиться.
В начальной системе настройки клиент DHCP находится в интерфейсе WAN (ether1), остальные порты считаются вашей локальной сетью с DHCP-сервером, который настроен для автоматической конфигурации адресов на клиентских устройствах. Чтобы подключиться к маршрутизатору, необходимо настроить ваш компьютер на приём настроек DHCP и подключить Ethernet-кабель к одному из LAN-портов (проверьте нумерацию портов вашего устройства и переднюю панель маршрутизатора).
Интерфейс UPNP
Существует два типа интерфейса для UPNP: внутренний (к которому подключен один локальный клиент) и внешний (к которому подключен интернет). Маршрутизатор Mikrotik может иметь только один внешний интерфейс с «общедоступным» IP-адресом, и такое количество внутренних интерфейсов, сколько потребуется. Все они имеют «внутренние» IP-адреса.
Протокол UPNP применяется для многих современных приложений, например, для большинства игр, использующих DirectX, а также для различных функций Windows Messenger (удалённое подключение, совместное использование приложений, пересылка файлов, передача голоса, видео) при работе через межсетевой экран.
Настройка UPNP
Пользователю роутера Mikrotik доступно несколько настроек, конфигурацию которых можно выполнить прямо в программе. Перечислим некоторые из них.
Определяет, разрешено ли пользователям отключать внешний интерфейс маршрутизатора Mikrotik. Этот функционал требуется по стандарту, поскольку позволяет пользователям отключать внешний интерфейс без какой-либо процедуры аутентификации и дополнительной настройки. Но иногда эта функция становится нежелательной во время работы UPNP, поскольку стандарт был разработан в основном для домашних пользователей в целях настройки собственных локальных сетей. Поэтому существует возможность отключить эту установку.
Она обеспечивает обходной путь для некоторых функций, которые неправильно обрабатывают UPNP (при этом, например, появляются сообщения об ошибках). Эта опция даёт серверу инструкцию отправлять необходимый сигнал программным клиентам, которые выдают ошибку при работе с UPNP.
Работа UPNP с другими программами
Компания Mikrotik настоятельно рекомендует обновить библиотеку DirectX до версии 9.0c или выше, а Windows Messenger до версии 5.0 или выше. Только в этом случае гарантируется правильная работа приложения.
Также рекомендуется установить на роутере прошивку последней версии, скачав её с сайта производителя. Настройки должны выполняться в соответствии с текущей версией.
Заключение
Технология UPNP продолжает активно развиваться. Она использует широко распространённые средства для внедрения своих функций. Основной целью развития этой технологии является унифицированная, полностью автоматическая настройка каждого сетевого устройства, которое подключается к сети. В процессе могут участвовать как домашние сети обычных пользователей, так и крупные корпоративные сети под управлением системных администраторов. UPNP представляет собой набор протоколов, каждый из которых сконструирован с использованием общепринятых стандартов программного обеспечения для интернета.
Что такое UPnP в роутере и зачем нужна эта функция?
Всех приветствую и рад видеть! Сегодня разберем протокол UPnP: что такое в роутере, зачем нужен и нужен ли вообще, как включить эту опцию и правильно ее настроить, а также какие могут возникнуть ошибки при работе устройства.
Что такое UPnP
Аббревиатура расшифровывается как Universal Plug and Play и является логическим продолжением технологии PnP. Так называют набор сетевых протоколов и аппаратных решений, задача которых – облегчить и автоматизировать настройку сетевых устройств в корпоративной среде или при домашнем использовании.
Неважно, сколько девайсов коннектится к маршрутизатору и какие операционные системы или прошивки они используют – благодаря этой опции, подключение выполняется в несколько кликов.
Технология оперирует принятыми стандартами и технологиями, обеспечивающими функционирование Глобальной паутины – XML, HTTP и TCP/IP, обеспечивая автоматизацию подключения и бесперебойную работу однородных устройств в сетевой среде.
Это упрощает настройку для обычного пользователя: не нужно обладать глубокими познаниями в компьютерной технике, чтобы самостоятельно запустить сетевое соединение.
UPnP, в основном, используется для компактных сетей. На эффективность работы не влияют ни среда для передачи сигнала, ни используемые языки программирования. Функция поддерживается большинством популярных программ – например, Skype, uTorrent или TOR.
Для правильной работы достаточно настроить только саму программу – все остальные задачи ОС берет на себя. Принцип прост – после активации маршрутизатор автоматически выдает устройству или отдельному ПО собственный сетевой адрес и порт для подключения.
Как включить функцию в настройках роутера
В современных маршрутизаторах эта опция почти всегда доступна в настройках, независимо от бренда – она присутствует в Tp-link, в asus, в Zyxel или Keenetic. Для активации необходимо перейти в меню настроек роутера, введя в браузере IP-адрес в адресной строке и авторизовавшись с помощью логина и пароля.
После сохранения этих настроек, девайсу может потребоваться перезагрузка. Хочу уточнить, что как правило, эта опция активирована по умолчанию уже «с коробки».
Как отключить – убрать галочку или переместить флажок в положение Disabled. Как настроить эту опцию – ничего дополнительно настраивать, кроме самой активации, нет необходимости: технология полностью автоматизирована и требует от пользователя минимального вмешательства.
Изменение настроек компьютера
При неправильных настройках ПК или ноутбука сеть бывает недоступна. В таком случае может потребоваться изменить дополнительные настройки. Выполняется по следующему алгоритму:
В Windows 10 процедура выполняется аналогично, за исключением того что пара пунктов называется по другому.
Не исключен вариант, что отдельно придется настраивать необходимые программы – например, UTorrent или Skype. Как правило, необходимая опция находится в разделе «Соединение» или Connection. Для активации достаточно установить галочку или переместить флажок в положение Enabled.
Надеюсь вам было интересно. Также рекомендую вам почитать публикации о «WDS в роутере – что это за функция» и «Нужно ли обновлять прошивку», можете почитать тут. Если статья была вам полезна, буду вам благодарен, если поделитесь этим постом в социальных сетях. Пока!
Старая уязвимость в UPnP на новый манер
Всё новое — это хорошо забытое старое (а лучше очень хорошо забытое старое). Следить за новыми уязвимостями, конечно же, правильно, но и о старых забывать не стоит. Тем более, когда о них позволяет себе «забыть» производитель. Кто-то должен помнить. Иначе мы снова и снова будем наступать на одни и те же грабли.
Речь в статье пойдет об одной старенькой, но, как оказалось, ни разу не потерявшей актуальности и по сей день, дыре UPnP.
P.S. Провайдера называть не буду, вины его в этом нет, но с другой стороны есть явный недосмотр политик безопасности, которые вкупе с архитектурой сети дали возможность проэксплуатировать эту уязвимость. Как это всегда бывает — звезды сошлись. Провайдер ставил на своей сети роутеры клиентам с нужными чипами и подключал с внешним ip адресом. Да, большинство портов были зафильтрованы, но почему-то не 52869.
P.P.S. Все события произошли в конце 2018 года. Герои вымышлены, а совпадения с реальными личностями случайны.
Есть некоторая библиотека libupnp для разработки, которая «используется на тысячах устройств и называется Intel SDK для UPnP-устройств или Portable SDK для UPnP-устройств».
«The portable SDK for UPnP Devices (libupnp) provides developers with an API and open source code for building control points, devices, and bridges that are compliant with Version 1.0 of the Universal Plug and Play Device Architecture Specification and support several operating systems like Linux, *BSD, Solaris and others.»
«… ограничение взаимодействия со службой… Только клиенты и серверы, которые имеют законные процедурные отношения… должны иметь возможность общаться с ним.»
Недостаток существует в сервисе miniigd SOAP. Проблема заключается в обработке запросов NewInternalClient из-за невозможности очистки пользовательских данных перед выполнением системного вызова. Злоумышленник может использовать эту уязвимость для выполнения кода с привилегиями root.
Т.е. на всех роутерах с версией UPnP 1.0 можно выполнять произвольный удаленный код.
Без авторизации. От рута. Здорово, правда?
Любой желающий может на github’е найти готовый плагин для метасплоита, работоспособность которого проверена прожженными стульями наших дежурных инженеров.
Было неожиданно и совсем не весело.
Краткая хронология событий того дня:
14:00 В техническую поддержку начинают поступать обращение абонентов на плохо работающий интернет.
15:00 Количество заявок начинает превышать среднюю температуру по больнице и одиночные заявки начинают лепить в заявки по больше с типом «Авария». Заявки передаются на старших администраторов для проверки сегментов сети.
15:20 Админы закрывают массовые аварии, т.к. проблем на сети нет, все заявки клиентов с разных точек подключения и одиночные. (к примеру: коммутатор полный активных абонентов, а плохо работает у одного). В этот момент спадают обращения и всё затихает. Кто-то обращает внимание (наконец-то), что все заявки на плохую работу были с одной и той-же моделью роутера, все дружно делают вид, что всё хорошо.
15:30 Снова наплыв заявок от абонентов, снова регистрация массовой аварии и передача админам. В этот момент становится ясно, что что-то действительно не так и нужно что-то делать (кто работал с клиентским сервисом меня поймет, как это иногда сложно сделать. Клиенты всегда врут, а иногда и первая линия врет, чтобы эскалировать задачу дальше).
15:35 Дежурный инженер получает заявку на проблему с клиентским сервисом. Получает список всех клиентов, тип их подключения и модель устройства. А дальше начинается немного магии.
15:40 Инженер прогоняет список клиентов через все диагностики какие есть, каждый роутер был проверен по всем стандартным метрикам и… ничего не нашлось. Роутер как роутер. Да, увеличилось CPU, но показатели не критичные, да он льет куда-то трафик, значит — работает.
Да, крутится на 52869 порту UPnP-сервис. Да там еще куча открытых портов, открыты значит нужны (логика железная), и он всегда там крутился и никаких проблем не было (еще один аргумент железной логики). Прямой ssh на данную модель роутера невозможен (откровенно говоря возможен, но внутри сильно урезанный busybox и политикой компании крайне не приветствовалось такое хождение по клиентским устройствам). Всё опять встало.
16:00 Только сейчас мы узнаем о том, что есть какие-то проблемы. Дежурный инженер докладывает своему руководителю, а руководитель телефонным звонком сообщает нам свои догадки по поводу 52869 порта и просит помочь.
16:05 Дальше всё происходило очень быстро. На тестовый стенд включается такая же модель роутера, у проблемного клиента забирается ip-адрес и вешается на тестовый. Включается wireshark. Это чтобы отловить запросы к устройству.
Чтобы отловить запросы от роутера (на тот момент еще неизвестна была общая схема, как происходит взаимодействие) клиент изолируется в тестовом сегменте и весь его трафик миррорится в ближайшую тестовую машину где поднят еще один wireshark.
Дальше ждем, смотрим в экран.
Таким способом уже ловили взломы — достаточно эффективно и поэтому решили не изменять привычкам.
16:10 Пока wireshark шуршит, в гугле находится уязвимость CVE-2014-8361 о чем сообщается инженерам. Инженер, не дослушав, принимает решение (и в принципе логичное) — фильтр данного порта на бордерах. Сказанно — сделано.
16:25 Нам сообщают, что все говно миша переделывай не сработало. И мы уже знали, что не сработает. К тому моменту на тестовый роутер уже постучались, подняли реверс-шел на другом порту и начали параллельно использовать для DDOS-a через 1900(!) порт используя еще одну уязвимость. Господи, како же дырявое помойное ведро
Использование в DDoS атаках схемка
В 2014 неожиданно обнаружили, что SSDP использовался в DDoS атаках типа «Атака отражения и усиления при помощи SSDP» (SSDP reflection attack with amplification). Многие устройства, в том числе бытовые маршрутизаторы имели изъян в программном обеспечении UPnP, который позволял атакующему направлять ответы с порта 1900 на произвольный адрес в сети Интернет. В случае использования ботнета из многих тысяч подобных устройств, атакующий мог создать большой поток пакетов, достаточных для занятия пропускной полосы и насыщения каналов передачи данных атакуемой площадки, что приводит к отказу в обслуживании для обычных пользователей.
Самое интересное — были изменены правила файрвола на устройстве и nmap теперь не показывал открытые порты с внешки. Только в дампе трафика можно было обнаружить запросы по этим портам. Т.е. злоумышленник после взлома закрывал доступ для остальных. Не хай-тек подход, но всё равно — браво.
16:30 Собирается конфа с вопросами «кто виноват и что делать». Оставили забаннеными порты 1900 и 52869. Принимаются попытки уже на взломанных устройствах что-то исправить. Ребут — не помог, идею перепрошить сразу отвергли. Да, функционал такой имеется, можно было одной кнопкой на всех устройствах переставить удаленно ПО через TR069. Но т.к. устройство не первой свежести, а количество клиентов было большим — определенный процент окирпиченных устройств создал бы проблем.
16:40 Подводим краткий итог: устройства взломаны, участвуют минимум в ddos и по шифрованному каналу куда-то что-то передают. (Все на разных портах). Залезть внутрь не представляется возможным, вендор отказал в полном доступе по ssh к устройству и посмотреть, что именно там накрутили невозможно. Консоль запаролена.
Где-то ближе к 17:00 Было принято решение шить устройства как самый быстрый способ. После перепрошивки и перезагрузки — всё нормализовалось.
Вместо итогов
К сожалению, так до конца решить эту проблему мы не смогли.
Под «решить» я подразумеваю получить полную информацию по взлому и обновить наши политики для противодействия подобному в дальнейшем. Да, не все поставленные задачи решаются успешно и так как хотелось бы. Это нормально. Хоть и обидно.
Если хорошо поискать на шодане,
то можно найти себе что-нибудь
для экспериментов:
так или так
но я вам этого не говорил.












