ТР-069
Технический отчет 06 | |
Впервые опубликовано | май 2004 г. |
---|---|
Организация | Широкополосный форум |
Домен | Удаленный мониторинг и управление |
Веб-сайт | www |
Технический отчет 069 ( TR-069 ) — это техническая спецификация Broadband Forum , которая определяет протокол прикладного уровня для удаленного управления и предоставления оборудования на территории клиента (CPE), подключенного к сети Интернет-протокола (IP). TR-069 использует протокол управления CPE WAN ( CWMP ), который обеспечивает функции поддержки для автоматической настройки, управления образами программного обеспечения или встроенного ПО, управления программными модулями, управления состоянием и производительностью, а также диагностики.
Протокол управления WAN CPE — это двунаправленный протокол на основе SOAP и HTTP , который обеспечивает связь между CPE и серверами автоматической настройки (ACS). Протокол адресован растущему числу различных устройств доступа в Интернет, таких как модемы , маршрутизаторы , шлюзы , а также устройств конечных пользователей, подключающихся к Интернету, таких как телевизионные приставки и VoIP -телефоны.
TR-069 был впервые опубликован в мае 2004 г., с изменениями в 2006, 2007, 2010, июле 2011 г. (версия 1.3), [1] и ноябрь 2013 г. (версия 1.4 am5) [2]
Другие технические инициативы, такие как Home Gateway Initiative (HGI), Digital Video Broadcasting (DVB) и WiMAX Forum, одобрили CWMP в качестве протокола для удаленного управления домашними сетевыми устройствами и терминалами.
Коммуникация
[ редактировать ]Транспорт
[ редактировать ]CWMP — это текстовый протокол. Заказы, отправляемые между устройством (CPE) и сервером автоматической настройки (ACS), передаются по протоколу HTTP (или, чаще, HTTPS). На этом уровне (HTTP) CPE действует как клиент, а ACS — как HTTP-сервер. По сути, это означает, что ответственность за контроль над потоком сеанса обеспечения лежит исключительно на устройстве.
Параметры конфигурации
[ редактировать ]Чтобы устройство могло подключиться к серверу, сначала необходимо настроить определенные параметры. К ним относятся URL-адрес сервера, к которому устройство хочет подключиться, и интервал, с которым устройство будет инициировать сеанс подготовки ( PeriodicInformInterval ). Кроме того, если аутентификация требуется по соображениям безопасности, необходимо предоставить такие данные, как имя пользователя и пароль. [3]
Сеанс подготовки
[ редактировать ]Все коммуникации и операции выполняются в рамках сеанса обеспечения. Сеанс всегда запускается устройством (CPE) и начинается с передачи сообщения Inform . О его получении и готовности сервера к сеансу свидетельствует сообщение InformResponse . На этом этап инициализации сеанса завершается. Порядок следующих двух этапов зависит от значения флага HoldRequests . Если значение ложно, после этапа инициализации следует передача запросов устройств, в противном случае сначала передаются команды ACS. В следующем описании предполагается, что значение равно false .
На втором этапе команды передаются с устройства в СКУД. Несмотря на то, что протокол определяет несколько методов, которые могут быть вызваны устройством на ACS, обычно встречается только один — TransferComplete , который используется для информирования ACS о завершении передачи файла, инициированной ранее выданным запросом на загрузку или загрузку. Завершается этот этап передачей пустого HTTP-запроса в ACS.
На третьем этапе роли меняются на уровне CWMP. HTTP-ответ на пустой HTTP-запрос устройства будет содержать CWMP-запрос от ACS. Впоследствии за этим последует HTTP-запрос, содержащий CWMP-ответ на предыдущий CWMP-запрос. Несколько заказов могут передаваться один за другим. Этот этап (и весь сеанс обеспечения) завершается пустым HTTP-ответом от ACS, указывающим, что ожидающих заказов больше нет.
Триггеры сеанса
[ редактировать ]Существуют определенные события, которые запускают сеанс подготовки. К ним относятся:
- Bootstrap – когда устройство впервые обращается к серверу, URL-адрес сервера изменился или настройки устройства были сброшены на значения по умолчанию;
- Периодический – устройству запланировано выполнение периодического сеанса в соответствии с настройками PeriodicInformInterval ;
- Запрос на соединение – устройство отвечает на запрос сервера на соединение;
- Изменение значения – изменилось значение контролируемого параметра;
- Загрузка – после перезагрузки устройства или отключения питания и его повторного подключения;
- По расписанию – когда устройство ранее получило от сервера указание инициализировать дополнительный сеанс командой ScheduleInform ;
- Передача завершена – после того, как устройство завершило загрузку или выгрузку файлов, запрошенных сервером;
- Диагностика завершена – когда устройство завершит диагностику. [3]
Безопасность и аутентификация
[ редактировать ]Поскольку важные данные (например, имена пользователей и пароли) могут передаваться на CPE через CWMP, важно обеспечить безопасный транспортный канал и всегда проверять подлинность CPE на ACS. Безопасную транспортировку и аутентификацию удостоверения ACS можно легко обеспечить за счет использования HTTPS и проверки сертификата ACS. Аутентификация CPE более проблематична. Идентичность устройства проверяется на основе общего секрета (пароля) на уровне HTTP. Пароли могут согласовываться между сторонами (CPE-ACS) на каждом сеансе обеспечения. При первом подключении устройства к ACS (или после сброса настроек к заводским настройкам) используются пароли по умолчанию. В крупных сетях ответственность за обеспечение того, чтобы каждое устройство использовало уникальные учетные данные, лежит на отделе закупок, их список доставляется вместе с самими устройствами и защищен. [ нужна ссылка ] .
Запрос на подключение
[ редактировать ]Инициализация и управление потоком сеанса обеспечения является исключительной ответственностью устройства, но ACS может запросить запуск сеанса с устройства. Механизм запроса соединения также основан на HTTP. В этом случае устройство (CPE) выступает в роли HTTP-сервера. ACS запрашивает соединение с устройства, посещая согласованный URL-адрес и выполняя HTTP-аутентификацию. Общий секрет также заранее согласовывается с устройством (например, в предыдущем сеансе обеспечения), чтобы предотвратить использование CPE для DDoS-атак на сервер обеспечения (ACS). После отправки устройством подтверждения сеанс инициализации должен начаться как можно скорее и не позднее, чем через 30 секунд после отправки подтверждения.
Запрос на подключение через NAT
[ редактировать ]Протокол CWMP также определяет механизм доступа к устройствам, подключенным за NAT (например, IP-телефоны, телеприставки ). Этот механизм, основанный на обходе STUN и UDP NAT, определен в документе TR-069 Приложение G (ранее в TR-111).
Поправка 5 протокола вводит альтернативный метод выполнения запроса на соединение через NAT на основе XMPP ( см. в Приложении K поправки 5 к TR-069 подробности ).
Модель данных
[ редактировать ]Большая часть настройки и диагностики выполняется посредством установки и получения значений параметров устройства. Они организованы в четко определенную иерархическую структуру, более или менее общую для всех моделей устройств и производителей. Broadband Forum публикует свои стандарты моделей данных в двух форматах: XML- файлы, содержащие подробную спецификацию каждой последующей модели данных и все изменения между их версиями, и PDF-файлы, содержащие удобочитаемые детали. Поддерживаемые стандарты и расширения должны быть четко обозначены в модели данных устройства. Это значение должно быть в поле Device.DeviceSummary или InternetGatewayDevice.DeviceSummary , которое обязательно, начиная с Device:1.0 и InternetGatewayDevice:1.1 соответственно. Если поле не найдено, InternetGatewayDevice:1.0 подразумевается . Начиная с Device:1.4 и InternetGatewayDevice:1.6 было введено новое поле ( '<RO>'.SupportedDatamodel ) для поддерживаемой стандартной спецификации.
Модель всегда привязана к одному ключу с именем Device или InternetGatewayDevice в зависимости от выбора производителя. На каждом уровне структуры разрешены объекты и параметры (или экземпляры массива). Ключи создаются путем объединения имен объектов и параметров с использованием «.» (точки) в качестве разделителя, например InternetGatewayDevice.Time.NTPServer1 .
Каждый из параметров может быть помечен как доступный для записи или недоступный для записи. Об этом сообщает устройство в сообщении GetParameterNamesResponse . Устройство не должно допускать изменения любого параметра, помеченного как доступный только для чтения. Спецификации и расширения модели данных четко обозначают требуемый статус большинства параметров.
Значения, применимые к параметру, их тип и значение также точно определены стандартом.
Многоэкземплярные объекты
[ редактировать ]Некоторые части модели данных требуют наличия нескольких копий поддерева. Лучшими примерами являются таблицы, описывающие таблицы, например, Таблица переадресации портов. Объект, представляющий массив, будет иметь в качестве дочерних элементов только номера экземпляров или псевдонимы.
Объект с несколькими экземплярами может быть доступен для записи или только для чтения, в зависимости от того, что он представляет. Записываемые объекты позволяют динамически создавать и удалять своих дочерних объектов. Например, если объект представляет четыре физических порта коммутатора Ethernet, то их нельзя будет добавить или удалить из модели данных. Если к объекту добавляется экземпляр, ему присваивается идентификатор. После назначения идентификаторы не могут быть изменены в течение жизненного цикла устройства, кроме как путем сброса настроек к заводским.
Распространенные проблемы
[ редактировать ]Несмотря на то, что список параметров и их атрибутов четко определен, большинство устройств не полностью соответствуют стандартам. Наиболее распространенные проблемы включают отсутствие параметров, пропущенные идентификаторы экземпляров (для объектов с несколькими экземплярами, где присутствует только один экземпляр), неправильный уровень доступа к параметрам и правильное использование только определенных допустимых значений. Например, для поля, указывающего поддерживаемый стандарт протоколов WLAN, значение «g» должно указывать на поддержку 802.11b и 802.11g, а «g-only» — поддержку только 802.11g. Несмотря на то, что такие значения, как «bg» или «b/g», не являются законными в соответствии со стандартами Broadband Forum, они очень часто встречаются в моделях данных устройств.
Общие операции
[ редактировать ]Вся подготовка построена на основе определенного набора простых операций. Каждый заказ считается атомарным, однако поддержка транзакций отсутствует. Если устройство не может выполнить заказ, в ACS должна быть возвращена соответствующая ошибка — устройство никогда не должно прерывать сеанс подготовки.
Сообщение | Описание |
---|---|
Получить имена параметров | Получить список поддерживаемых параметров с устройства. |
Получить значения параметров | Получить текущее значение параметра(ов), определенных ключами. Вариант этого вызова принимает объект в качестве ключа. Он извлекает все параметры объекта |
Установить значения параметров | Установите значение одного или нескольких параметров |
GetParameterAttributes | Получить атрибуты одного или нескольких параметров |
SetParameterAttributes | Установите атрибуты одного или нескольких параметров |
Скачать | Закажите CPE загрузить и использовать файл, указанный по URL-адресу. Типы файлов включают образ прошивки, файл конфигурации, файл звонка и т. д. |
Загрузить | Закажите CPE для загрузки файла в указанное место назначения. Типы файлов включают текущий файл конфигурации, файлы журналов и т. д. |
ДобавитьОбъект | Добавить новый экземпляр к объекту |
УдалитьОбъект | Удалить экземпляр из объекта |
Более полный список операций и анализ протокола см. [4]
Операции высокого уровня возможны через TR-069.
[ редактировать ]- Активация и реконфигурация услуги
- Первоначальная настройка службы как часть процесса автоматической настройки или настройки в одно касание.
- Восстановление обслуживания (например, после возврата устройства к заводским настройкам или замены)
- Удаленная поддержка абонентов
- Проверка состояния и функциональности устройства
- Ручная реконфигурация
- Управление прошивкой и конфигурацией
- Обновление/понижение прошивки
- Резервное копирование/восстановление конфигурации
- Диагностика и мониторинг
- Диагностика пропускной способности (TR-143) и подключения
- Получение значения параметра
- Получение файла журнала
Безопасность
[ редактировать ]Компрометация ACS интернет-провайдера или соединения между ACS и CPE неавторизованными лицами может обеспечить доступ к устройствам с поддержкой TR-069 всей абонентской базы поставщика услуг . Информация о клиенте и работе устройства будет доступна потенциальным злоумышленникам, включая другие MAC-адреса в сетях клиента. Возможно скрытое перенаправление DNS-запросов на мошеннический DNS-сервер и даже тайное обновление прошивки с функциями бэкдора. [5] Было обнаружено, что программное обеспечение ACS TR-069 часто внедряется небезопасно. [6] Недостатки в комбинированных реализациях TR-064 (конфигурация DSL CPE на стороне локальной сети) и TR-069 (CWMP), которые повторно использовали одну и ту же конечную точку HTTP через общедоступный Интернет для запросов на подключение без надлежащей защиты, были обнаружены в устройствах различных поставщиков и использованы на базе Mirai Ботнет и другое вредоносное ПО. [7] [8]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Протокол управления CPE WAN» (PDF) . TR-069 Поправка 4 . Широкополосный форум. Июль 2011 года . Проверено 16 февраля 2012 г.
- ^ «Протокол управления CPE WAN» (PDF) . TR-069 Поправка 5 . Широкополосный форум. Ноябрь 2013 года . Проверено 3 марта 2014 г.
- ^ Jump up to: а б «Ускоренный курс по TR-069 (CWMP)» . AVсистема . Проверено 16 ноября 2020 г.
- ^ Башевич, Илия (2023). «Анализ протокола TR069 (CWMP)». 2023 46-я Конвенция MIPRO по ИКТ и электронике (MIPRO) . Опатия, Хорватия. стр. 460–465. дои : 10.23919/MIPRO57284.2023.10159841 . ISBN 978-953-233-104-2 . S2CID 259299865 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Исследователи говорят, что многие домашние маршрутизаторы, поставляемые интернет-провайдерами, могут быть скомпрометированы в массовом порядке.
- ^ Группа исследования вредоносного ПО и уязвимостей Check Point обнаружила несколько недостатков в решениях поставщиков ACS.
- ^ «Атака Mirai на домашние маршрутизаторы и предполагаемая уязвимость TR-069» . www.qacafe.com . Проверено 25 апреля 2020 г.
- ^ «Практические способы неправильного использования роутера» . blog.ptsecurity.com . Архивировано из оригинала 22 июня 2017 года . Проверено 16 июня 2017 г.
Внешние ссылки
[ редактировать ]- TR-069, выпуск 1, поправка 6, протокол управления CPE WAN v1.4
- Протокол управления CPE WAN XML-схемы CWMP и определения моделей данных
- Маркетинговый отчет TR-069 «Сценарии развертывания», выпуск: 1, август 2010 г.
- Спецификация технического отчета 069 Спецификация технического отчета 069
- Протокол TR-069 и протокол SNMP
- Требования CPE для совместимости TR-069
- База знаний TR-069 База знаний TR-069
- Что будет после TR-069? Это ТР-369
- [1] Печатная плата TR-369
- [2] TR-069 Авто
Сервер конфигурации
- [3] Часто задаваемые вопросы по TR-069 CWMP