Введение
Протокол конфигурации маршрутизатора по HTTP. Технический отчет 069 (TR 069) — это техническая спецификация Broadband Forum, определяющая протокол прикладного уровня для удаленного управления и конфигурирования абонентского оборудования (CPE), подключенного к сети Интернет-протокола (IP). TR 069 использует протокол управления CPE WAN (CWMP), который предоставляет функции для автоматической настройки, управления образами программного обеспечения или прошивки, управления программными модулями, управления состоянием и производительностью, а также диагностики. Протокол управления CPE WAN — это двунаправленный протокол на основе 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 в качестве протокола для удаленного управления домашними сетевыми устройствами и терминалами.
Technical Report 069 (TR 069) is a technical specification of the Broadband Forum that defines an application layer protocol for remote management and provisioning of customer premises equipment (CPE) connected to an Internet Protocol (IP) network. TR 069 uses the CPE WAN Management Protocol (CWMP) which provides support functions for auto configuration, software or firmware image management, software module management, status and performance managements, and diagnostics. The CPE WAN Management Protocol is a bidirectional SOAP and HTTP based protocol, and provides the communication between a CPE and auto configuration servers (ACS). The protocol addresses the growing number of different Internet access devices such as modems, routers, gateways, as well as end user devices which connect to the Internet, such as set top boxes, and VoIP phones. TR 069 was first published in May 2004, with amendments in 2006, 2007, 2010, July 2011 (version 1.3), and November 2013 (version 1.4 am5)
Other technical initiatives, such as the Home Gateway Initiative (HGI), Digital Video Broadcasting (DVB) and WiMAX Forum endorsed CWMP as the protocol for remote management of residential networking devices and terminals.
Транспорт
CWMP – это протокол, основанный на текстовых сообщениях. Команды, отправляемые между устройством (CPE) и сервером автоматической конфигурации (ACS), передаются по протоколу HTTP (или чаще HTTPS). На этом уровне (HTTP) CPE выступает в роли клиента, а ACS – в роли HTTP-сервера. По сути, это означает, что управление ходом сеанса конфигурирования полностью лежит на устройстве.
Параметры конфигурации
Для того чтобы устройство подключилось к серверу, необходимо предварительно настроить определенные параметры. К ним относятся URL-адрес сервера, к которому устройство должно подключиться, и интервал, с которым устройство будет инициировать сеанс подготовки (PeriodicInformInterval). Кроме того, если по соображениям безопасности требуется аутентификация, необходимо предоставить данные, такие как имя пользователя и пароль.
Сессия по обеспечению
Все коммуникации и операции выполняются в рамках сеанса обеспечения. Сеанс всегда инициируется устройством (CPE) и начинается с передачи сообщения Inform. Прием этого сообщения и готовность сервера к сеансу подтверждаются сообщением InformResponse. Это завершает этап инициализации сеанса. Порядок следующих двух этапов зависит от значения флага HoldRequests. Если значение – false, то за этапом инициализации следует передача запросов от устройства, в противном случае сначала передаются команды ACS. Дальнейшее описание предполагает, что значение – false. На втором этапе от устройства в ACS передаются команды. Хотя протокол определяет несколько методов, которые устройство может вызывать на ACS, обычно используется только один – TransferComplete, который служит для информирования ACS о завершении передачи файла, инициированной ранее отправленным запросом на загрузку или выгрузку. Этот этап завершается отправкой пустого HTTP-запроса в ACS. На третьем этапе происходит смена ролей на уровне CWMP. HTTP-ответ на пустой HTTP-запрос от устройства будет содержать запрос CWMP от ACS. За ним последует HTTP-запрос, содержащий ответ CWMP на предыдущий запрос CWMP. Несколько команд могут передаваться последовательно. Этот этап (и весь сеанс обеспечения) завершается пустым HTTP-ответом от ACS, указывающим на отсутствие ожидающих команд.
Безопасность
Компрометация ACS провайдера интернет-услуг или канала связи между ACS и CPE несанкционированными лицами может предоставить доступ к TR 069-совместимым устройствам всей абонентской базы поставщика услуг. Информация о клиентах и функционирование устройств станут доступны потенциальным злоумышленникам, включая другие MAC-адреса в клиентских сетях. Возможно скрытое перенаправление DNS-запросов на поддельный DNS-сервер и даже скрытое обновление прошивки с внедренными бэкдорами. Программное обеспечение ACS TR 069 часто реализуется с недостаточной степенью защиты. Уязвимости в комбинированных реализациях TR 064 (конфигурация DSL CPE на стороне локальной сети) и TR 069 (CWMP), которые повторно использовали одну и ту же HTTP-конечную точку через публичный интернет для запросов на подключение без надлежащей защиты, были обнаружены в устройствах различных производителей и эксплуатируются ботнетом Mirai и другим вредоносным ПО.