Лев Бокштейн
Те времена, когда Интернет представлял собой средство взаимодействия добропорядочных американских "яйцеголовых", ушли в далекое прошлое. Небольшой мирок, созданный для объединения научно-исследовательских институтов, работающих на министерство обороны США, превратился в систему планетарного масштаба, в которой можно найти кого угодно и что угодно.
Как следствие превращения Интернет в среду массового обитания возникли целые отрасли, разрабатывающие средства, которые позволяют хоть как-то уединиться в этом циклопическом "общежитии". Математики разработали алгоритмы шифрования информации, инженеры встроили их в специализированные микросхемы, разработчики программного обеспечения и операционных систем написали соответствующие модули и пакеты. Теперь можно отправить электронную почту или удаленно подключиться к корпоративному серверу, ничего не опасаясь: если злоумышленнику удастся перехватить ваши пакеты, время, необходимое для их расшифровки, будет слишком велико и содержимое утратит свою актуальность.
Все бы хорошо, но... Что такое Интернет? С точки зрения нормального программиста - это абстрактная среда, обеспечивающая передачу информации при соблюдении правил обращения к ней. Если заглянуть чуть глубже, эта абстрактная среда, поддерживающая стандарты TCP/IP, превращается в совокупность коммутаторов и маршрутизаторов, соединенных через различные каналы связи. Эта совокупность устройств и каналов и образует инфраструктуру Интернета, без которой все сетевые приложения высоких уровней превращаются в дорогие, но абсолютно бесполезные игрушки. Каждое из этих устройств имеет свою операционную систему со своим сетевым стеком и, как правило, достаточно сложную конфигурацию. Как остановка операционной системы, так и утрата или искажение конфигурации приводит к прекращению нормального функционирования устройства и, как следствие, к исчезновению той самой среды, до которой нормальному программисту нет дела, но без которой все приложения становятся бесполезными (у них, приложений, просто "исчезает почва из-под ног"). Поэтому очевидна необходимость защиты таких устройств от несанкционированных воздействий, будь то попытки нелегальной переконфигурации (локально, через "консольные порты", или удаленно, посредством SNMP, Web или Telnet-сессии).
Вопрос о защите сетевого оборудования имеет два аспекта. Во-первых, это защита от несанкционированных действий с локального консольного порта. Это прежде всего проблема административная - устройства должны располагаться так, чтобы никто, кроме тех, кому положено по штату, к ним и их портам физического доступа не имел. Во-вторых, это аутентификация и авторизация того, кто все-таки этот доступ в силу тех или иных обстоятельств получил. До самого последнего времени аутентификация субъектов, пытавшихся подключиться к устройству, попросту не производилась. Достаточно было знать пароль, а в большинстве случаев он совпадал с идентификатором SNMP community name, имеющим администраторский (без каких либо ограничений) доступ. С устройством можно было сделать все, что заблагорассудится, и никаких следов того, кто это сделал, не оставалось. Именно поэтому в относящихся к классу high-end маршрутизаторах и коммутаторах Enterasys Networks (X-pedition и Matrix) при попытке подключения к их консольному порту происходит обращение к RADIUS-серверу, и уже по результатам аутентификации предоставляется тот или иной вид доступ. Это решение полностью базируется на стандартных элементах, что позволяет использовать любой стандартный RADIUS, в том числе включенный в состав Microsoft Internet Information Server.
Проблема защиты от несанкционированного доступа при удаленном обращении к устройству - более многоплановая. На сегодня абсолютное большинство элементов инфраструктур сетей управляется либо с удаленной консоли (Telnet), либо посредством протокола SNMP. Этот протокол стар, как TCP/IP 4-й версии, он появился на свет в 1970-х и остался действительно предельно простым. Однако SNMP не предусматривает никаких средств защиты. SNMP Community Name - пароль, определяющий уровень доступа к устройству, - передается через сеть в нешифрованном виде, т. е. может быть перехвачен и использован кем угодно. MIB (база данных конфигурации устройства), к которой обращается SNMP, абсолютно открыта, обращение к ней не требует специальной аутентификации, и через сеть ее элементы также пересылаются в нешифрованном виде. Только SNMP v3 предусматривает аутентификацию пользователя средствами устройства, причем кодированную, и дифференцированный - в зависимости от результатов аутентификации - доступ к разным ветвям MIB. По сути, станция, которая поддерживает SNMP v3, и подключаемое устройство организуют между собой VPN-канал. Поэтому поддержка SNMP v3 сейчас является важной характеристикой маршрутизаторов и коммутаторов. Удаленная консоль (Telnet), так же, как и удаленное Web-управление посредством HTTP-протокола, страдает всеми недостатками и слабостями SNMP: пересылка через сеть нешифрованного пароля, некодированное содержание сессии. Эту проблему устраняет протокол Secure Socket Layer, на базе которого работает и Secure HTTP. Эти протоколы давно поддерживаются рабочими станциями, но только совсем недавно они были реализованы в сетевых стеках коммутаторов и маршрутизаторов. Это позволяет строить аналог VPN-канала при удаленном обращении к устройству как посредством Telnet, так и HTTPS, и безопасно им управлять.
Все перечисленные выше характеристики являются важнейшими для решения задачи безопасного управления сетевыми устройствами.