В условиях постоянно растущей потребности в поддержке сотрудников удаленных офисов и безопасного соединения с подразделениями партнеров, организации неизменно рассчитывают на использование виртуальных частных сетей (virtual private network — VPN) как на свое предпочтительное решение. Неудивительно, что сервисы VPN отличаются своим возможностями и назначением, поэтому важно уметь определять, какое решение лучше всего подходит для удовлетворения потребностей вашего бизнеса.
Чтобы помочь вам выбрать лучшее VPN-решение для своей организации, мы проделаем следующее:
• Опишем наиболее общие VPN-подключения, которые вам понадобится установить.
• Обсудим технологию, стоящую за VPN-аутентификацией и шифрованием.
• Выделим основные направления для рассмотрения при выборе конкретного типа VPN.
Сотрудники, бизнес-партнеры, клиенты и другие могут нуждаться в доступе к ресурсам интранет-сети вашей компании. Они могли бы установить связь с удаленным сервером доступа, но зачастую более удобно и более рентабельно использовать Интернет. К сожалению, Интернет является общедоступной небезопасной сетью и, по существу, может представлять реальную опасность для обмена информацией, который происходит между участниками взаимодействия.
Виртуальные частные сети решают эту проблему путем создания безопасного туннеля между конечными точками канала связи. Безопасность реализуется посредством аутентификации (требующей от объектов доказательства своей подлинности), шифрования (маскирующего реальные данные в качестве зашифрованного текста) или некоторой их комбинации.
Типы VPN
Существует несколько способов классификации VPN. Сначала мы рассмотрим два способа, с помощью которых могут быть выполнены VPN-подключения. Затем обсудим популярные VPN-технологии, поддерживаемые Windows 2000 Server и Windows Server 2003.
Топологии VPN
Вообще говоря, сети VPN могут подключаться двумя различными способами: VPN удаленного доступа (Remote Access VPN), показанная на Рисунке А, и Site-to-Site VPN, представленная на Рисунке В. Мы вкратце опишем их различия:
• VPN удаленного доступа. Отдельный компьютер устанавливает соединение с сервером VPN. Этот сервер может также действовать как шлюз VPN (VPN gateway), обеспечивая доступ к другим компьютерам во внутренней сети.
• Site-to-Site VPN. Шлюзы на обоих концах этого соединения устанавливают виртуальный частный канал (virtual private link) между двумя локальными сетями, позволяя компьютерам одной локальной сети иметь связь с компьютерами в удаленной локальной
сети.
Протоколы VPN
Три наиболее популярных протокола применяются в настоящее время:
• РРТР. Использует протокол туннелирования между узлами точка-точка РРТР (Point-to-Point Tunneling Protocol) и протокол Microsoft Point-to-Point Encryption Protocol (MPPE).
• L2TP. Использует протокол L2TP (Layer 2 Tunneling Protocol) и IPSec (Internet Protocol Security) для шифрования.
• IPSec в режиме туннелирования (IPSec Tunneling Mode). Использует IPSec как для установления туннеля, так и для обеспечения шифрования.
Каждая технология VPN имеет преимущества и недостатки. Давайте остановимся более подробно на каждой из них.
РРТР
Протокол РРТР был разработан Microsoft. Он основан на протоколе канала связи с непосредственным соединением (протоколе соединения «точка-точка») Point-to-Point Protocol (РРР) и использует те же методы аутентификации. Его уровень безопасности зависит отчасти от того, какой метод аутентификации вы выбираете, как показано здесь:
• Microsoft Challenge-Handshake Authentication Protocol (MS-CHAP) v.2. В объединении с правилами создания сильных паролей протокол MS-CHAP обеспечивает хорошую безопасность РРТР.
• Extensible Authentication Protocol-Transport Level Security (EAP-TLS). Вместе с основанной на смарт-картах аутентификацией протокол EAP-TLS обеспечивает даже большую безопасность. Этот метод требует инфраструктуры открытого ключа (Public Key Infrastructure — PKI), что связано с большими административными накладными расходами.
Протокол РРТР использует МРРЕ для шифрования трафика VPN. МРРЕ предусматривает конфиденциальность данных, используя алгоритм RC4. Ключи шифрования являются 40 или 128-битными и генерируются по методам аутентификации MS-CHAP, MS-CHAP v.2 или EAP-TLS.
Протокол РРТР совместим со многими различными операционными системами, что делает его популярным выбором в межплатформенных условиях эксплуатации. В состав этих операционных систем входят:
• Операционные системы Windows 9х, Me, NT, 2000, ХР и Server 2003 включают встроенное клиентское программное обеспечение РРТР.
• Операционные системы Macintosh OS X10.2 и выше также замечательно поддерживают протокол РРТР.
• Клиентское программное обеспечение для Linux и UNIX доступно без труда.
Дополнительный анализ РРТР
Наконец, при определении, подходит ли РРТР для ваших условий эксплуатации, примите во внимание следующее:
• Вы можете использовать РРТР с клиентскими компьютерами, которые находятся за устройством трансляции сетевых адресов (Network Address Translation — NAT), поскольку большинство реализаций NAT включают редактор РРТР (РРТР editor).
• Протокол РРТР работает хорошо в рамках подключений «точка-к-точке» (point-to-point connections), однако он не предназначался для соединений «site-to-site».
• Мы рекомендуем РРТР тем организациям, которым нужен средний уровень безопасности, простая и удобная реализация, а также высокий уровень способности к взаимодействию.
L2TP
Протокол Layer 2 Tunneling Protocol был разработан совместно Microsoft и Cisco. Он объединяет элементы протокола РРТР и протокола Layer 2 Forwarding (L2F), созданного в Cisco. Протокол L2TP был разработан, чтобы обеспечить большую безопасность, нежели РРТР, так как он использует основанную на сертификатах аутентификацию в дополнение к аутентификации РРР.
Протокол L2TP использует IPSec для шифрования трафика VPN. Шифрование IPSec обеспечивает конфиденциальность данных подобно МРРЕ, но идет дальше, предлагая следующие механизмы безопасности для каждого пакета:
• Целостность данных. Гарантия того, что данные не были изменены во время передачи.
• Аутентификация источника данных. Проверка того, что данные действительно поступили от отправителя, который утверждает, что послал их.
• Защита воспроизведения. Не допускает, чтобы хакер захватил передачу, например, процесс аутентификации и воспользовался этим для получения доступа.
Как и в случае РРТР, L2TP обеспечивает высокую степень поддержки на различных платформах, как описано здесь:
• Клиентское программное обеспечение L2TP встроено в Windows 2000, ХР и Server 2003. Microsoft обеспечивает клиентское программное обеспечение L2TP для Windows 9х, Me, а также NT в качестве бесплатной загрузки.
• Macintosh OS X v. 10.3 (Panther) включает клиента L2TP.
• L2TP клиент/демон для Linux также доступен.
L2TP и pre-shared keys
Протокол L2TP/IPSec поддерживает взаимную аутентификацию как клиента, так и сервера. Вы можете сконфигурировать IPSec для использования предварительно заданных ключей (pre-shared keys), которые вводите вручную на каждом компьютере. Вы должны выполнять это, только если PKI недоступна. Лучшим для обеспечения безопасности является применение цифровых сертификатов для аутентификации.
L2TP инкапсулирует исходный пакет в кадр РРР, а затем инкапсулирует этот кадр РРР внутрь сообщения UDP. Исходный пакет (полезная нагрузка РРР), заголовок РРР, заголовок L2TP, а также заголовок UDP — все шифруются протоколом ESP (Encapsulating Security Payload) IPSec, как показано на Рисунке С.
Дополнительный анализ L2TP
Если вы решили реализовать L2TP, имейте в виду следующее:
• L2TP поддерживает многочисленные сетевые протоколы. Вы можете использовать его для инкапсуляции трафика IPX/SPX наряду с трафиком TCP/IP. Это может быть важно в некоторых сетях.
• Первоначально L2TP/IPSec в Windows 2000 не был совместим с NAT. К счастью, обновление NAT Traversal (NAT-T), которое работает с IPSec, доступно для Windows 2000 с SP3 или выше.
• Текущая версия L2TP/IPSec в Windows ХР/2003 также поддерживает (NAT-T).
• Вы можете использовать L2TP как для VPN удаленного доступа, так и для site-to-site VPN.
Туннельный режим IPSec
Для обеспечения дополнительного слоя шифрования вы можете применить IPSec с другим протоколом туннелирования, таким как L2TP. Вы можете также использовать один этот протокол, создавая туннельное соединение и шифруя туннелированный трафик. IPSec функционирует в двух дискретных режимах, как описано здесь:
• Транспортный режим. IPSec шифрует данные по мере того, как они движутся между двумя компьютерными конечными точками. Этот режим не упаковывает протоколы внутри друг друга.
• Туннельный режим. Пакеты инкапсулируются (упаковываются) на шлюзе и извлекаются на другом шлюзе. IPSec в туннельном режиме используется, главным образом, для сетей site-to-site VPN, между двумя сетевыми шлюзами.
IPSec, как и подразумевается в его названии, работает лишь с трафиком TCP/IP. Если привлекаются другие протоколы, правильный выбор — L2TP.
Как IPSec работает в туннельном режиме
Преимущество использования IPSec для создания туннеля состоит в том, что он обеспечивает возможность взаимодействия между Windows 2000/2003 сервером/шлюзом VPN и шлюзом от стороннего производителя на другом конце соединения, который не поддерживает РРТР или L2TP. Это обычно брандмауэр от стороннего производителя или специализированное устройство VPN. IPSec фактически состоит из следующих основных протоколов:
• Протокол аутентификации заголовка АН
• Протокол безопасного закрытия содержания ESP
Аутентификация заголовка (АН)
В туннельном режиме АН инкапсулирует исходный IP-пакет и его заголовок вместе с заголовком АН и другим заголовком IP, как показано на Рисунке D. АН подписывает этот пакет для обеспечения целостности данных, но не обеспечивает конфиденциальность.
Безопасное закрытие содержания (ESP)
Протокол ESP в туннельном режиме инкапсулирует исходный IP-пакет и его заголовок вместе с заголовком ESP и другим заголовком IP, аналогично АН. Он также добавляет концевик (замыкающую часть кадра) аутентификации (authentication trailer) ESP. ESP шифрует исходный IP-пакет и его заголовок, чтобы обеспечить конфиденциальность данных. Концевик аутентификации (authentication trailer) подписывает зашифрованный IP-пакет и заголовок, а также заголовок ESP, но не новый IP-заголовок, как показано на Рисунке Е.
Когда инкапсулированный и зашифрованный пакет достигает удаленного шлюза, этот пакет дешифруется. Шлюз использует исходный заголовок IP для доставки этого пакета к нужному компьютеру в своей сети.