Функция UPnP в роутере — это протокол автоматической настройки, который позволяет устройствам локальной сети самостоятельно открывать порты на маршрутизаторе без ручной настройки. UPnP расшифровывается как Universal Plug and Play. Инициатива UPnP Forum опубликовала первую спецификацию в июне 2000 года, а с 2016 года стандарт поддерживает Open Connectivity Foundation (OCF).
- Что означает функция UPnP в роутере
- История функции UPnP и организация стандарта
- Уязвимости функции UPnP и почему её отключают
- Как отключить функцию UPnP в TP-Link, Asus, Keenetic
- Как включить функцию UPnP только для нужных приложений
- Отличия UPnP от NAT-PMP и PCP
- Ограничения и мифы о функции UPnP
- «UPnP ускоряет интернет»
- «Отключение UPnP сломает игры»
- Вопрос-ответ
Что означает функция UPnP в роутере
Функция UPnP в роутере реализует часть стандарта Internet Gateway Device (IGD) — подпротокол, разработанный специально для домашних маршрутизаторов. По спецификации IGD Device Control Protocol 1.0 (2001 год) и 2.0 (2010 год) любое устройство внутри LAN может послать SOAP-запрос AddPortMapping и получить открытый порт наружу. Никакой аутентификации при этом не требуется. Именно поэтому это самая массовая пользовательская функция роутера уровня прикладного протокола.
Технически UPnP использует протокол SSDP (Simple Service Discovery Protocol) поверх UDP-порта 1900 для обнаружения устройств и протокол GENA для уведомлений. Управляющие команды передаются через HTTP/SOAP на локальном порту роутера. По документации OCF стандарт закрепляет XML-описания устройств, схемы SCPD и события. Дополнительно поддерживаются события подписки и уведомления через SUBSCRIBE/NOTIFY.
Именно это позволяет играм, торрент-клиентам, IP-камерам, Xbox и PlayStation работать «из коробки»: приложение само запрашивает у роутера открытый порт, и роутер пробрасывает его автоматически. Функция UPnP в роутере экономит время, но одновременно создаёт серьёзные проблемы с безопасностью. UPnP не является обязательным компонентом маршрутизатора и не гарантирует работу приложений сама по себе — это удобный, но небезопасный вспомогательный сервис.
История функции UPnP и организация стандарта
Первая версия UPnP Device Architecture 1.0 официально опубликована UPnP Forum 8 июня 2000 года. Инициатива объединяла Microsoft, Intel, Sony, Philips и ещё около 400 компаний. Microsoft внедрила поддержку UPnP в Windows Me (2000) и Windows XP (2001), после чего стандарт разошёлся по потребительской электронике массовым тиражом.
В январе 2016 года UPnP Forum передал управление всеми стандартами и активами консорциуму Open Connectivity Foundation (OCF). Согласно официальному пресс-релизу OCF, все существующие спецификации UPnP остались доступны на сайте openconnectivity.org в разделе UPnP Resources. Новые версии стандарта под именем UPnP не выпускаются с 2020 года — OCF сосредоточилась на IoT-протоколах.
Протокол UPnP с тех пор существует как «замороженный» стандарт: производители по-прежнему его поддерживают ради обратной совместимости, но новых версий не появляется. По данным Shodan (сентябрь 2023 года), в интернете открыто около 3–5 миллионов роутеров с наружу торчащим UPnP-интерфейсом. Обновлений спецификации UPnP не выпускается с 2020 года, поэтому эта функция роутера постепенно уступает место более безопасным протоколам PCP и NAT-PMP.
Уязвимости функции UPnP и почему её отключают
Протокол UPnP не требует аутентификации по своей сути. По данным HD Moore из Rapid7 (январь 2013 года), в отчёте «Security Flaws in Universal Plug and Play» было обнаружено, что более 81 миллиона IP-адресов отвечают на UPnP-запросы из интернета, а 23 миллиона роутеров содержат ошибки libupnp/MiniUPnP, ведущие к удалённому выполнению кода. Уязвимость получила идентификаторы CVE-2012-5958 и CVE-2012-5959.
8 июня 2020 года исследователь ONsec Yunus Çadirci опубликовал атаку CallStranger (CVE-2020-12695), затронувшую SUBSCRIBE-запросы UPnP. Уязвимость позволяла использовать миллионы устройств для DDoS-амплификации, обхода DLP и сканирования внутренних сетей извне. По оценке US-CERT, атака затронула сотни миллионов устройств — от роутеров до Smart TV.
Именно поэтому официальная рекомендация US-CERT, ФБР (в отчёте IC3 2020 года) и российского НКЦКИ звучит одинаково: функция UPnP в роутере с выходом наружу должна быть отключена, если конкретные приложения не требуют её работы. Отключение не гарантирует полной защиты, но убирает известный вектор атаки. Даже актуальная прошивка не отменяет проблему архитектуры протокола: UPnP спроектирован без аутентификации и не является безопасным по определению.
Как отключить функцию UPnP в TP-Link, Asus, Keenetic
Отключение UPnP выполняется в веб-интерфейсе роутера за 2–3 минуты. Инструкция ниже подходит для большинства современных моделей.
Шаг 1. Откройте браузер и перейдите по адресу 192.168.0.1 (TP-Link) или 192.168.1.1 (Asus, Keenetic). Затем введите логин и пароль администратора.
Шаг 2. В TP-Link выберите Advanced → NAT Forwarding → UPnP и установите переключатель в положение Disable. Нажмите Save.
Шаг 3. В Asus откройте WAN → Internet Connection, найдите строку «Enable UPnP» и выберите No. Затем нажмите Apply.
Шаг 4. В Keenetic перейдите в раздел «Общие настройки» → «Обновления и компоненты», далее отключите модуль «Служба UPnP». После этого перезагрузите роутер.
Шаг 5. Проверьте результат на сервисе grc.com/x/portquiz.htm или через nmap с внешнего адреса — порт 1900/UDP не должен отвечать.
Как включить функцию UPnP только для нужных приложений
Иногда полное отключение неудобно: онлайн-игры (PlayStation Network, Xbox Live, Nintendo Switch) официально рекомендуют UPnP для стабильного NAT Type Open. По документации Sony PlayStation, при NAT Type 3 (Strict) игры теряют голосовой чат и не могут хостить лобби.
Компромисс — временное включение. Откройте настройки роутера, включите UPnP, поиграйте, затем отключите обратно. Второй вариант — вручную прописать статический port forwarding для конкретных портов игры (например, 3074/UDP для Xbox, 3478–3480/UDP для PlayStation). Ручной проброс безопаснее, потому что открывает только нужные порты и только для одного локального IP.
Третий подход — сегментация: подключите игровые приставки в отдельный VLAN или гостевую сеть с включённым UPnP, а рабочие компьютеры оставьте в основной сети с отключённым протоколом. Такой сценарий поддерживают Keenetic Ultra, Asus RT-AX86U, TP-Link Archer AX90. Правильно настроенная функция UPnP в роутере работает только для гостевой подсети приставок и не касается сегмента с офисными компьютерами, что минимизирует поверхность атаки.
Отличия UPnP от NAT-PMP и PCP
Протокол UPnP отличается от альтернативных механизмов автоматического проброса портов по нескольким параметрам. NAT-PMP (RFC 6886, апрель 2013 года) — это протокол Apple, ориентированный на macOS и iOS. Он проще UPnP, работает поверх UDP-порта 5351 и не использует XML/SOAP.
PCP (Port Control Protocol, RFC 6887, апрель 2013 года) — более новый универсальный стандарт IETF, заменивший NAT-PMP. PCP поддерживает и IPv4, и IPv6, аутентификацию (RFC 7652) и работу через CGNAT. По сравнению с UPnP PCP лучше подходит для операторов связи, но пока реализован не во всех роутерах — на 2024 год поддержка PCP есть в OpenWrt, MikroTik RouterOS 7 и части моделей Keenetic.
Разница между этими протоколами существенна: UPnP — потребительский стандарт с известными проблемами безопасности, а PCP — современный корпоративный протокол с шифрованием и авторизацией. Замена UPnP на PCP не отменяет необходимости настраивать межсетевой экран, но снимает риск несанкционированного проброса портов изнутри LAN.
Ограничения и мифы о функции UPnP
Вокруг протокола есть несколько распространённых заблуждений, которые важно развести.
«UPnP ускоряет интернет»
Протокол UPnP не увеличивает пропускную способность канала. Она лишь автоматизирует открытие портов, что снимает бутылочное горлышко для торрентов и P2P. Скорость соединения не меняется — меняется только доступность симметричного трафика.
«Отключение UPnP сломает игры»
Не всегда. Большинство современных игр умеют работать через NAT Traversal (техника hole-punching, описанная в RFC 5389) без открытых портов. UPnP нужен только для хостинга игровых сессий и некоторых голосовых чатов. Если после отключения возникнут проблемы — включите ручной проброс на нужные порты.
Вопрос-ответ
Что такое UPnP простыми словами? Universal Plug and Play — открытый стандарт автоматической настройки сетевых бытовых устройств, разработанный ещё в 2000 году. В роутере функция UPnP отвечает за автоматический проброс портов из локальной сети наружу без пароля и подтверждения администратора.
Нужно ли отключать UPnP в роутере? Да, по официальной рекомендации US-CERT и НКЦКИ. Уязвимости 2013 и 2020 годов показали, что UPnP небезопасен. Если нет требующих его игр или сервисов — функцию лучше отключить.
Как проверить, что UPnP отключён? Просканируйте свой публичный IP на UDP-порт 1900 через сервис grc.com или nmap. Отсутствие ответа означает, что функция UPnP не отвечает наружу.
Чем UPnP отличается от NAT-PMP? UPnP использует XML/SOAP и работает через порт 1900, а NAT-PMP от Apple — двоичный протокол на порту 5351. UPnP шире распространён, но по сравнению с NAT-PMP и PCP менее безопасен.
