Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Протокол управления CPE WAN - это двунаправленный протокол на основе 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-сервер. По сути, это означает, что управление потоком сеанса инициализации является исключительной ответственностью устройства.

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

Параметры конфигурации [ править ]

Чтобы устройство могло подключиться к серверу, сначала необходимо настроить определенные параметры. К ним относятся URL-адрес сервера, к которому устройство хочет подключиться, и интервал, с которым устройство будет инициировать сеанс инициализации ( PeriodicInformInterval ). Кроме того, если аутентификация требуется по соображениям безопасности, необходимо предоставить такие данные, как имя пользователя и пароль. [3]

Сеанс подготовки [ править ]

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

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

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

Триггеры сеанса [ править ]

Есть определенные события, которые запускают сеанс подготовки. Это включает:

  • Bootstrap - при первом контакте устройства с сервером изменился URL-адрес сервера или были сброшены настройки устройства на значения по умолчанию;
  • Periodic - устройству запланирован периодический сеанс в соответствии с настройками 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 должна быть возвращена правильная ошибка - устройство никогда не должно прерывать сеанс инициализации.

Через TR-069 возможны высокоуровневые операции [ править ]

  • Активация и перенастройка услуги
    • Первоначальная настройка службы как часть процесса настройки в одно касание или в одно касание
    • Восстановление обслуживания (например, после сброса настроек устройства до заводских настроек, замены)
  • Поддержка удаленного подписчика
    • Проверка состояния и функциональности устройства
    • Ручная реконфигурация
  • Прошивка и управление конфигурацией
    • Обновление / возврат прошивки
    • Резервное копирование / восстановление конфигурации
  • Диагностика и мониторинг
    • Пропускная способность (TR-143) и диагностика подключения
    • Получение значения параметра
    • Получение файла журнала

Безопасность [ править ]

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

См. Также [ править ]

  • Беспроводной маршрутизатор

Ссылки [ править ]

  1. ^ "Протокол управления CPE WAN" (PDF) . TR-069 Поправка 4 . Широкополосный форум. Июль 2011 . Проверено 16 февраля 2012 года . CS1 maint: обескураженный параметр ( ссылка )
  2. ^ "Протокол управления CPE WAN" (PDF) . TR-069 Поправка 5 . Широкополосный форум. Ноября 2013 . Проверено 3 марта 2014 года . CS1 maint: обескураженный параметр ( ссылка )
  3. ^ a b «Ускоренный курс по TR-069 (CWMP)» . AVSystem . Проверено 16 ноября 2020 года . CS1 maint: обескураженный параметр ( ссылка )
  4. ^ Исследователи говорят, что многие домашние маршрутизаторы, поставляемые интернет-провайдерами, могут быть взломаны в массовом порядке.
  5. ^ Группа исследования вредоносного ПО и уязвимостей Check Point обнаружила несколько недостатков в решениях от поставщиков ACS.
  6. ^ «Атака Mirai на домашние маршрутизаторы и предполагаемая уязвимость TR-069» . www.qacafe.com . Проверено 25 апреля 2020 года . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ «Практические способы неправильного использования роутера» . blog.ptsecurity.com . Проверено 16 июня 2017 года . CS1 maint: обескураженный параметр ( ссылка )

Внешние ссылки [ править ]

  • TR-069 Выпуск 1 Поправка 6 CPE WAN Management Protocol v1.4
  • CPE WAN Management Protocol CWMP XML-схемы и определения моделей данных
  • Маркетинговый отчет TR-069 «Сценарии развертывания», выпуск: 1, август 2010 г.
  • Спецификация технического отчета 069 Спецификация технического отчета 069
  • [1] Протокол TR-069 против протокола SNMP
  • [2] Требования к CPE для взаимодействия TR-069
  • База знаний TR-069 База знаний TR-069
  • Что будет после TR-069? Это TR-369

Реализации с открытым исходным кодом [ править ]

  • EasyCwmp - клиент с открытым исходным кодом
  • FreeACS - сервер ACS с открытым исходным кодом, написанный на Java
  • genieacs - сервер с открытым исходным кодом (ACS)