TR-069

редактировать

Технический отчет 069 (TR-069 ) представляет собой техническую спецификацию Форум широкополосного доступа, который определяет протокол прикладного уровня для удаленного управления клиентским оборудованием (CPE), подключенным к сети Internet Protocol (IP). TR-069 использует протокол управления WAN CPE (CWMP ), который обеспечивает функции поддержки для автоконфигурации, управления программным обеспечением или образами микропрограмм, управления программными модулями, управления состоянием и производительностью, а также диагностики..

Протокол управления WAN CPE - это двунаправленный протокол на основе SOAP и HTTP, обеспечивающий связь между CPE и серверами автоматической настройки (ACS). Протокол адресован растущему числу различных устройств доступа в Интернет, таких как модемы, маршрутизаторы, шлюзы, а также устройства конечных пользователей. которые подключаются к Интернету, такие как телеприставки и VoIP - телефоны.

TR-069 был впервые опубликован в мае 2004 г. с поправками в 2006 г. 2007, 2010, июль 2011 года (версия 1.3) и ноябрь 2013 года (версия 1.4 am5)

Другие технические инициативы, такие как Home Gateway Initiative (HGI), Digital Video Broadcasting (DVB) и WiMAX Forum одобрили CWMP как протокол для удаленного управления домашними сетевыми устройствами и терминалами.

Содержание
  • 1 Связь
    • 1.1 Транспорт
    • 1.2 Сеанс инициализации
      • 1.2.1 Безопасность и аутентификация
    • 1.3 Запрос на соединение
      • 1.3.1 Запрос на соединение через NAT
  • 2 Данные модель
    • 2.1 Многоэкземплярные объекты
    • 2.2 Общие проблемы
  • 3 Общие операции
  • 4 Высокоуровневые операции, возможные через TR-069
  • 5 Безопасность
  • 6 См. также
  • 7 Ссылки
  • 8 Внешние ссылки
  • 9 Реализации с открытым исходным кодом
Связь

Транспорт

CWMP - это текстовый протокол. Заказы, отправляемые между устройством (CPE) и сервером автоконфигурации (ACS), передаются через HTTP (или, чаще, HTTPS). На этом уровне (HTTP) CPE действует как клиент, а ACS как HTTP-сервер. По сути, это означает, что управление потоком сеанса инициализации является исключительной ответственностью устройства.

Удаленное управление CPE через TR-069.svg

Сеанс инициализации

Все коммуникации и операции выполняются в рамках сеанса инициализации. Сеанс всегда запускается устройством (CPE) и начинается с передачи сообщения Inform. О его получении и готовности сервера к сеансу сообщает сообщение InformResponse. На этом этап инициализации сеанса завершается. Порядок следующих двух этапов зависит от значения флага HoldRequests. Если значение ложно, за этапом инициализации следует передача запросов устройства, в противном случае сначала передаются команды ACS. В следующем описании предполагается, что значение ложно.

На втором этапе заказы передаются с устройства в СКУД. Несмотря на то, что протокол определяет несколько методов, которые могут быть вызваны устройством в ACS, обычно встречается только один - TransferComplete, который используется для информирования ACS о завершении передачи файла, инициированного ранее выданным запросом Download или Upload. Завершается этот этап передачей в ACS пустого HTTP-запроса.

На третьем этапе роли меняются на уровне CWMP. HTTP-ответ на пустой HTTP-запрос устройства будет содержать CWMP-запрос от СКУД. После этого последует HTTP-запрос, содержащий CWMP-ответ на предыдущий CWMP-запрос. Несколько заказов могут быть переданы один за другим. Этот этап (и весь сеанс подготовки) завершается пустым HTTP-ответом от ACS, указывающим, что заказов больше нет.

Безопасность и аутентификация

Поскольку важные данные (например, имена пользователей и пароли) могут передаваться на 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-телефоны, Set-top коробки ). Этот механизм, основанный на обходе NAT STUN и UDP, определен в документе 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 было введено новое поле (''.SupportedDatamodel) для поддерживаемой стандартной спецификации.

В основе модели всегда лежит один ключ с именем Device или InternetGatewayDevice, в зависимости от выбора производителя. На каждом уровне структуры разрешены объекты и параметры (или экземпляры массивов). Ключи создаются путем объединения имен объектов и параметров с использованием '.' (Точки) в качестве разделителя, например InternetGatewayDevice.Time.NTPServer1.

Каждый из параметров может быть помечен как доступный для записи или недоступный для записи. Об этом сообщает устройство в сообщении GetParameterNamesResponse . Устройство не должно допускать изменения любого параметра, помеченного как доступный только для чтения. В спецификациях и расширениях модели данных четко указывается требуемый статус большинства параметров.

Значения, применимые к параметру, их тип и значение также точно определены стандартом.

Многоэкземплярные объекты

Некоторые части модели данных требуют существования нескольких копий поддерева. Лучшими примерами являются описания таблиц, например Таблица переадресации портов. Объект, представляющий массив, будет иметь только номера экземпляров или имена псевдонимов в качестве своих дочерних элементов.

Объект с несколькими экземплярами может быть доступен для записи или только для чтения, в зависимости от того, что он представляет. Записываемые объекты позволяют динамически создавать и удалять своих потомков. Например, если объект представляет четыре физических порта на коммутаторе Ethernet, то не должно быть возможности добавить или удалить их из модели данных. Если к объекту добавляется экземпляр, ему присваивается идентификатор. После назначения идентификаторы не могут измениться в течение жизненного цикла устройства, за исключением заводских настроек.

Общие проблемы

Несмотря на то, что список параметров и их атрибутов четко определен, большинство устройств не полностью соответствуют стандартам. Наиболее распространенные проблемы включают отсутствие параметров, пропущенные идентификаторы экземпляров (для объектов с несколькими экземплярами, где присутствует только один экземпляр), неправильный уровень доступа к параметрам и правильное использование только определенных допустимых значений. Например, для поля, которое указывает поддерживаемый стандарт протоколов WLAN, значение «g» должно указывать на поддержку 802.11b и 802.11g, а «g-only» - только на поддержку 802.11g. Несмотря на то, что такие значения, как «bg» или «b / g» недопустимы в соответствии со стандартами Broadband Forum, они очень часто встречаются в моделях данных устройств.

Общие операции

Вся подготовка строится на основе определенного набора простых операций. Каждый заказ считается атомарным, но транзакции не поддерживаются. Если устройство не может выполнить заказ, в ACS должна быть возвращена правильная ошибка - устройство никогда не должно прерывать сеанс инициализации.

СообщениеОписание
GetParameterNamesПолучить список поддерживаемых параметров с устройства.
GetParameterValuesПолучить текущее значение параметра (ов), идентифицированного ключами. Вариант этого вызова принимает объект в качестве ключа. Он извлекает все параметры объекта
SetParameterValuesУстанавливает значение одного или нескольких параметров
GetParameterAttributesИзвлекает атрибуты одного или нескольких параметров
SetParameterAttributesУстановить атрибуты одного или нескольких параметров
DownloadПриказ CPE загрузить и использовать файл, указанный URL. Типы файлов включают образ микропрограммы, файл конфигурации, файл звонка и т. Д.
UploadПриказ CPE загружать файл в указанное место назначения. Типы файлов включают текущий файл конфигурации, файлы журнала и т. Д.
AddObjectДобавить новый экземпляр к объекту
DeleteObjectУдалить экземпляр из объекта
Высокий уровень операции возможны через TR-069
  • Активация и реконфигурация услуги
    • Первоначальная конфигурация услуги как часть процесса настройки без касания или в одно касание
    • Повторное установление услуги (например, после сброс настроек устройства до заводских, заменен)
  • Удаленная поддержка абонентов
    • Проверка состояния и функциональности устройства
    • Ручная реконфигурация
  • Управление прошивкой и конфигурацией
    • Обновление прошивки / downgrade
    • Резервное копирование / восстановление конфигурации
  • Диагностика и мониторинг
    • Пропускная способность (TR-143) и диагностика подключения
    • Получение значения параметра
    • Файл журнала извлечение
Безопасность

Компрометация ISP ACS или соединения между ACS и CPE неавторизованными объектами может привести к доступу к устройствам с TR-069 сервера . вся абонентская база ice provider. Информация о клиенте и операции устройства будут доступны потенциальным злоумышленникам, включая другие MAC-адреса в сетях клиента. Возможно скрытое перенаправление DNS-запросов на поддельный DNS-сервер и даже тайные обновления прошивки с функциями бэкдора. Было обнаружено, что программное обеспечение ACS TR-069 часто используется небезопасно. Недостатки в комбинированных реализациях TR-064 (конфигурация DSL CPE на стороне локальной сети) и TR-069 (CWMP), которые повторно использовали одну и ту же конечную точку HTTP через общедоступный Интернет для запросов на подключение без надлежащей защиты, были обнаружены в устройствах различных производителей и используются Mirai-based ботнет и другое вредоносное ПО.

См. Также
Ссылки
Внешние ссылки
Реализации с открытым исходным кодом
Последняя правка сделана 2021-06-09 06:17:06
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте