Протокол IP разрабатывался для поддержания связи даже в случае выхода из строя части сети. Поэтому механизмы обеспечения надежности соединения были предусмотрены в нем с самого начала. В то же время такие аспекты безопасности, как аутентификация пользователей, предотвращение подключения сторонних устройств и применение правил контроля доступа, в нем отсутствуют. Эти механизмы реализуются отдельно — на основе базовых стандартов IP, разрабатываемых IETF. Разберем подробнее, какие стандарты при этом используются.
АРХИТЕКТУРА СЕТИ
Вначале необходимо определить, что же именно требуется для обеспечения безо-пасности сети. В классической архитектуре IPv4 есть только отправители и получатели, и такое представление уже не соответствует всему разнообразию существующих вариантов сетей: магис-тральных, операторских, корпоративных, кампусных, сетей ЦОД и многих других.
В общем случае сеть можно рассмат-ривать в рамках старой парадигмы как средство взаимодействия пользователей с серверным оборудованием. Однако в современных условиях как пользователи, так и серверы могут перемещаться из одного сегмента сети в другой. Перемещение последних стало возможно в результате развития виртуализации в рамках облачных вычислений и мобильных технологий. Это требует назначения дополнительных ролей, по-этому в любой современной сети можно обобщенно выделить несколько основных элементов (см. рис. 1).
Рис. 1. Схема сложившейся инфраструктуры при использовании интернет-технологий |
Оконечные устройства. Это могут быть как личные устройства пользователей, так и серверы. Все они могут перемещаться из одного сегмента в другой, поэтому необходимо предусмотреть процедуру проверки их подлинности с последующим выделением им ресурсов сети в соответствии с политикой безопасности. В частности, речь идет об уникальном идентификаторе, который должен прийти на смену IP-адресу.
Желательно, чтобы у пользователя и сервера идентификаторы были постоянными вне зависимости от того, к какому сегменту сети сейчас подключено оконечное устройство. Такое свойство сети можно назвать виртуализацией.
Пограничные устройства. Это те шлюзы, к которым подключаются оконечные устройства. Именно они должны выполнять всю наиболее интеллектуальную работу по обеспечению безопасности и гибкости сети: аутентификацию оконечных устройств, выделение для них ресурсов сети, маршрутизацию пакетов между оконечными устройствами, а при необходимости и прозрачное переключение оконечных устройств с одного пограничного шлюза на другой.
Процедура переключения должна быть такой, чтобы сеансы связи между оконечными устройствами при этом не прерывались. Таким образом, именно пограничные устройства должны поддерживать дополнительные протоколы аутентификации пользователей, подключения их к сети и обеспечения безопасности. Эти протоколы следует инкапсулировать в чистый IPv4 без необходимости реализации дополнительных протоколов на всех устройствах сети.
Сетевые устройства. Эти элементы инфраструктуры призваны обеспечить максимально быструю передачу пакетов от одного пограничного устройства к другому. При использовании технологии SDN они могут даже не выполнять маршрутизацию пакетов — это за них будет делать контроллер сети. Фактически это простые коммутаторы без поддержки сложных протоколов, которые, однако, обеспечивают максимально быструю пересылку пакетов между отправителем и получателем.
Контроллер сети. Центральным элементом системы является контроллер, который осуществляет управление сетевыми устройствами для формирования маршрутов, а также аутентификацию и регис-трацию оконечных устройств. Он определяет правила взаимодействия оконечных устройств — для этого можно объединять устройства в группы. Контроллер может как самостоятельно выполнять все необходимые функции, так и разделять их между различными узлами.
Этот базовый набор функциональных узлов должен обеспечить безопасность сетевых коммуникаций, причем не только внутри одной автономной системы, но и в нескольких разнесенных сегментах, связанных между собой, например, по каналам открытого Интернета или арендованными линиями связи, принадлежащими другим владельцам. Это возможно благодаря тому, что сетевое взаимодействие между пограничными устройствами организуется с помощью простого протокола IPv4 без дополнительных опций.
ТРЕБОВАНИЯ
В подобной системе взаимодействия появляется возможность более строго контролировать коммуникационную среду и обеспечивать не только целостность, но и другие свойства безопаснос-ти. Рассмотрим их подробнее.
Неподдельность. Одним из наиболее проблемных свойств IPv4 является его анонимность: не всегда можно установить однозначное соответствие между устройством и его пользователем. Поскольку устройство может произвольно устанавливать собственные IP-адреса, важно правильно их подобрать. Поэтому в защищенной коммуникационной среде необходимо проводить аутентификацию как устройства, так и пользователя.
Система должна гарантировать невозможность подключения посторонних устройств (точнее, относить неизвестные устройства к отдельной группе оборудования с максимально жесткими ограничениями по доступу), а правила доступа должны быть привязаны уже не к устройству, а к пользователю. Для этого нужно реализовать процедуру строгой аутентификации пользователей, например по протоколу RADIUS, после которой все действия внутри сети могут быть зафиксированы с привязкой к конкретному человеку, что позволит избавиться от анонимности.
Контролируемость. Если система поддерживает регистрацию пользователей, разделение их на группы и определение для каждой группы своих правил доступа к ресурсам сети, контроль за оконечными устройствами улучшается. При использовании классического протокола IP оконечное устройство может получить доступ ко всем соседним устройствам локальной сети, в то время как в безо-пасной — только к разрешенным для конкретной группы. Фактически такой механизм обеспечивает сегментацию сети по умолчанию, причем с возможнос-тью динамического изменения границ сегментации. Это оказывается полезным, например, при заражении отдельного устройства агрессивным червем — его можно быстро локализовать и не дать червю проникнуть в другие узлы сети.
Конфиденциальность. Это необязательное требование, но при использовании надежной аутентификации упрощается и создание VPN-туннелей между оконечными устройствами, а также целыми сегментами сетей. Шифрование данных можно организовать на различных уровнях — начиная от приложений и заканчивая отдельными сегментами.
Мобильность. Строго говоря, в современных сетях это требование не безопаснос-ти, а бизнеса. Пользователи предполагают, что переключение из одного сегмента в другой происходит без какого-либо риска с сохранением всех прав доступа, причем без привязки к устройству.
Открытость. Отдельно следует учитывать требование открытости протоколов для организации безопасного взаимодействия, что подразумевает наличие стандартов и возможность создания независимых реализаций протоколов. Это позволяет минимизировать вероятность уязвимости в конкретной реализации протокола, которая может сказаться на безопасности всех устройств. Независимые разработки, особенно если среди них есть хотя бы одна с открытыми исходными кодами, создают необходимые предпосылки для быстрого перехода на другую версию. Для открытой реализации протоколов можно провести независимый аудит кода и оценить его безопасность.
Это неполный список требований, которые затрагивают те или иные аспекты безопасности сети, но предложенная концепция поможет улучшить имеющиеся характеристики за счет добавления механизмов аутентификации, мобильности оконечных устройств и виртуализации сетевых коммуникаций.
СТАНДАРТЫ
Следует отметить, что проприетарные решения подобного типа уже имеются даже в России. Например, у компании «ИнфоТеКС» есть система ViPnet, которая обеспечивает защищенное взаимодействие клиентов корпоративной сети. Координаторы ViPnet выступают в роли пограничных устройств. В решении пре-дусмотрен идентификатор пользователя, позволяющий переключать оконечные устройства из одного сегмента в другой. При подключении к системе требуется аутентификация, после чего клиенты получают доступ к ресурсам, защищенным ViPnet.
Однако система эта закрытая, и у нее нет независимой реализации. В то же время уже разработан набор стандартов, которые позволяют строить безопасные сети. Мы рассмотрим набор стандартов RFC, поскольку они наиболее открытые и независимые.
RFC 3580. IEEE 802.1X Remote Authentication Dial In User Service (RADIUS). Протокол определяет аутентификацию устройств и пользователей. Безопасная сеть должна быть защищена от подключения посторонних устройств, точнее, как отмечалось выше, нужно выделить их в отдельный сегмент со строго ограниченными полномочиями. Доступ к тем или иным ресурсам корпоративной сети разрешается на основании сведений об аутентификации устройств и пользователей.
Internet-Draft draft-smith-kandula-sxp-00 — Source-Group Tag eXchange Protocol (SXP). Строго говоря, это еще не стандарт, а проект, разрабатываемый компанией Cisco. Стандартом он станет после появления независимой реализации протокола, которая будет эффективно работать с другими его версиями. Однако эта технология уже достаточно давно используется в виде TrustSec. Суть протокола в том, что после аутентификации устройству присваивается SGT-метка (Source-Group Tag), для которой контроллер определяет правила доступа к другим ресурсам сети. Использование этой метки очень похоже на технологию MPLS, когда внутри единой сети выделяются виртуальные подсети с независимо осуществляемой маршрутизацией. SGT-метки обеспечивают виртуальную сегментацию сети, за счет чего и появляется возможность управлять правами доступа к сетевым ресурсам.
RFC 6830 — Locator/ID Separation Protocol (LISP). Этот протокол обеспечивает мобильность устройств, позволяя им переходить из одного сегмента сети в другой без изменения IP-адреса. Тем самым обеспечивается непрерывная связь с мобильными устройствами, виртуальными машинами и облачными сервисами. Управление LISP осуществляется контроллером, который по результатам аутентификации оконечных клиентов обеспечивает их переключение с одного пограничного устройства на другое с минимальными задержками. У оконечных устройств, помимо IP-адреса, сохраняются при этом и SGT-метки, а также поддерживается доступ к ресурсам сети.
RFC 7348 — Virtual eXtensible Local Area Network (VXLAN). Этот протокол обеспечивает инкапсуляцию данных высоко-уровневых протоколов RADIUS, SXP и LISP в простые IP-пакеты, которые может коммутировать любое сетевое оборудование. Протокол позволяет использовать идеологию программно-определяемых сетей SDN, за управление которыми отвечает центральный контроллер. В результате удается создать конфигурацию, где основной интеллект сети концентрируется на периферийных устройствах и программном контроллере (см. рис. 2).
Рис. 2. Протоколы, используемые при перемещении виртуальной машины с одного сервера на другой без разрыва соединения с пользователем |
RFC 8402 — Segment Routing (SR) Architecture. Стандарт определяет альтернативный вариант виртуализации сетей. Он предусматривает специальный заголовок, в котором указываются промежуточные пункты назначения (называемые сегментами), через которые должен пройти маршрут. Механизм виртуализации локальных сетей с помощью сегментов аналогичен технологии MPLS, причем он применим не только в локальных сетях, но и в глобальных. Разработан стандарт совместно сотрудниками компаний Cisco, Orange и Google и уже реализован в продуктах различных производителей, в том числе Huawei и Juniper. В стандарте есть несколько опций, часть из которых может работать без контроллера, а часть потребует установки специального контроллера.
Перечисленные компоненты составляют основу сети со встроенной безопаснос-тью и возможностью сегментирования на уровне самой архитектуры. Сейчас стек этих протоколов реализован в продуктах Cisco, однако, поскольку все стандарты открыты на уровне IETF, они или уже имеют, или в ближайшее время получат независимую от производителя реализацию, что позволит строить сеть на базе оборудования различных производителей. Причем и российские разработчики уже активно занимаются созданием и совершенствованием своего сетевого оборудования.
Оскар Краснов, независимый эксперт (oskar@osp.ru)