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

Общий недостаток всех описанных выше методов удаленного доступа заключается в использовании для организации соединения телефонных линий. Это значит следующее.
● Пакеты передаются по незащищенным сетям (подробнее о последствиях см. гл.
14).
● Если сервер и клиент удалены друг от друга на большое расстояние, то оплата телефонного соединения может быть значительной.
● Для каждого соединения необходима отдельная линия.

Единственный путь обойти эти проблемы — создать виртуальную частную сеть (VPN - virtual private network) внутри другой сети, скажем, Internet. Для пользователя это будет выглядеть аналогично соединению с главной сетью (host network) (рис. 6.4). Однако в данном случае соединение туннелируется через общедоступную сеть, т.е. проходит внутри нее, но в то же время автономно (в определенной степени, — Прим, ред.) от нее.
Подробнее об этом далее, в разделе "Механизмы туннелирования".

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

Примечание:
В большинстве случаев VPN создают с помощью Internet. Это объясняется тем, что Internet самая доступная сеть общего пользования. Поэтому я буду приводить её и в дальнейших примерах. Однако в качестве магистрали VPN в принципе можно использовать любую общедоступную сеть.

Поскольку виртуальные частные сети предназначены для организации доступа к частной локальной по общедоступным сетям, к сетям VPN предъявляют строгие требования с точки зрения безопасности.

● Поддержка идентификации пользователя, с тем чтобы личность пользователя можно было установить с помощью базы данных учетных записей. Кроме того, в целях защиты входы в сеть и доступ к файлам должны заноситься в файл журнала.
● Клиенты виртуальной сети должны иметь адрес, используемый в частной сети, и этот адрес должен быть ограничен частной сетью.
● С целью защиты информации должно поддерживаться шифрование данных. Кроме того, программное обеспечение VPN должно быть в состоянии генерировать и обновлять ключи шифрования.
● VPN должна поддерживать транспортные протоколы, используемые в общедоступных сетях.

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

Механизмы туннелирования

Как же все это работает? Вспомните: при удаленном соединении клиенты удаленного доступа и дистанционного управления используют соответствующий протокол линии связи, чаще всего — РРР. Помимо РРР, компьютеры VPN должны использовать еще один протокол для переноса данных частной сети по сети общедоступной. С этой целью используется технология туннелирования. При использовании этой технологии пакеты данной сети "укладываются" в пакеты другой. Это напоминает помещение почтового конверта в обертку из простой коричневой оберточной бумаги. "Обертка" отнюдь не предназначена для сокрытия информации: ее добавление фактически означает добавление маршрутной информации, которая необходима для отсылки исходного пакета по сети, в которой такие пакеты не поддерживаются. Когда пакет достигает места назначения, скажем, локальной сети организации, дополнительная информация "срывается" с заголовка пакета, и он предстает в исходном виде.
Зачем нужна такая инкапсуляция? Как указано в гл. 3, для передачи пакетов по сети необходимо использовать протокол, который поддерживается этой сетью. Туннелирование работает как средство "маскировки" пакетов. Например, при прохождении пакета по сети, поддерживающей протокол IP, пакеты IPX могут принять вид IP (точнее, РРР). Как только пакет покидает сеть IP и переходит в сеть, поддерживающую протокол IPX, пакет снимает маску IP и возвращает исходный формат. Для инкапсуляции и восстановления исходного формата пакетов как раз и предназначен протокол Туннелирования.

Протоколы туннелирования: настоящее и будущее

Технология Туннелирования известна давно. Так, она некоторое время применялась для создания туннелей в сетях IP с помощью протоколов TCP/IP и SNA (Systems Network Architecture — системная сетевая архитектура, служащего для связи персональных компьютеров с мэйнфреймами IBM) в операционной системе NetBIOS. Приведем несколько примеров более современных протоколов туннелирования.

● Протокол туннельной двухточечной связи (РРТР — Point-to-Point Tunneling Protocol).
● Протокол Туннелирования 2-го уровня L2TP (Layer 2 Tunneling Protocol).
● Режим защищенных туннелей IPSec (IP Security).

Работа протоколов Туннелирования на канальном и сетевом уровне несколько различается: В протоколах канального уровня предусматривается использование связи с логическим соединением. Это означает, что прежде чем выполнить Туннелирование, конечный узел должен дать согласие на создание туннеля, и задействовать совместимые средства шифрования, сжатия и прочие опции. Кроме того, возможности этих протоколов в значительной степени зависят от возможностей средств защиты, предоставляемых протоколом РРР или другим протоколом сетевого уровня. С другой стороны, протоколы туннелирования сетевого уровня не требуют обязательного создания туннеля до начала сеанса.
Напротив, они предполагают, что все приготовления уже выполнены без их участия. В основном эти протоколы предназначены для шифрования и инкапсуляции пакетов, выполняемых за счет включения дополнительных заголовков. Поэтому все узлы VPN должны использовать единый протокол сетевого уровня.

Протокол РРТР. Этот протокол можно рассматривать как проект стандартного протокола канального уровня, используемого для Туннелирования пакетов по сетям поддерживающим IP-протокол, например, Internet. И хотя его можно использовать в любых сетях, поддерживающих протоколы NetBEUI, IPX/SPX (или совместимые), TCP/IP, он спроектирован для создания интерсетей именно с протоколом IP. Для передачи данных и управляющей информации во время сеанса (session control information) протокол предусматривает использование, двух каналов. Один из них предназначен для передачи данных, второй — информации управления сеансом. С этой целью используется протокол с логическим соединением — TCP, входящий в набор протоколов TCP/IP.
Протокол РРТР распространен достаточно широко. Главным образом он используется фирмой Microsoft, однако проект стандарта разработан фирмой Ascend Communications.
Фактически же, реализация протокола, используемая Microsoft, несколько отличается от той, что предлагает рабочая группа инженеров Internet (IETF). Это объясняется тем, что фирма Microsoft усовершенствовала средства шифрования по сравнению с исходным стандартом.

Протокол L2TP. Несмотря на широчайшую поддержку, протокол РРТР постепенно вытесняется L2TP. Это скоростной протокол Туннелирования, в основе которого лежит РРТР. L2TP также относится к протоколам канального уровня. Он спроектирован для поддержки протоколов NetBEUI, IPX/SPX (и совместимых), а также TCP/IP и предназначен для использования во всех сетях, поддерживающих передачу дейтаграмм UDP (сеансы без установления логической связи), например, Frame Relay, ATM, X.25 или IP.
Как указано выше, протокол L2TP постепенно вытесняет РРТР с его позиций основного протокола. Почему? Во-первых, его поддерживает Microsoft. Современные операционные системы Windows не поддерживают этот протокол, однако в следующем поколении Windows NT поддержка предусмотрена. Даже без такой поддержки L2TP имеет потенциальные возможности стать более быстрым протоколом по сравнению с РРТР, поскольку он предусматривает одноканальные дейтаграммы UDP, а не двухканальные, используемые в РРТР. В принципах организации L2TP не предусмотрено установление логического канала связи, что уменьшает надежность протокола. Однако в настоящее время надежность имеет меньшее значение, поскольку (по крайней мере, в США), качество каналов связи значительно улучшилось и контроль ошибок уже не столь важен. Большое значение имеет преимущество пакетов UDP перед GRE, поскольку большинство брандмауэров поддерживают обработку пакетов UDP, а не GRE. Кроме того, L2TP более гибок по сравнению с РРТР, поскольку обеспечивает поддержку архитектуры большинства глобальных сетей, а не только Internet.

Примечание:
На конец 1998 г. стандарт протокола L2TP все еще не был выпущен. На рассмотрение IETF представлен предварительный вариант стандарта, хотя окончательный стандарт пока еще разрабатывается. РРТР вообще никогда не описывался как законченный стандарт, так что его отсутствие не препятствует распространению L2TP.

Хотя L2TP и позволяет использовать встроенные функции защиты РРР, в нем предусмотрено взаимодействие с протоколом IPSec, a PPP используется только в том случае, если этот протокол сетевого уровня недоступен.

Протокол IPSec. В то время как протоколы L2TP и РРТР относятся к числу стандартных протоколов Microsoft, протокол IPSec относится к категории "прочее", Он представляет собой протокол сетевого уровня, определяющий процедуру шифрования пакетов IP и назначения новых заголовков, с помощью которых они отсылаются по сети IP. Весь процесс идентификации выполняется с помощью сертификатов (вложений) в передаваемые данные, идентифицирующих отправителя. Компьютер, инициирующий сеанс, отсылает сертификат по общедоступной сети в место назначения. Конечный узел принимает сертификат и подтверждает его идентичность собственному сертификату. Затем два компьютера используют свои открытые ключи (public keys) или секретные ключи (private keys) чтобы определить параметры (установки) сеанса, в том числе тип шифрования и сжатия, которые должны использоваться на протяжении всего сеанса.
Как указывалось выше, для обеспечения защиты в L2TP применяется (по умолчанию) протокол IPSec. Почему нельзя просто использовать IPSec и покончить с этим?
Главным образом он необходим для поддержки удаленного доступа из различных мест.
Природная форма (native form) протокола IPSec обеспечивает защиту только на уровне машины, но не на уровне пользователя. Обратите внимание: для взаимной идентификации машины на обоих концах соединения используют сертификаты, специфические для каждой машины. Обычно в различных реализациях IPSec используются соответствующие расширения (дополнения), позволяющие идентифицировать собственно пользователей, однако они не входят в стандарт.
Для защиты на уровне пользователя необходимо использовать один из протоколов Туннелирования канального уровня, позволяющих выполнить идентификацию на уровне пользователя, а затем применять алгоритм шифрования сетевого уровня. Если пользовательская база данных компьютеров вашей VPN статична, а сетевая операционная система (NOS — networking operating system) поддерживает IPSec, рекомендуем выбрать именно этот протокол.

Примечание:
Если вам не совсем понятно, Что такое защита на уровне пользователя, и чем она отличается от других форм защиты, обратитесь к гл. 15.

Образец сеанса РРТР

Допустим, вы хотите начать сеанс в VPN с клиентом удаленного доступа. Сеанс туннелирования (tunneling session) между компьютерами VPN начинается следующим образом.
1. В процессе работы в соответствии с РРР используется протокол управления каналом (LCP) для инициализации сеанса связи между двумя узлами VPN. LCP отвечает за выбор режима связи, а также используемые коэффициенты сжатия, однако фактически на этом этапе он не используется.
2. Клиент (узел, инициирующий соединение) представляет серверу для идентификации свои "верительные грамоты". С этой целью используется один из нескольких протоколов идентификации — это делается для того, чтобы не дать третьей стороне выдать себя за клиента или перехватить пароль. Сервер либо идентифицирует доступ клиента, либо прерывает связь, если не может его идентифицировать. При желании сервер может прервать соединение и перезвонить клиенту по предварительно заданному номеру. Это удваивает гарантию, что вызывающая сторона — именно клиент сети.

Примечание:
Протоколы идентификации паролей рассматриваются в гл. 14.

3. Клиентной машине назначается адрес, а также методы сжатия и шифрования данных, выбранные с помощью протокола LPC.

С этого момента связь установлена: клиент идентифицирован, все параметры сеанса выбраны и реализованы. Теперь можно без опасений начинать передачу данных.
Всегда ли использование сетей VPN предпочтительнее других методов удаленного доступа? Не обязательно. Конечно, сети VPN позволяют сэкономить деньги при передаче на дальние расстояния, однако имеют один недостаток: поскольку клиенты VPN используют в качестве среды передачи общедоступную сеть Internet наравне с множеством других пользователей, производительность сети может быть невелика. Да, ваш трафик останется тайным, но даже в своей коричневой оберточной бумаге он должен: конкурировать за полосу пропускания с трафиком остальных клиенток. 

Смотрите также

Программы отображения состояния
Некоторые программы импортируют информацию из листингов /proc/net/ wireless в графические дисплеи. Основное различие между этими программами проявляется в формате дисплея. Wvlanmon W ...

KarlNet Configurator
Как мы ранее упоминали в этой главе, AirPort Base Station представляет собой версию точки доступа, разработанную KarlNet. KarlNet не гарантирует, что ее собственная программа KarlNet Con ...

Управление сетевым доступом к ресурсам компьютера
Если вы хотите, чтобы другие пользователи локальной сети могли обращаться к ресурсам вашего компьютера, таким как принтеры, диски, файлы и папки, вы должны открыть сетевой доступ к этим ресурсам и уст ...