Виртуальная частная сеть

Опубликовано: 15 Апреля, 2023


Что такое VPN?


В большинстве типичных документов, связанных с VPN, VPN определяется как расширение частной сети. Однако этот тип определения ничего не значит и лишь характеризует понятие VPN как определяющий фактор частной сети, что еще несколько неясно. VPN — это аббревиатура от Virtual Private Network. Все знают, что такое «сеть», делающая объяснения бессмысленными. Частная сеть — это сеть, в которой все пути передачи данных в определенной степени засекречены, но открыты для ограниченного круга лиц, например, для сотрудников конкретной компании. Теоретически самый простой способ создать такую сеть — изолировать эту сеть от Интернета. Однако в случае с бизнесом с несколькими удаленными филиалами все не так просто. Решением могут быть выделенные линии, но это дорогостоящее решение, которое не обязательно обеспечит требуемую степень безопасности. Кроме того, арендованные каналы страдают от синдрома единственного неисправного канала — соединение, которое время от времени обрывается, может привести к крупной или незначительной катастрофе для компании. Кроме того, иногда возникает необходимость предоставить доступ к части ресурсов частной сети внешним пользователям, что невозможно в физически разделенной сети. Конечно, решением может быть использование удаленного сервера, однако это повлечет за собой дополнительную плату за телефонные сеансы, которые также могут быть междугородними. А как насчет модного слова «виртуальный»? В настоящее время VPN — это далеко не физически обособленная структура. Он использует существующую инфраструктуру, которая охватывает как локальные, так и глобальные сети, и где может поддерживаться магистраль IPv6, а также любая сеть, при условии, что она может быть легко интегрирована с современными технологиями. Передача данных по общедоступной сети осуществляется с использованием одной из доступных технологий туннелирования, и все данные могут быть зашифрованы для повышения безопасности.
После этого введения определение VPN как выделенной частной сети, основанной на существующей общедоступной сетевой инфраструктуре и включающей методы шифрования данных и туннелирования для обеспечения безопасности данных, становится довольно простым.


Каковы преимущества использования VPN?


Есть несколько причин для использования VPN. Безопасность конфиденциальных данных, несомненно, является серьезной проблемой, как и другие вопросы, такие как потеря паролей, что, вопреки распространенному мнению, не является худшей возможной судьбой.
Например, если многофилиальная компания-разработчик программного обеспечения хранит свои исходные файлы программного обеспечения в центральном репозитории CVS, а конкурирующей ИТ-компании удается перехватывать сетевой трафик между филиалом и CVS, она может украсть некоторые блестящие идеи, воплощенные в программах.. Сумма ущерба, связанного с таким делом, может составлять миллионы долларов, однако возможные судебные процессы редко бывают такими быстрыми и простыми, как ожидалось.
С экономической точки зрения создание VPN может быть менее затратным, чем обслуживание выделенных линий, хотя стоимость прошивки VPN может показаться огромной. На самом деле потерянные данные могут обойтись гораздо дороже. Для реализации VPN редко требуется дорогостоящее оборудование. На практике любой компьютер с Microsoft Windows можно использовать в качестве VPN-клиента, а любой компьютер с Windows 2000 или Windows.NET можно настроить в качестве VPN-сервера.


Какие протоколы можно использовать через VPN-подключение?


Концепция сети VPN в определенной степени основана на двухточечных каналах. В сетях VPN они эмулируются с помощью инкапсуляции данных и туннелирования, т. е. данные упаковываются в заголовок, предоставляющий необходимую информацию о маршрутизации. Чтобы повысить надежность и целостность данных, отправляемые пакеты могут быть зашифрованы до входа в туннель, и даже если они будут перехвачены (что несложно, поскольку они передаются по общедоступной сети), они останутся неразборчивыми без ключей шифрования. VPN-подключения позволяют пользователям, работающим дома или в командировке, получить удаленное, динамически настраиваемое VPN-подключение к внутренней сети своей компании. С точки зрения пользователя, VPN представляет собой соединение «точка-точка» внутри сервера организации, которое логически работает в некоторой степени как выделенная линия или обеспечивает поддержку соединения VPN с телефонным подключением.
Механизм VPN может быть построен на основе различных протоколов в зависимости от аппаратных и программных возможностей. Для VPN общего назначения Windows 2000 общепризнанными протоколами являются PPTP и L2TP в сочетании с IPSec.
Между этими двумя протоколами PPTP старше. Это протокол туннелирования уровня 2 (OSI), который инкапсулирует кадры PPP в виде IP-датаграмм. Как для создания, так и для обслуживания туннеля PPTP использует протокол TCP. Инкапсуляция использует эфемерный (случайный) порт на стороне клиента, в то время как сервер PPTP связан с портом 1723. Пакеты инкапсулируются с использованием универсальной инкапсуляции маршрутизации (GRE). Инкапсуляция PPTP для полезной нагрузки выглядит следующим образом:
– Полезная нагрузка инкапсулируется кадром PPP.
– Кадр PPP инкапсулируется с заголовком GRE и трейлером.
– Кадр GRE отправляется в качестве новой полезной нагрузки для новой дейтаграммы IP между клиентом и сервером PPTP.
Шифрование данных является жизненно важной частью VPN. PPTP использует механизмы PPP для обеспечения конфиденциальности данных. В реализациях Microsoft Windows 2000 кадр PPP шифруется с помощью MPPE. Ключи для шифрования генерируются в процессе аутентификации MS-CHAP или EAP-TLS, поэтому клиент должен использовать любой из этих протоколов для шифрования связи с VPN-сервером, иначе все полезные данные будут отправляться по туннелю в виде открытого текста.
Протокол PPTP задокументирован в RFC 2637.
Протокол L2TP представляет собой комбинацию переадресации уровня 2 Cisco Systems Inc. и PPTP, использующую лучшее из обоих. L2TP более гибок, чем PPTP, однако его использование подразумевает необходимость более мощного компьютера, чем для реализации PPTP. L2TP работает в протоколе туннелирования уровня 2 (OSI). Он инкапсулирует кадры PPP для отправки их между сервером и клиентом. Он был разработан для работы напрямую с различными технологиями WAN, не относящимися к IP. Как и PPTP, L2TP инкапсулирует исходные дейтаграммы IP по сети. Поскольку шифрование для L2TP обеспечивается IPSec, инкапсуляция делится на два уровня — начальную инкапсуляцию L2TP и инкапсуляцию IPSec. Процесс выглядит следующим образом:
– Начальная полезная нагрузка инкапсулируется кадром PPP.
– Кадр PPP помещается в новую дейтаграмму IP, инкапсулированную с заголовком UDP и заголовком L2TP.



  • Инкапсулированная полезная нагрузка L2TP представляет собой IPSec, т. е. она добавляется с инкапсулирующей полезной нагрузкой безопасности IPSec (ESP) и трейлером аутентификации IPSec (AUTH). Таким образом обеспечивается целостность и аутентификация сообщений в пути. На данном этапе туннелируемые сообщения еще не зашифрованы. IPSecESP — это механизм предоставления ключей шифрования данных L2TP. Возможно иметь незашифрованное соединение L2TP, при котором кадр PPP отправляется в виде открытого текста. Однако такое небезопасное решение абсурдно и определенно не рекомендуется.

L2TP задокументирован в RFC 2661.
Основные различия между PPTP и L2TP заключаются в следующем:
-PPTP требует сетевого транспортного уровня на основе IP, в то время как L2TP требует только, чтобы носитель обеспечивал соединение точка-точка. Таким образом, протокол L2TP можно использовать непосредственно через IP Frame Relay, X.25 и ATM. PPTP не может напрямую поддерживать среду, отличную от IP.
– PPTP поддерживает только один туннель между VPN-сервером и клиентом. С помощью L2TP можно поддерживать несколько туннелей для сквозной передачи полезной нагрузки. Следовательно, возможны многотуннельные операции с L2TP, соответствующими различным уровням качества обслуживания (QoS) и безопасности.
– Протокол L2TP обеспечивает механизмы сжатия заголовков. Когда эта функция включена, заголовок L2TP меньше заголовка PPTP, что приводит к меньшему количеству одновременных сеансов RTP, необходимых для повышения эффективности использования полосы пропускания.
PPTP по-прежнему более популярен, чем L2TP, и используется в системах Microsoft Windows 95, Windows 98, Windows NT 4.0, Windows 2000 и Windows XP/.NET. L2TP поддерживается, начиная с Windows 2000. Реализации L2TP для более старых версий Windows могут быть доступны как сторонние продукты. На практике может быть трудно найти такие решения, тогда как по экономическим причинам обновление старых ОС до Windows 2000 или XP может быть дешевле, чем их расширения.
Хотя L2TP и PPTP являются основными протоколами туннелирования, используемыми в Windows 2000, определенная реализация VPN может быть построена с использованием протокола IPSec, уже упомянутого в обсуждении надежности туннелируемой полезной нагрузки, обеспечиваемой L2TP. IPSec существует как модель туннелирования данных уровня 3 (OSI), в которой используется особый режим — туннельный режим ESP, обеспечивающий надежную инкапсуляцию и шифрование IP-датаграмм, отправляемых по общедоступной IP-сети. В этом режиме целые дейтаграммы IP инкапсулируются и шифруются с использованием ESP. Наконец, IP-датаграмма инкапсулируется с новым IP-заголовком, и полученная новая датаграмма отправляется по сети. После получения дейтаграммы L2TP получатель обрабатывает кадр канала передачи данных для аутентификации содержимого и отправляет данные на сайт назначения.


Какие механизмы безопасности доступны через VPN?


Авторизация — VPN-подключения создаются только для авторизованных пользователей и маршрутизаторов. В Windows 2000 авторизация VPN-соединений определяется свойствами удаленного доступа в учетной записи пользователя и политиками удаленного доступа. Если пользователь или маршрутизатор не авторизованы для таких подключений, сервер отключит их.
Аутентификация — это жизненно важная проблема безопасности. Аутентификация происходит на двух уровнях:



  1. Аутентификация на уровне машины — когда для VPN-подключения используется протокол IPSec, аутентификация на уровне машины выполняется путем обмена сертификатами машины во время установления соединения IPSec.
  2. Аутентификация на уровне пользователя — перед отправкой данных по туннелю PPTP или L2TP пользователь должен пройти аутентификацию. Это делается с помощью метода аутентификации PPP.

Шифрование данных — протоколы, используемые для создания VPN-соединений, позволяют отправлять зашифрованные данные по сети. Хотя возможно иметь незашифрованное соединение, это не рекомендуется. Обратите внимание, что шифрование данных для VPN-подключений обеспечивает не сквозную безопасность (шифрование), а только безопасность между клиентом и VPN-сервером. Для обеспечения безопасного сквозного соединения можно использовать протокол IPSec после установления VPN-подключения.
Фильтрация пакетов — для повышения безопасности сервера VPN необходимо настроить фильтрацию пакетов таким образом, чтобы сервер выполнял только маршрутизацию VPN. Для этого следует использовать соответствующие фильтры RRAS (для Windows 2000) на интернет-интерфейсе VPN.


Подключение к VPN-серверу в ОС Windows


Создать VPN-подключение для клиента так же просто, как настроить коммутируемую сеть. Таким образом, роль системного администратора сводится к настройке VPN-сервера и предоставлению информации о конфигурации подключения, в то время как пользователи могут выполнять остальные процедуры.


Изображение 26326


Чтобы создать VPN-подключение:
– Выберите NetA и Dial-up Connections, а затем Make New Connection,
– Выберите Подключиться к частной сети через Интернет,
– Введите IP-адрес VPN-сервера,
– В зависимости от конфигурации VPN-сервера для аутентификации пользователя может использоваться микросхема ПЗУ,
– Определите, хотите ли вы, чтобы это соединение было установлено для всех пользователей в сети или только для вашего собственного использования.
Такое установленное соединение может потребовать дополнительной настройки, например:
– Указание типа протокола (PPTP или L2TP),
– Указание метода аутентификации.


Изображение 26327


Туннелирование IPSec в Windows 2000


Знание того, как использовать VPN, упрощает создание безопасного туннеля на основе IPSec между двумя удаленными сетями. Это очень простое решение, для которого требуются два компьютера под управлением Windows 2000.
Рассмотрим следующий сценарий:
Есть две сети, которые используют частную адресацию, одна называется NetA, а другая NetB. Windows 2000 поддерживает туннелирование IPSec для ситуаций, когда обе конечные точки туннеля имеют статические IP-адреса. Следовательно, это исключает использование туннелирования IPSec для сценариев «шлюз-шлюз», хотя возможно создание туннелей между сервером и маршрутизатором. Однако интересно отметить, что Windows 2000 не поддерживает туннели для конкретных протоколов и портов. Это стоит иметь в виду, поскольку интерфейс Microsoft Management Console (MMC) очень общий и позволяет связать фильтр IPSec любого типа с туннелем. Необходимо помнить, что при создании туннеля необходимо использовать только адресную информацию, поскольку туннель IPSec защищает только трафик, указанный в фильтрах IPSec. Также важно настроить фильтры в службе маршрутизации и удаленного доступа (RRAS), чтобы предотвратить перенаправление трафика за пределы туннеля. Необходимо создать два правила IPSec, поскольку необходимо установить два туннеля: один от NetA к NetB, а другой — от NetB к NetA. Каждый туннель представлен правилом, поэтому для настройки политики IPSec для компьютеров внутренней сети шлюза требуется два правила, и, в частности, необходимо создать два фильтра — один для сопоставления пакетов, идущих от NetA к NetB, и один для сопоставления пакетов. переход от NetB к NetA.
Обычно шлюз Windows 2000 не является членом домена, поэтому создаются локальные политики IPSec. Если шлюз Windows 2000 является членом уже существующего домена, локальная политика IPSec может запретить шлюзу использовать свои локальные параметры IPSec. В этом случае необходимо создать Организационную единицу (OU) в Active Directory, чтобы сделать шлюз членом этой OU, с последующим назначением соответствующих параметров IPSec.



Первый этап создания туннеля состоит в установлении контуров политики IPSec. Для этого выполните следующие действия:
– Активируйте MMC для работы с управлением политикой IP-безопасности,
– Щелкните правой кнопкой мыши Политики IP-безопасности на локальном компьютере и выберите Создать политику IP-безопасности,
– Снимите флажок Активировать правило ответа по умолчанию.
Как правило, рекомендуется дать разумное имя правилу и установить флажок, чтобы пропустить дальнейшие шаги, связанные с проблемами правила.
После создания общей схемы правила необходимо построить фильтры, соответствующие трафику из NetA в Net B и из NetB в NetA. Для этого выполните следующие действия:
– Снимите флажок «Использовать мастер добавления», а затем нажмите «Добавить», чтобы создать новое правило.
– На вкладке Список IP-фильтров выберите Добавить,
– При определении исходного адреса выберите Конкретную IP-подсеть, а затем вставьте данные для NetA (при условии, что туннель от NetA до NetB должен быть создан первым),
– При определении адреса назначения щелкните также Конкретная IP-подсеть и заполните поля для адреса и маски NetB,
– Щелкните, чтобы очистить полюс Зеркальное отражение, чтобы правило не ассоциировалось с пакетами, отправленными из NetB в NetA,
– На вкладке Протокол убедитесь, что тип протокола установлен на Любой.



Изображение 26330


Построение списка фильтров для трафика из NetB в NetA выполняется так же, за исключением того, что необходимо определить соответствующие адреса сетей, т.е. NetB в качестве источника и NetA в качестве цели соответственно.
После настройки фильтров создайте туннель. Если речь идет о трафике из NetA в NetB, выполните следующие действия:
– На вкладке Список IP-фильтров щелкните фильтр от NetA до NetB.
– На вкладке «Настройка туннеля» введите IP-адрес, назначенный адаптеру внутренней сети шлюза для NetB.
– На вкладке «Действие фильтра» снимите флажок «Использовать мастер добавления», а затем нажмите «Добавить», чтобы создать новое действие фильтра.
– Оставьте параметр Согласовать безопасность включенным и снимите флажок Принимать незащищенную связь, но всегда отвечать с использованием IPSec.
– Нажмите «Добавить» и оставьте выбранным параметр «Высокий (ESP)»; или вы можете выбрать «Пользовательский» (но только если вы знаете, на что ориентируетесь).
– После настройки нового действия фильтра на вкладке Методы аутентификации настройте используемые методы аутентификации. Используйте предварительные ключи для тестирования, в противном случае используйте сертификаты для аутентификации продукта. Kerberos технически возможен, но редко используется. (Kerberos — идеальное решение для развертывания безопасной связи между доверенными доменами).
Для трафика из NetB в NetA необходимо выполнить те же шаги, что и выше, не забывая изменить адрес конечной точки IP-туннеля компьютера NetA.
Для проверки функционирования туннеля используйте программы ping и IP Security Monitor. Для мониторинга — вы можете дополнительно протестировать трафик с использованием пакетов в формате IPSec с помощью анализатора пакетов, чтобы убедиться, что трафик действительно зашифрован.


Чтение о VPN может создать ложное чувство безопасности, что может быть опасно. Очевидно, что VPN защищает трафик между сетями, но внутренний трафик остается незашифрованным и уязвимым для атак сетевых снифферов, которые могут перехватывать конфиденциальные данные. Может показаться, что злоумышленники не смогут получить доступ во внутреннюю сеть, но это будет ошибочным предположением. Помните, что со статистической точки зрения более 80% попыток нарушения сетевой безопасности совершаются внутри сети! Часто хорошо защищенным от внешних вторжений сетям крайне не хватает внутренней сетевой безопасности. IPSec может быть вариантом повышения корпоративной безопасности за счет защиты внутреннего сетевого трафика. Если это должна быть сеть на основе домена Windows 2000 в сочетании с Active Directory, создание соответствующих правил и требований от компьютеров-клиентов не является сложной задачей и значительно повышает безопасность внутренней сети.
Решит ли внедрение VPN все проблемы, связанные с защитой конфиденциальных данных? Нет, определенно нет. ИТ-безопасность — это большая и сложная проблема, и не существует единой панацеи для всех потребностей безопасности. Однако VPN является жизненно важным компонентом защищенной корпоративной сети.