Как сделать vpn между офисами. · Тип доступа необходимый для пользователей сети VPN. И как это сделать

Интернет прочно вошел в нашу жизнь, и если ранее, в годы господства аналоговых модемов, для выхода в Интернет приходилось учитывать и объем трафика, и время соединения, то сегодня нормой стало безлимитное подключение к Интернету. То есть если Интернета нет в любое время и в любом «объеме», то это уже что-то из ряда вон выходящее. Причем если раньше наличие безлимитного Интернета считалось стандартом де-факто для корпоративных сетей, то сегодня это уже стало нормой для конечных пользователей. Вместе с развитием Интернета меняется и концептуальная модель его использования. Появляются все новые сервисы, например видео по запросу и VoIP, развиваются пиринговые файлообменные сети (BitTorrent) и пр. В последнее время очень популярной стала организация виртуальных частных сетей (VPN) через Интернет с возможностью организации удаленного доступа к любому компьютеру в составе этой сети. О том, как это можно сделать, и пойдет речь в настоящей статье.

Зачем это нужно

Организация VPN-сетей через Интернет или внутри локальной сети имеет много сценариев использования: сетевые игры в Интернете в обход игровых серверов (точно так же, как игры по локальной сети), создание закрытой от посторонних сети для передачи конфиденциальной информации, возможность удаленного и безопасного управления компьютерами (полный контроль над удаленным ПК), организация защищенного доступа для сотрудников, находящихся в командировке, к ресурсам корпоративной сети, связь по виртуальной сети отдельных офисов (локальных сетей).

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

Однако такой подход неприменим в случае, когда пользователю необходимо получить удаленный доступ к своему домашнему компьютеру. Вряд ли ситуацию, когда дома поднимается отдельный VPN-сервер, можно считать обычной. Впрочем, не стоит отчаиваться. Задача создания VPN-сети решаема и под силу даже начинающему пользователю. Для этой цели существует специальная программа Hamachi, которую можно свободно скачать из Интернета (http://www.hamachi.cc/download/list.php). Что особенно радует, так это наличие ее русифицированной версии, так что освоить программу сможет любой пользователь.

Hamachi 1.0.2.2

Итак, Hamachi (текущая версия - 1.0.2.2) - это программа, позволяющая создать виртуальную частную сеть (VPN) через Интернет и объединить в ней несколько компьютеров. После создания такой сети пользователи могут устанавливать VPN-сессии между собой и работать в этой сети точно так же, как в обычной локальной (LAN) сети с возможностью обмена файлами, удаленного администрирования компьютеров и т.д. Преимущество VPN-сети заключается в том, что она полностью защищена от несанкционированного вмешательства и невидима из Интернета, хотя и существует в нем.

Программа Hamachi должна быть установлена на всех компьютерах, которые предполагается объединить в виртуальную частную сеть.

Виртуальная сеть создается с помощью специализированного сервера Hamachi в Интернете. Для соединения с этим сервером используются порты 12975 и 32976. Первый порт (12975) применяется только для установки соединения, а второй - во время работы. Впрочем, обычным пользователям вряд ли потребуется столь подробная информация.

После того как с помощью сервера Hamachi создается виртуальная сеть между выбранными компьютерами, обмен информацией между клиентами VPN-сети происходит уже напрямую, то есть без участия сервера Hamachi. Для обмена данными между клиентами VPN-сети используется протокол UDP.

Установка программы

Программа Hamachi устанавливается на компьютеры с операционной системой Windows 2000/XP/2003/Vista. Существуют также консольные версии программы для Linux и Mac OS X. Далее мы рассмотрим установку и настройку программы на примере операционной системы Windows XP.

Установка программы Hamachi достаточно проста и не вызывает проблем (особенно учитывая, что интерфейс запускаемого мастера установки русский). После начала установки программы на компьютере запускается мастер установки, который предложит согласиться с лицензионным соглашением, выбрать папку для установки программы (рис. 1), создать иконку на рабочем столе и т.д.

Среди полезных опциональных возможностей, которые можно активировать в процессе установки программы, - автоматический запуск Hamachi при загрузке компьютера и блокирование уязвимых служб для соединений Hamachi (рис. 2). В последнем случае будет заблокирована служба Windows File Sharing для виртуального сетевого адаптера Hamachi. В результате другие пользователи VPN-сети не получат доступа к имеющимся в вашем компьютере файлам и папкам, открытым для совместного использования. При этом данные файлы и папки останутся доступными для обычных пользователей локальной сети, для соединения с которыми не применяется VPN-соединение.

Рис. 1. Мастер установки программы Hamachi позволяет указать папку
для размещения программы, создать иконку на рабочем столе
и выбрать опциональную возможность автоматического запуска программы
при загрузке компьютера

Кроме блокирования службы Windows File Sharing, блокирование уязвимых служб для соединений Hamachi также приводит к блокированию удаленного доступа к определенным службам Windows, которые часто подвергаются атакам. Соответственно если вы используете программу Hamachi для соединения с надежными клиентами, которым вы доверяете, то опцию блокирования уязвимых служб лучше отключить.

Рис. 2. Мастер установки программы Hamachi позволяет заблокировать
уязвимые службы для соединений Hamachi

На последнем этапе мастер установки предложит выбрать, какой вариант программы установить: базовую версию или Premium. Программа Hamachi существует в двух версиях. Базовая версия является бесплатной, а версия Premium, обладающая более широкими возможностями, - платной. Отметим, что для большинства пользователей вполне достаточно бесплатной базовой версии программы (о детальных отличиях базовой версии от версии Premium мы расскажем чуть позже), но стандартный поход следующий: сначала устанавливается Premium-версия на 45 дней (бесплатно), а по истечении этого периода автоматически происходит переход к базовой версии.

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

Первый запуск программы

При первом запуске программы будет создана ваша учетная запись. На этом этапе необходимо задать имя компьютера, под которым он будет виден другим пользователям VPN-сети (рис. 3).

Рис. 3. Задание имени компьютера, под которым
он будет виден другим пользователям VPN-сети

Когда имя компьютера задано, программа устанавливает соединение с сервером базы данных Hamachi и запрашивает IP-адрес, который будет присвоен виртуальному сетевому адаптеру Hamachi и будет использоваться в дальнейшем для установления VPN-соединения. Каждому клиенту Hamachi присваивается IP-адрес из диапазона 5.0.0.0/8 (маска подсети 255.0.0.0), который в принципе не относится к зарезервированным для применения в Интернете диапазонам адресов. К таким зарезервированным для частного использования в локальных сетях относятся следующие диапазоны: 10.0.0.0/8 (диапазон от 10.0.0.0 до 10.255.255.254), 172.16.0.0/12 (диапазон от 172.16.0.0 до 172.31.255.254) и 192.168.0.0/16 (диапазон от 192.168.0.0 до 192.168.255.254). Однако диапазон 5.0.0.0/8 на протяжении уже более 10 лет зарезервирован организацией IANA (Internet Assigned Numbers Authority - американская организация, управляющая пространствами IP-адресов) и не используется в качестве публичных (внешних) адресов Интернета. Таким образом, диапазон 5.0.0.0/8, с одной стороны, относится к диапазону внешних (публичных) адресов Интернета, то есть исключена вероятность, что присвоенный вам IP-адрес уже применяется в вашей локальной сети (в локальных сетях используются только зарезервированные для частного применения IP-адреса), а с другой - эти адреса еще никем не заняты.

После присвоения вам IP-адреса из диапазона 5.0.0.0/8 он становится своеобразным идентификатором вашего компьютера в виртуальной частной сети. Этот IP-адрес присваивается виртуальному сетевому адаптеру Hamachi. Так, если набрать в командной строке команду ipconfig/all, то кроме настроек сетевого интерфейса реального сетевого адаптера (который физически присутствует в вашем ПК) можно обнаружить, что появился еще один виртуальный Ethernet-адаптер Hamachi с присвоенными ему MAC-адресом, IP-адресом, маской подсети, IP-адресом шлюза и т.д. (рис. 4).

Рис. 4. После первого запуска программы виртуальному сетевому адаптеру
Hamachi присваивается IP-адрес из диапазона 5.0.0.0/8 и производится настройка
сетевого интерфейса

Итак, после того как программа Hamachi сконфигурировала виртуальный сетевой адаптер, можно приступать к работе с программой.

На этом этапе ваш компьютер еще не является членом какой-либо виртуальной частной сети, поэтому первым делом нужно подключиться к уже существующей виртуальной частной сети или создать новую VPN-сеть.

Работа с программой

Интерфейс программы очень прост (рис. 5). Имеется всего три функциональных кнопки: «включить/выключить», кнопка сетевого меню и кнопка системного меню.

Рис. 5. Интерфейс программы
Hamachi очень простой -
всего три функциональные кнопки

Для создания новой VPN-сети или присоединения компьютера к уже существующей нажмите на кнопку сетевого меню и выберите соответствующий пункт (рис. 6).

Рис. 6. Кнопка сетевого меню позволяет
создать новую VPN-сеть или присоединить
компьютер к уже существующей

Присоединение ПК к существующей виртуальной сети и выход из нее

Если требуется подсоединить компьютер к уже существующей виртуальной сети и известно ее название и пароль (в случае, если он используется), то в сетевом меню выберите пункт Войти в существующую сеть… Далее откроется окно, в котором необходимо задать имя сети и пароль (рис. 7).

Рис. 7. Добавление компьютера
в существующую виртуальную сеть

После этого в окне программы появятся название сети и список присоединенных к ней компьютеров (кроме вашего) - рис. 8.

Рис. 8. После присоединения компьютера
к виртуальной сети в окне программы
отображается список присоединенных
к ней компьютеров

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

Хуже всего, когда рядом с названием компьютера стоит желтая точка - это означает, что прямое соединение с ним по каким-то причинам установить не удалось. Если желтым цветом отображается название компьютера, то это означает, что связь с ним потеряна.

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

Если название компьютера и точка около его имени отображаются серым цветом, то это означает, что компьютер хотя и присоединен к данной виртуальной сети, но недоступен (например, ПК выключен, нет соединения с Интернетом или не запущена программа Hamachi).

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

Создание новой сети и удаление созданной сети

Если требуется создать новую виртуальную сеть, то в сетевом меню выберите пункт Создать новую сеть… Откроется окно, в котором необходимо задать имя создаваемой сети и пароль, который будут использовать другие пользователи для присоединения к этой сети (рис. 9).

Рис. 9. Создание новой VPN-сети

После создания новой сети к ней можно присоединять компьютеры пользователей. Если сеть создана вами, то вы являетесь ее администратором и получаете полный контроль над нею, которого лишены другие пользователи. При этом важно помнить, что управлять созданной сетью можно только с того компьютера, на котором она была создана. Если точнее, то управлять сетью можно только с компьютера, которому присвоен точно такой же виртуальный IP-адрес, как тот, что использовался при создании виртуальной сети. Почему это замечание так важно? Представьте себе ситуацию: вы установили программу Hamachi и создали новую VPN-сеть. Потом вы полностью удалили (включая все конфигурационные файлы) программу Hamachi и через некоторое время установили ее вновь. Вам будет присвоен новый виртуальный IP-адрес, но, используя его, вы уже не сможете контролировать созданную вами ранее VPN-сеть.

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

Другие действия с компьютерами сети

Если вы присоединились к сети, то можете совершать над присоединенными к ней компьютерами следующие действия:

  • проверка доступности;
  • просмотр папок;
  • отправка сообщения;
  • копирование адреса;
  • блокирование;
  • установка метки.

Для того чтобы выполнить одно из них, щелкните на имени компьютера правой кнопкой мыши и в ниспадающем меню выберите соответствующий пункт (рис. 10).

Рис. 10. Список возможных действий
с выбранным компьютером сети

При выборе пункта Проверить доступность будет выполнена обычная команда ping по адресу соответствующего компьютера.

Пункт Просмотреть папки позволяет получить доступ к открытым для совместного доступа (Sharing) папкам на компьютере.

Пункт Отправить сообщение дает возможность обмениваться сообщениями между отдельными компьютерами сети наподобие тому, как это делается в ICQ.

Пункт Копировать адрес вставляет в буфер обмена IP-адрес выбранного компьютера, что удобно, если требуется использовать этот адрес в других программах (например, удаленного администрирования).

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

Пункт Установить метку позволяет выбрать формат отображения атрибутов компьютера в сети. По умолчанию отображается IP-адрес компьютера и его название. Можно задать отображение только имени компьютера или только IP-адреса.

Настройка программы

Для того чтобы получить доступ к настройке программы, необходимо нажать на кнопку системного меню и выбрать пункт Установки… (рис. 11).

Рис. 11. Получение доступа к настройкам
программы

После этого откроется окно Статус и конфигурация , позволяющее произвести детальную настройку программы (рис. 12).

Рис. 12. Окно детальной конфигурации программы

Собственно, здесь все достаточно просто, и вряд ли нужны подробные комментарии, поэтому просто перечислим возможности, которые можно реализовать в окне конфигурации. Итак, в этом окне можно изменить имя компьютера, произвести детальную настройку соединения, задать тип запуска программы, заблокировать или разблокировать уязвимые службы Windows, заблокировать новых членов сети и реализовать другие, менее значимые опции. Среди важных возможностей отметим отключение шифрования при передаче данных между отдельными компьютерами сети. Для того чтобы сделать это, необходимо нажать на иконку Окно и в группе Внешний вид отметить пункт Show «Advanced…» per menu item (рис. 13).

Рис. 13. Добавление пункта Advanced…
в ниспадающее меню

После этого, если на имени компьютера, присоединенного к сети, щелкнуть правой кнопкой мыши, в ниспадающем меню появится пункт Advanced… Если выбрать его, то откроется окно Tunnel Configuration , позволяющее изменить настройки VPN-туннеля. Для отключения шифрования в пункте Encryption необходимо выбрать значение Оff . В этом случае данные с вашего компьютера будут передаваться на выбранный ПК в незашифрованном виде. Однако в обратном направлении данные будут передаваться зашифрованными. Для того чтобы полностью отключить шифрование для VPN-туннеля между двумя компьютерами, его нужно отключить на обоих компьютерах.

Отметим, что отключать шифрование следует только в исключительных случаях, поскольку сама процедура шифрования вряд ли отразится на трафике. Дело в том, что трафик будет определяться пропускной способностью вашего интернет-канала, а отнюдь не применением или отсутствием шифрования. Только в том случае, если VPN-туннель образуется между компьютерами в пределах одной локальной сети и его пропускная способность составляет порядка 100 Мбит/с, использование шифрования может немного снизить максимальную скорость передачи (до 70-80 Мбит/с).

Заключение

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

В то же время нужно отметить, что далеко не всегда удается установить прямое соединение между отдельными компьютерами. И несмотря на то, что на сайте производителя утверждается, что программа легко «пробивает» маршрутизаторы и NAT-устройства, на самом деле все не столь оптимистично. В документации к программе утверждается, что в 5% случаев прямое соединение между отдельными компьютерами установить не удается, однако, как нам кажется, эта цифра явно занижена. Реальная ситуация такова: если речь идет о соединении двух компьютеров, которым присваивается динамический или статический публичный IP-адрес, то проблем не возникает. То есть если у вас дома имеется всего один компьютер с выходом в Интернет и вам нужно соединиться с пользователем, у которого также один компьютер с выходом в Интернет, то никаких проблем не будет. Как показывает практика, не возникает проблем установления соединения и между компьютером пользователя с присвоенным ему динамическим или статическим публичным IP-адресом и компьютером в составе локальной сети, защищенной маршрутизатором. Однако если связь устанавливается между двумя компьютерами, принадлежащими разным локальным сетям, защищенным маршрутизаторами, то возможны проблемы и не факт, что прямое соединение будет установлено. То есть соединение может быть установлено, но с большой вероятностью оно будет не прямое, а через сервер Hamachi. Соответственно скорость такого канала связи окажется очень низкой и проку от такого соединения будет не много. К примеру, у вас дома выход в Интернет реализован с использованием беспроводного маршрутизатора, то есть ваш компьютер находится в составе домашней локальной сети и ему присваивается IP-адрес из диапазона зарезервированных для частного применения адресов, а публичный адрес присваивается WAN-порту маршрутизатора, через который вы выходите в Интернет. Если вы пытаетесь установить соединение с другим компьютером, который также находится в составе локальной сети (например, с рабочим компьютером в офисе или с компьютером пользователя, у которого дома развернута локальная сеть и используется маршрутизатор), то в большинстве случаев появляются проблемы.

В руководстве пользователя программы Hamachi описывается, каким образом можно избежать подобных проблем. Для этого предлагается использовать фиксированный (а не динамический) UDP-порт и реализовать функцию перенаправления портов на маршрутизаторе. Однако, как показывает практика, перенаправление портов или применение демилитаризованной зоны в маршрутизаторе далеко не всегда помогает.

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

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

Возьмем произвольную рабочую станцию, подключенную к сети, каким образом она определяет куда посылать тот или иной пакет? Для этой цели предназначена таблица маршрутизации , которая содержит перечень правил для всех возможных адресов назначения. На основании этой таблицы хост (или маршрутизатор) принимают решение, на какой интерфейс и адрес назначения отправить пакет, адресованный определенному получателю.

Route print

В итоге мы увидим следующую таблицу:

Все очень просто, нас интересует секция IPv4 таблица маршрута , первые две колонки содержат адрес назначения и маску сети, затем следует шлюз - узел которому следует перенаправить пакеты для указанного назначения, интерфейс и метрика. Если в колонке Шлюз указано On-link , то это означает что адрес назначения находится в одной сети с хостом и доступен без маршрутизации. Метрика определяет приоритет правил маршрутизации, если адрес назначения имеет в таблице маршрутов несколько правил, то используется тот, что имеет меньшую метрику.

Наша рабочая станция принадлежит к сети 192.168.31.0 и, согласно таблице маршрутов, все запросы к данной сети отправляет на интерфейс 192.168.31.175, что соответствует сетевому адресу это станции. Если адрес назначения находится в одной сети с адресом источником, то доставка информации происходит без использования IP-маршрутизации (сетевой уровень L3 модели OSI), на канальном уровне (L2). В противном случае пакет отправляется узлу, указанному в соответствующему сети назначения правилу таблицы маршрутов.

Если такого правила нет, то пакет отправляется по нулевому маршруту , который содержит адрес основного шлюза сети. В нашем случае это адрес роутера 192.168.31.100. Нулевым этот маршрут называется потому, что адресом назначения для него указывается 0.0.0.0. Этот момент является очень важным для дальнейшего понимания процесса маршрутизации: все пакеты, не принадлежащие данной сети и не имеющие отдельных маршрутов, всегда отправляются основному шлюзу сети.

Что сделает маршрутизатор, получив такой пакет? Прежде всего разберемся, чем отличается маршрутизатор от обычной сетевой станции. Если говорить крайне упрощенно, то маршрутизатором (роутером) является сетевое устройство, которое настроено передавать пакеты между сетевыми интерфейсами. В Windows это достигается включением службы Маршрутизация и удаленный доступ , в Linux заданием опции ip_forward .

Решение о передаче пакетов в этом случае также принимается на основании таблицы маршрутизации. Посмотрим, что содержит данная таблица на самом обычном роутере, например, описанном нами в статье: . В Linux-системах получить таблицу маршрутов можно командой:

Route -n

Как видим, наш роутер содержит маршруты к известным ему сетям 192.168.31.0 и 192.168.3.0, а также нулевой маршрут к вышестоящему шлюзу 192.168.3.1.

Адрес 0.0.0.0 в колонке шлюза (Gateway) обозначает, что адрес назначения доступен без маршрутизации. Таким образом все пакеты с адресами назначения в сетях 192.168.31.0 и 192.168.3.0 будут отправлены на соответствующий интерфейс, а все остальные пакеты будут переданы дальше по нулевому маршруту.

Следующий важный момент - адреса приватных (частных) сетей, они же "серые", к ним относятся три диапазона:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Данные адреса могут свободно использоваться любым желающим и поэтому они не маршрутизируются . Что это значит? Любой пакет с адресом назначения принадлежащим одной из этих сетей будет отброшен маршрутизатором, если для него нет отдельной записи в таблице маршрутизации. Проще говоря, маршрут по умолчанию (нулевой) для таких пакетов маршрутизатором не применяется. Также следует понимать, что данное правило применяется только при маршрутизации, т.е. при передаче пакетов между интерфейсами, исходящий пакет с "серым" адресом будет отправлен по нулевому маршруту, даже если данный узел сам является маршрутизатором.

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

Самое время проверить, как это все работает. Попробуем с нашего узла 192.168.31.175 пропинговать узел 192.168.3.106, который находится в сети за роутером. Как видим, это нам удалось, хотя таблица маршрутов узла не содержит никаких сведений о сети 192.168.3.0.

Как это стало возможным? Так как узел-источник ничего не знает о сети назначения, то он отправит пакет на адрес шлюза. Шлюз проверит свою таблицу маршрутов, обнаружит там запись для сети 192.168.3.0 и отправит пакет на соответствующий интерфейс, в этом несложно убедиться выполнив команду трассировки, которая покажет весь путь нашего пакета:

Tracert 192.168.3.106

Теперь попробуем выполнить пинг узла 192.168.31.175 с узла 192.168.3.106, т.е. в обратном направлении. У нас ничего не вышло. Почему?

Давайте внимательно посмотрим таблицу маршрутизации. Никаких записей для сети 192.168.31.0 она не содержит, поэтому пакет будет отправлен маршрутизатору 192.168.3.1, как основному шлюзу сети, который данный пакет отбросит, так как никаких данных о сети назначения не имеет. Как быть? Очевидно, что следует отправить пакет тому узлу, который содержит нужную информацию и может передать пакет по назначению, в нашем случае это роутер 192.168.31.100, который в данной сети имеет адрес 192.168.3.108.

Чтобы пакеты для сети 192.168.31.0 отправлялись именно ему, нам нужно создать отдельный маршрут.

192.168.31.0 mask 255.255.255.0 192.168.3.108

В дальнейшем мы будем придерживаться такой записи маршрутов, что она значит? Все просто, пакеты для сети 192.168.31.0 с маской 255.255.255.0 следует отправлять узлу 192.168.3.108. В Windows маршрут можно добавить командой:

Route add 192.168.31.0 mask 255.255.255.0 192.168.3.108

Route add -net 192.168.31.0 netmask 255.255.255.0 gw 192.168.3.108

Попробуем.

Давайте проанализируем результат, в таблице маршрутизации появился маршрут и все пакеты к сети 192.168.31.0 теперь отправляются роутеру этой сети, что видно из ответа команды ping, но до назначения не доходят. В чем дело? Самое время вспомнить, что одной из основных задач роутера является не только маршрутизация, но и функция сетевого экрана, который явно запрещает доступ из внешней сети внутрь. Если мы временно заменим данное правило разрешающим, то все будет работать.

Добавленные вышеуказанными командами маршруты сохраняются до перезагрузки узла, это удобно, даже если вы сильно накуролесили, достаточно просто выполнить перезагрузку, чтобы отменить внесенные изменения. Чтобы добавить постоянный маршрут в Windows выполните команду:

Route add 192.168.31.0 mask 255.255.255.0 192.168.3.108 -p

В Linux в /etc/network/interfaces , после описания интерфейса, следует добавить:

Post-up route add -net 192.168.31.0 netmask 255.255.255.0 gw 192.168.3.108

Кстати, это не единственный способ настроить доступ из сети 192.168.3.0 в сеть 192.168.31.0, вместо того, чтобы добавлять маршрут для каждого узла, можно "научить" правильно отправлять пакеты маршрутизатор.

В этом случае узел источник не имеет записей о сети назначения и отправит пакет шлюзу, в прошлый раз шлюз такой пакет отбросил, но теперь мы добавили в его таблицу маршрутизации нужный маршрут, и он отправит пакет узлу 192.168.3.108, который доставит его по назначению.

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

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

Самый простой случай, когда VPN-сервер (клиент) и маршрутизатор сети располагаются на одном хосте. Рассмотрим схему ниже:

Так как теорию, надеемся, вы усвоили и закрепили на практике, проанализируем маршрут пакетов из сети офиса 192.168.31.0 в сеть филиала 192.168.44.0, такой пакет будет отправлен на шлюз по умолчанию, который является также VPN-сервером. Однако данный узел ничего не знает о сети назначения и должен будет откинуть данный пакет. В тоже время мы уже можем обратиться к маршрутизатору филиала по его адресу в VPN-сети 10.8.0.2, так как данная сеть доступна с маршрутизатора офиса.

Чтобы получить доступ к сети филиала нам нужно предать пакеты для этой сети узлу, который является частью этой сети или имеет маршрут к ней. В нашем случае это маршрутизатор филиала. Поэтом на маршрутизаторе офиса добавляем маршрут:

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

Возьмем схему посложнее, когда маршрутизатор и VPN-сервер (клиент) являются разными узлами сети. Здесь возможны два варианта, передать нужный пакет непосредственно VPN-серверу (клиенту) или заставить это делать шлюз.

Сначала рассмотрим первый вариант.

Для того, чтобы пакеты для сети филиала попали в VPN-сеть мы должны добавить на каждый клиент сети маршрут к VPN-серверу (клиенту), в противном случае они будут отправлены шлюзу, который их отбросит:

Однако VPN-сервер ничего не знает о сети филиала, но может отправлять пакеты в пределах VPN-сети, где есть интересующий нас узел сети филиала, поэтому направим пакет туда, добавив на VPN-сервере (клиенте) маршрут:

192.168.44.0 mask 255.255.255.0 10.8.0.2

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

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

192.168.44.0 mask 255.255.255.0 192.168.31.101

Про задачу VPN-сервера (клиента) мы упоминали выше, он должен доставить пакеты тому узлу VPN-сети, который является частью сети назначения или имеет маршрут к ней.

192.168.44.0 mask 255.255.255.0 10.8.0.2

Для доступа из сети филиала в сеть офиса потребуется добавить соответствующие маршруты на сетевые узлы филиала. Сделать это можно любым удобным способом, не обязательно также, как это сделано в офисе. Простой реальный пример: все компьютеры филиала должны иметь доступ к сети офиса, но не все компьютеры офиса должны иметь доступ в филиал. В таком случае в филиале добавляем маршрут к VPN-серверу (клиенту) на маршрутизаторе, а в офисе добавляем его только на нужные компьютеры.

В целом, если вы представляете, как работает маршрутизация и каким образом принимается решение о перенаправлении пакетов, а также умеете читать таблицу маршрутизации, то настройка правильных маршрутов не должна вызывать затруднений. Надеемся, что после прочтения данной статьи у вас их также не будет.

  • Теги:

Please enable JavaScript to view the

Хотя тема и избита, но тем не менее, часто многие испытывают затруднения – будь то начинающий системный администратор или же просто продвинутый пользователь, которого начальство заставило выполнять функции эникейщика. Парадоксально, но несмотря на обилие информации по VPN, найти внятный вариант — целая проблема. Более того, даже складывается впечатление, что один написал – другие же нагло скопировали текст. В итоге, поисковая выдача буквально захламлена обилием ненужной информации, из которой стоящее редко можно вычленить. Поэтому я решил в своей манере разжевать все нюансы (может, кому и пригодится).

Итак, что такое VPN? VPN (Virtual Private Network - виртуальная частная сеть) - обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (в том числе и интернет). В зависимости от применяемых протоколов и назначений, VPN может обеспечивать соединения трёх видов: узел-узел , узел-сеть и сеть-сеть. Как говорится, без комментариев.

Стереотипная схема VPN

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

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

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

Способов решения много. Все зависит от того, что у вас есть под рукой. Вообще, VPN легко построить с помощью железного решения на базе различных роутеров Zyxel. В идеале, может случиться и то, что интернет обоим офисам раздает один провайдер и тогда у вас вообще проблем не возникнет (достаточно просто обратиться к прову). Если фирма богата, то может себе позволить и CISCO. Но обычно все решается программными средствами.

А тут выбор велик – Open VPN, WinRoute (учтите, что он платный), средства операционной системы, программы типа Hamanchi (честно говоря, в редких случаях она может и выручит, но полагаться на нее не рекомендую – бесплатная версия имеет ограничение в 5 хостов и еще один существенный минус заключается в том, что все ваше соединение зависит хоста Hamanchi, что не всегда гуд). В моем случае идеально было бы воспользоваться OpenVPN – бесплатной программой, способной незатейливо создать надежное VPN-соединение. Но мы, как всегда, пойдем по пути наименьшего сопротивления.

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

В Windows семейства NT уже вшиты зачаточные возможности серверов. Поднять VPN-сервер на одной из машин не составит труда. В качестве сервера я буду приводить примеры скриншотов Windows 7, но общие принципы будут теми же самыми, что и для старушки XP.

Учтите, что для соединения двух сетей, нужно чтобы они имели разный диапазон ! Например, в головном офисе диапазон может быть 192.168.0.x, а в филиале – 192.168.20.x (или любой диапазон серых ip). Это очень важно, так что будьте внимательны. Теперь, можно приступать к настройке.

Зайдите на сервере VPN в Панель управления -> Центр управления сетями и общим доступом ->изменение параметров адаптера.

Теперь нажмите клавишу Alt, вызвав меню. Там в пункте Файл нужно выбрать «Новое входящее подключение».

Поставьте галочки тем пользователям, которые могут входить в систему по VPN. Я настоятельно рекомендую Добавить нового пользователя, назвать его понятным именем и назначить пароль.

После того, как вы это сделали, нужно в следующем окне выбрать как будут подключаться пользователи. Ставьте галку «Через интернет». Теперь вам остается назначить диапазон адресов виртуальной сети. Причем, можно выбрать сколько всего компьютеров может участвовать в обмене данных. В следующем окне выберите протокол TCP/IP версии 4 нажмите «Свойства»:

У вас появится то, что у меня на скриншоте. Если вы хотите, чтобы клиент получил доступ к локальной сети, в которой находится сервер, просто ставьте галку «Разрешить звонящим доступ к локальной сети». В пункте «Назначение IP адресов» я рекомендую указать адреса вручную по принципу, который я выше описал. В моем примере я дал диапазону всего двадцать пять адресов, хотя мог указать просто и два и 255.

После этого жмем на кнопку «Разрешить доступ».

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

Теперь остается дело за малым – настроить VPN-клиента. На клиентской машине также идете в Центр управления сетями и общим доступом и выбираете Настройка нового подключения или сети . Теперь вам нужно будет выбрать пункт «Подключение к рабочему месту»

Жмете на «Использовать мое подключение к Интернету и теперь вас выбросит в окно, где нужно будет ввести адрес нашего интернет-шлюза в филиале. У меня он имеет вид 95.2.x.x

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

Как вариант, при подключении может выскочить ошибка 800, сигнализируящая о том, что с подключением что-то не то. Это проблема брэндмауэра либо клиента, либо сервера. Конкретно я сказать вам не могу – все определяется экспериментально.

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

В частности, в части 2 мы с вами рассмотрим настройку OPenVPN под Windows и Linux.

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

И здесь мы подробно рассмотрим vpn подключение: что это такое, для чего нужен vpn туннель, и как использовать впн соединение.

Данный материал является своего рода вступительным словом к циклу статей, где мы расскажем, как создать vpn на различных ОС.

vpn подключение что это такое?

Итак, виртуальная частная сеть vpn – это технология, обеспечивающая защищённую (закрытую от внешнего доступа) связь логической сети поверх частной или публичной при наличии высокоскоростного интернета.

Такое сетевое соединение компьютеров (географически удаленных друг от друга на солидное расстояние) использует подключение типа «точка - точка» (иными словами, «компьютер-компьютер»).

Научно, такой способ соединения называется vpn туннель (или туннельный протокол). Подключиться к такому туннелю можно при наличии компьютера с любой операционной системой, в которую интегрирован VPN-клиент, способный делать «проброс» виртуальных портов с использованием протокола TCP/IP в другую сеть.

Для чего нужен vpn?

Основное преимущество vpn заключается в том, что согласующим сторонам необходима платформа подключения, которая не только быстро масштабируется, но и (в первую очередь) обеспечивает конфиденциальность данных, целостность данных и аутентификацию.

На схеме наглядно представлено использование vpn сетей.

Предварительно на сервере и маршрутизаторе должны быть прописаны правила для соединений по защищённому каналу.

Принцип работы vpn

Когда происходит подключение через vpn, в заголовке сообщения передаётся информация об ip-адресе VPN-сервера и удалённом маршруте.

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

Этап VPN шифрования реализуется на стороне отправителя, а расшифровываются данные у получателя по заголовку сообщения (при наличии общего ключа шифрования).

После правильной расшифровки сообщения между двумя сетями устанавливается впн соединение, которое позволяет также работать в публичной сети (например, обмениваться данными с клиентом 93.88.190.5).

Что касается информационной безопасности, то интернет является крайне незащищенной сетью, а сеть VPN с протоколами OpenVPN, L2TP /IPSec ,PPTP, PPPoE – вполне защищенным и безопасным способом передачи данных.

Для чего нужен vpn канал?

vpn туннелирование используется:

Внутри корпоративной сети;

Для объединения удалённых офисов, а также мелких отделений;

Для обслуживания цифровой телефонии с большим набором телекоммуникационных услуг;

Для доступа к внешним IT-ресурсам;

Для построения и реализации видеоконференций.

Зачем нужен vpn?

vpn соединение необходимо для:

Анонимной работы в сети интернет;

Загрузки приложений, в случае, когда ip адрес расположен в другой региональной зоне страны;

Безопасной работы в корпоративной среде с использованием коммуникаций;

Простоты и удобства настройки подключения;

Обеспечения высокой скорости соединения без обрывов;

Создания защищённого канала без хакерских атак.

Как пользоваться vpn?

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

Vpn: что это такое в телефоне?

Доступ через vpn в телефоне (айфоне или любом другом андроид-устройстве) позволяет при использовании интернета в общественных местах сохранить анонимность, а также предотвратить перехват трафика и взлом устройства.

VPN-клиент, установленный на любой ОС, позволяет обойти многие настройки и правила провайдера (если тот установил какие-то ограничения).

Какой vpn выбрать для телефона?

Мобильные телефоны и смартфоны на ОС Android могут использовать приложения из Google Playmarket:

  • - vpnRoot, droidVPN,
  • - браузер tor для сёрфинга сетей,он же orbot
  • - InBrowser, orfox (firefox+tor),
  • - SuperVPN Free VPN Client
  • - OpenVPN Connect
  • - TunnelBear VPN
  • - Hideman VPN

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

Но основные задачи использования VPN в телефоне – это проверка корпоративной почты, создание видеоконференций с несколькими участниками, а также проведение совещаний за пределами организации (например, когда сотрудник в командировке).

Что такое vpn в айфоне?

Рассмотрим, какой впн выбрать и как его подключить в айфоне более подробно.

В зависимости от типа поддерживаемой сети, при первом запуске конфигурации VPN в iphone можно выбрать следующие протоколы: L2TP, PPTP и Cisco IPSec (кроме того, «сделать» vpn подключение можно при помощи сторонних приложений).

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

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

Для телефона iphone из магазина appstore стоит выбрать:

  • - бесплатное приложение Tunnelbear, с помощью которого можно подключаться к серверам VPN любой страны.
  • - OpenVPN connect – это один из лучших VPN-клиентов. Здесь для запуска приложения необходимо предварительно импортировать rsa-ключи через itunes в телефон.
  • - Cloak – это условно бесплатное приложение, поскольку некоторое время продукт можно «юзать» бесплатно, но для использования программы по истечении демо-срока ее придется купить.

Создания VPN: выбор и настройка оборудования

Для корпоративной связи в крупных организациях или объединения удалённых друг от друга офисов используют аппаратное оборудование, способное поддерживать беспрерывную, защищённую работу в сети.

Для реализации vpn-технологий в роли сетевого шлюза могут выступать: сервера Unix, сервера Windows, сетевой маршрутизатор и сетевой шлюз на котором поднят VPN.

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

Любой роутер или vpn маршрутизатор должен обеспечивать надёжную работу в сети без «зависаний». А встроенная функция впн позволяет изменять конфигурацию сети для работы дома, в организации или удалённом офисе.

Настройка vpn на роутере

В общем случае настройка впн на роутере осуществляется с помощью веб-интерфейса маршрутизатора. На «классических» устройствах для организации vpn нужно зайти в раздел «settings» или «network settings», где выбрать раздел VPN, указать тип протокола, внести настройки адреса вашей подсети, маски и указать диапазон ip-адресов для пользователей.

Кроме того, для безопасности соединения потребуется указать алгоритмы кодирования, методы аутентификации, сгенерировать ключи согласования и указать сервера DNS WINS. В параметрах «Gateway» нужно указать ip-адрес шлюза (свой ip) и заполнить данные на всех сетевых адаптерах.

Если в сети несколько маршрутизаторов необходимо заполнить таблицу vpn маршрутизации для всех устройств в VPN туннеле.

Приведём список аппаратного оборудовании, используемого при построении VPN-сетей:

Маршрутизаторы компании Dlink: DIR-320, DIR-620, DSR-1000 с новыми прошивками или Роутер D-Link DI808HV.

Маршрутизаторы Cisco PIX 501, Cisco 871-SEC-K9

Роутер Linksys Rv082 с поддержкой около 50 VPN-туннелей

Netgear маршрутизатор DG834G и роутеры моделей FVS318G, FVS318N, FVS336G, SRX5308

Маршрутизатор Mikrotik с функцией OpenVPN. Пример RouterBoard RB/2011L-IN Mikrotik

Vpn оборудование RVPN S-Terra или VPN Gate

Маршрутизаторы ASUS моделей RT-N66U, RT-N16 и RT N-10

ZyXel маршрутизаторы ZyWALL 5, ZyWALL P1, ZyWALL USG

В последнее время в мире телекоммуникаций наблюдается повышенный интерес к виртуальным частным сетям (Virtual Private Network - VPN). Это обусловлено необходимостью снижения расходов на содержание корпоративных сетей за счет более дешевого подключения удаленных офисов и удаленных пользователей через сеть Internet. Действительно, при сравнении стоимости услуг по соединению нескольких сетей через Internet, например, с сетями Frame Relay можно заметить существенную разницу в стоимости. Однако необходимо отметить, что при объединении сетей через Internet, сразу же возникает вопрос о безопасности передачи данных, поэтому возникла необходимость создания механизмов позволяющих обеспечить конфиденциальность и целостность передаваемой информации. Сети, построенные на базе таких механизмов, и получили название VPN.

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

1. Понятие и классификация VPN сетей, их построение

1.1 Что такое VPN

VPN (англ. Virtual Private Network - виртуальная частная сеть) - логическая сеть, создаваемая поверх другой сети, например Internet. Несмотря на то, что коммуникации осуществляются по публичным сетям с использованием небезопасных протоколов, за счёт шифрования создаются закрытые от посторонних каналы обмена информацией. VPN позволяет объединить, например, несколько офисов организации в единую сеть с использованием для связи между ними неподконтрольных каналов.

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

  • инициатор;
  • маршрутизируемая сеть;
  • туннельный коммутатор;
  • один или несколько туннельных терминаторов.

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

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

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

Наиболее распространенный метод создания туннелей VPN - инкапсуляция сетевых протоколов (IP, IPX, AppleTalk и т.д.) в PPP и последующая инкапсуляция образованных пакетов в протокол туннелирования. Обычно в качестве последнего выступает IP или (гораздо реже) ATM и Frame Relay. Такой подход называется туннелированием второго уровня, поскольку «пассажиром» здесь является протокол именно второго уровня.

Альтернативный подход - инкапсуляция пакетов сетевого протокола непосредственно в протокол туннелирования (например, VTP) называется туннелированием третьего уровня.

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

1.2 Классификация VPN сетей

Классифицировать VPN решения можно по нескольким основным параметрам:

1. По типу используемой среды:

  • Защищённые VPN сети. Наиболее распространённый вариант приватных частных сетей. C его помощью возможно создать надежную и защищенную подсеть на основе ненадёжной сети, как правило, Интернета. Примером защищённых VPN являются: IPSec, OpenVPN и PPTP.
  • Доверительные VPN сети. Используются в случаях, когда передающую среду можно считать надёжной и необходимо решить лишь задачу создания виртуальной подсети в рамках большей сети. Вопросы обеспечения безопасности становятся неактуальными. Примерами подобных VPN решении являются: MPLS и L2TP. Корректнее сказать, что эти протоколы перекладывают задачу обеспечения безопасности на другие, например L2TP, как правило, используется в паре с IPSec.

2. По способу реализации:

  • VPN сети в виде специального программно-аппаратного обеспечения. Реализация VPN сети осуществляется при помощи специального комплекса программно-аппаратных средств. Такая реализация обеспечивает высокую производительность и, как правило, высокую степень защищённости.
  • VPN сети в виде программного решения. Используют персональный компьютер со специальным программным обеспечением, обеспечивающим функциональность VPN.
  • VPN сети с интегрированным решением. Функциональность VPN обеспечивает комплекс, решающий также задачи фильтрации сетевого трафика, организации сетевого экрана и обеспечения качества обслуживания.

3. По назначению:

  • Intranet VPN. Используют для объединения в единую защищённую сеть нескольких распределённых филиалов одной организации, обменивающихся данными по открытым каналам связи.
  • Remote Access VPN. Используют для создания защищённого канала между сегментом корпоративной сети (центральным офисом или филиалом) и одиночным пользователем, который, работая дома, подключается к корпоративным ресурсам с домашнего компьютера или, находясь в командировке, подключается к корпоративным ресурсам при помощи ноутбука.
  • Extranet VPN. Используют для сетей, к которым подключаются «внешние» пользователи (например, заказчики или клиенты). Уровень доверия к ним намного ниже, чем к сотрудникам компании, поэтому требуется обеспечение специальных «рубежей» защиты, предотвращающих или ограничивающих доступ последних к особо ценной, конфиденциальной информации.

4. По типу протокола:

  • Существуют реализации виртуальных частных сетей под TCP/IP, IPX и AppleTalk. Но на сегодняшний день наблюдается тенденция к всеобщему переходу на протокол TCP/IP, и абсолютное большинство VPN решений поддерживает именно его.

5. По уровню сетевого протокола:

  • По уровню сетевого протокола на основе сопоставления с уровнями эталонной сетевой модели ISO/OSI.

1.3. Построение VPN

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

  • VPN на базе брандмауэров. Брандмауэры большинства производителей поддерживают туннелирование и шифрование данных. Все подобные продукты основаны на том, что трафик, проходящий через брандмауэр шифруется. К программному обеспечению собственно брандмауэра добавляется модуль шифрования. Недостатком этого метода можно назвать зависимость производительности от аппаратного обеспечения, на котором работает брандмауэр. При использовании брандмауэров на базе ПК надо помнить, что подобное решение можно применять только для небольших сетей с небольшим объемом передаваемой информации.
  • VPN на базе маршрутизаторов. Другим способом построения VPN является применение для создания защищенных каналов маршрутизаторов. Так как вся информация, исходящая из локальной сети, проходит через маршрутизатор, то целесообразно возложить на этот маршрутизатор и задачи шифрования. Примером оборудования для построения VPN на маршрутизаторах является оборудование компании Cisco Systems. Начиная с версии программного обеспечения IOS 11.3, маршрутизаторы Cisco поддерживают протоколы L2TP и IPSec. Помимо простого шифрования проходящей информации Cisco поддерживает и другие функции VPN, такие как идентификация при установлении туннельного соединения и обмен ключами. Для повышения производительности маршрутизатора может быть использован дополнительный модуль шифрования ESA. Кроме того, компания Cisco System выпустила специализированное устройство для VPN, которое так и называется Cisco 1720 VPN Access Router (маршрутизатор доступа к VPN), предназначенное для установки в компаниях малого и среднего размера, а также в отделениях крупных организаций.
  • VPN на базе программного обеспечения. Следующим подходом к построению VPN являются чисто программные решения. При реализации такого решения используется специализированное программное обеспечение, которое работает на выделенном компьютере, и в большинстве случаев выполняет роль proxy-сервера. Компьютер с таким программным обеспечением может быть расположен за брандмауэром.
  • VPN на базе сетевой ОС. Решения на базе сетевой ОС мы рассмотрим на примере ОС Windows компании Microsoft. Для создания VPN Microsoft использует протокол PPTP, который интегрирован в систему Windows. Данное решение очень привлекательно для организаций использующих Windows в качестве корпоративной операционной системы. Необходимо отметить, что стоимость такого решения значительно ниже стоимости прочих решений. В работе VPN на базе Windows используется база пользователей, хранящаяся на Primary Domain Controller (PDC). При подключении к PPTP-серверу пользователь аутентифицируется по протоколам PAP, CHAP или MS-CHAP. Передаваемые пакеты инкапсулируются в пакеты GRE/PPTP. Для шифрования пакетов используется нестандартный протокол от Microsoft Point-to-Point Encryption c 40 или 128 битным ключом, получаемым в момент установки соединения. Недостатками данной системы являются отсутствие проверки целостности данных и невозможность смены ключей во время соединения. Положительными моментами являются легкость интеграции с Windows и низкая стоимость.
  • VPN на базе аппаратных средств. Вариант построения VPN на специальных устройствах может быть использован в сетях, требующих высокой производительности. Примером такого решения служит продукт c IPro-VPN компании Radguard. Данный продукт использует аппаратное шифрование передаваемой информации, способное пропускать поток в 100 Мбит/с. IPro-VPN поддерживает протокол IPSec и механизм управления ключами ISAKMP/Oakley. Помимо прочего, данное устройство поддерживает средства трансляции сетевых адресов и может быть дополнено специальной платой, добавляющей функции брандмауэра

2. Протоколы VPN сетей

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

  • Канальный уровень
  • Сетевой уровень
  • Транспортный уровень.

2.1 Канальный уровень

На канальном уровне могут использоваться протоколы туннелирования данных L2TP и PPTP, которые используют авторизацию и аутентификацию.

PPTP.

В настоящее время наиболее распространенным протоколом VPN является протокол двухточечной туннельной связи или Point-to-Point Tunnelling Protocol - PPTP. Разработан он компаниями 3Com и Microsoft с целью предоставления безопасного удаленного доступа к корпоративным сетям через Интернет. PPTP использует существующие открытые стандарты TCP/IP и во многом полагается на устаревший протокол двухточечной связи РРР. На практике РРР так и остается коммуникационным протоколом сеанса соединения РРТР. РРТР создает туннель через сеть к NT-серверу получателя и передает по нему РРР-пакеты удаленного пользователя. Сервер и рабочая станция используют виртуальную частную сеть и не обращают внимания на то, насколько безопасной или доступной является глобальная сеть между ними. Завершение сеанса соединения по инициативе сервера, в отличие от специализированных серверов удаленного доступа, позволяет администраторам локальной сети не пропускать удаленных пользователей за пределы системы безопасности Windows Server.

Хотя компетенция протокола РРТР распространяется только на устройства, работающие под управлением Windows, он предоставляет компаниям возможность взаимодействовать с существующими сетевыми инфраструктурами и не наносить вред собственной системе безопасности. Таким образом, удаленный пользователь может подключиться к Интернету с помощью местного провайдера по аналоговой телефонной линии или каналу ISDN и установить соединение с сервером NT. При этом компании не приходится тратить большие суммы на организацию и обслуживание пула модемов, предоставляющего услуги удаленного доступа.

Далее рассматривается работа РРТР. PPTP инкапсулирует пакеты IP для передачи по IP-сети. Клиенты PPTP используют порт назначения для создания управляющего туннелем соединения. Этот процесс происходит на транспортном уровне модели OSI. После создания туннеля компьютер-клиент и сервер начинают обмен служебными пакетами. В дополнение к управляющему соединению PPTP, обеспечивающему работоспособность канала, создается соединение для пересылки по туннелю данных. Инкапсуляция данных перед пересылкой через туннель происходит несколько иначе, чем при обычной передаче. Инкапсуляция данных перед отправкой в туннель включает два этапа:

  1. Сначала создается информационная часть PPP. Данные проходят сверху вниз, от прикладного уровня OSI до канального.
  2. Затем полученные данные отправляются вверх по модели OSI и инкапсулируются протоколами верхних уровней.

Таким образом, во время второго прохода данные достигают транспортного уровня. Однако информация не может быть отправлена по назначению, так как за это отвечает канальный уровень OSI. Поэтому PPTP шифрует поле полезной нагрузки пакета и берет на себя функции второго уровня, обычно принадлежащие PPP, т.е. добавляет к PPTP-пакету PPP-заголовок и окончание. На этом создание кадра канального уровня заканчивается.

Далее, PPTP инкапсулирует PPP-кадр в пакет Generic Routing Encapsulation (GRE), который принадлежит сетевому уровню. GRE инкапсулирует протоколы сетевого уровня, например IPX, AppleTalk, DECnet, чтобы обеспечить возможность их передачи по IP-сетям. Однако GRE не имеет возможности устанавливать сессии и обеспечивать защиту данных от злоумышленников. Для этого используется способность PPTP создавать соединение для управления туннелем. Применение GRE в качестве метода инкапсуляции ограничивает поле действия PPTP только сетями IP.

После того как кадр PPP был инкапсулирован в кадр с заголовком GRE, выполняется инкапсуляция в кадр с IP-заголовком. IP-заголовок содержит адреса отправителя и получателя пакета. В заключение PPTP добавляет PPP заголовок и окончание.

Система-отправитель посылает данные через туннель. Система-получатель удаляет все служебные заголовки, оставляя только данные PPP.

L2TP

В ближайшем будущем ожидается рост количества виртуальных частных сетей, развернутых на базе нового протокола туннелирования второго уровня Layer 2 Tunneling Protocol - L2TP.

L2TP появился в результате объединения протоколов PPTP и L2F (Layer 2 Forwarding). PPTP позволяет передавать через туннель пакеты PPP, а L2F-пакеты SLIP и PPP. Во избежание путаницы и проблем взаимодействия систем на рынке телекоммуникаций, комитет Internet Engineering Task Force (IETF) рекомендовал компании Cisco Systems объединить PPTP и L2F. По общему мнению, протокол L2TP вобрал в себя лучшие черты PPTP и L2F. Главное достоинство L2TP в том, что этот протокол позволяет создавать туннель не только в сетях IP, но и в таких, как ATM, X.25 и Frame Relay. К сожалению, реализация L2TP в Windows 2000 поддерживает только IP.

L2TP применяет в качестве транспорта протокол UDP и использует одинаковый формат сообщений как для управления туннелем, так и для пересылки данных. L2TP в реализации Microsoft использует в качестве контрольных сообщений пакеты UDP, содержащие шифрованные пакеты PPP. Надежность доставки гарантирует контроль последовательности пакетов.

Функциональные возможности PPTP и L2TP различны. L2TP может использоваться не только в IP-сетях, служебные сообщения для создания туннеля и пересылки по нему данных используют одинаковый формат и протоколы. PPTP может применяться только в IP-сетях, и ему необходимо отдельное соединение TCP для создания и использования туннеля. L2TP поверх IPSec предлагает больше уровней безопасности, чем PPTP, и может гарантировать почти 100-процентную безопасность важных для организации данных. Особенности L2TP делают его очень перспективным протоколом для построения виртуальных сетей.

Протоколы L2TP и PPTP отличаются от протоколов туннелирования третьего уровня рядом особенностей:

  1. Предоставление корпорациям возможности самостоятельно выбирать способ аутентификации пользователей и проверки их полномочий - на собственной «территории» или у провайдера Интернет-услуг. Обрабатывая туннелированные пакеты PPP, серверы корпоративной сети получают всю информацию, необходимую для идентификации пользователей.
  2. Поддержка коммутации туннелей - завершения одного туннеля и инициирования другого к одному из множества потенциальных терминаторов. Коммутация туннелей позволяет, как бы продлить PPP - соединение до необходимой конечной точки.
  3. Предоставление системным администраторам корпоративной сети возможности реализации стратегий назначения пользователям прав доступа непосредственно на брандмауэре и внутренних серверах. Поскольку терминаторы туннеля получают пакеты PPP со сведениями о пользователях, они в состоянии применять сформулированные администраторами стратегии безопасности к трафику отдельных пользователей. (Туннелирование третьего уровня не позволяет различать поступающие от провайдера пакеты, поэтому фильтры стратегии безопасности приходится применять на конечных рабочих станциях и сетевых устройствах.) Кроме того, в случае использования туннельного коммутатора появляется возможность организовать «продолжение» туннеля второго уровня для непосредственной трансляции трафика отдельных пользователей к соответствующим внутренним серверам. На такие серверы может быть возложена задача дополнительной фильтрации пакетов.

· MPLS

Также на канальном уровне для организации туннелей может использоваться технология MPLS (От английского Multiprotocol Label Switching - мультипротокольная коммутация по меткам - механизм передачи данных, который эмулирует различные свойства сетей с коммутацией каналов поверх сетей с коммутацией пакетов). MPLS работает на уровне, который можно было бы расположить между канальным и третьим сетевым уровнями модели OSI, и поэтому его обычно называют протоколом канально-сетевого уровня. Он был разработан с целью обеспечения универсальной службы передачи данных как для клиентов сетей с коммутацией каналов, так и сетей с коммутацией пакетов. С помощью MPLS можно передавать трафик самой разной природы, такой как IP-пакеты, ATM, SONET и кадры Ethernet.

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

2.2 Сетевой уровень

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

IPSec

Естественно, никакая компания не хотела бы открыто передавать в Интернет финансовую или другую конфиденциальную информацию. Каналы VPN защищены мощными алгоритмами шифрования, заложенными в стандарты протокола безопасности IРsec. IPSec или Internet Protocol Security - стандарт, выбранный международным сообществом, группой IETF - Internet Engineering Task Force, создает основы безопасности для Интернет-протокола (IP/ Протокол IPSec обеспечивает защиту на сетевом уровне и требует поддержки стандарта IPSec только от общающихся между собой устройств по обе стороны соединения. Все остальные устройства, расположенные между ними, просто обеспечивают трафик IP-пакетов.

Способ взаимодействия лиц, использующих технологию IPSec, принято определять термином «защищенная ассоциация» - Security Association (SA). Защищенная ассоциация функционирует на основе соглашения, заключенного сторонами, которые пользуются средствами IPSec для защиты передаваемой друг другу информации. Это соглашение регулирует несколько параметров: IP-адреса отправителя и получателя, криптографический алгоритм, порядок обмена ключами, размеры ключей, срок службы ключей, алгоритм аутентификации.

IPSec - это согласованный набор открытых стандартов, имеющий ядро, которое может быть достаточно просто дополнено новыми функциями и протоколами. Ядро IPSec составляют три протокола:

· АН или Authentication Header - заголовок аутентификации - гарантирует целостность и аутентичность данных. Основное назначение протокола АН - он позволяет приемной стороне убедиться, что:

  • пакет был отправлен стороной, с которой установлена безопасная ассоциация;
  • содержимое пакета не было искажено в процессе его передачи по сети;
  • пакет не является дубликатом уже полученного пакета.

Две первые функции обязательны для протокола АН, а последняя выбирается при установлении ассоциации по желанию. Для выполнения этих функций протокол АН использует специальный заголовок. Его структура рассматривается по следующей схеме:

  1. В поле следующего заголовка (next header) указывается код протокола более высокого уровня, то есть протокола, сообщение которого размещено в поле данных IP-пакета.
  2. В поле длины полезной нагрузки (payload length) содержится длина заголовка АН.
  3. Индекс параметров безопасности (Security Parameters Index, SPI) используется для связи пакета с предусмотренной для него безопасной ассоциацией.
  4. Поле порядкового номера (Sequence Number, SN) указывает на порядковый номер пакета и применяется для защиты от его ложного воспроизведения (когда третья сторона пытается повторно использовать перехваченные защищенные пакеты, отправленные реально аутентифицированным отправителем).
  5. Поле данных аутентификации (authentication data), которое содержит так называемое значение проверки целостности (Integrity Check Value, ICV), используется для аутентификации и проверки целостности пакета. Это значение, называемое также дайджестом, вычисляется с помощью одной из двух обязательно поддерживаемых протоколом АН вычислительно необратимых функций MD5 или SAH-1, но может использоваться и любая другая функция.

· ESP или Encapsulating Security Payload - инкапсуляция зашифрованных данных - шифрует передаваемые данные, обеспечивая конфиденциальность, может также поддерживать аутентификацию и целостность данных;

Протокол ESP решает две группы задач.

  1. К первой относятся задачи, аналогичные задачам протокола АН, - это обеспечение аутентификации и целостности данных на основе дайджеста,
  2. Ко второй - передаваемых данных путем их шифрования от несанкционированного просмотра.

Заголовок делится на две части, разделяемые полем данных.

  1. Первая часть, называемая собственно заголовком ESP, образуется двумя полями (SPI и SN), назначение которых аналогично одноименным полям протокола АН, и размещается перед полем данных.
  2. Остальные служебные поля протокола ESP, называемые концевиком ESP, расположены в конце пакета.

Два поля концевика - следующего заголовка и данных аутентификации - аналогичны полям заголовка АН. Поле данных аутентификации отсутствует, если при установлении безопасной ассоциации принято решение не использовать возможностей протокола ESP по обеспечению целостности. Помимо этих полей концевик содержит два дополнительных поля - заполнителя и длины заполнителя.

Протоколы AH и ESP могут защищать данные в двух режимах:

  1. в транспортном - передача ведется с оригинальными IP-заголовками;
  2. в туннельном - исходный пакет помещается в новый IP-пакет и передача ведется с новыми заголовками.

Применение того или иного режима зависит от требований, предъявляемых к защите данных, а также от роли, которую играет в сети узел, завершающий защищенный канал. Так, узел может быть хостом (конечным узлом) или шлюзом (промежуточным узлом).

Соответственно, имеются три схемы применения протокола IPSec:

  1. хост-хост;
  2. шлюз-шлюз;
  3. хост-шлюз.

Возможности протоколов АН и ESP частично перекрываются: протокол АН отвечает только за обеспечение целостности и аутентификации данных, протокол ESP может шифровать данные и, кроме того, выполнять функции протокола АН (в урезанном виде). ESP может поддерживать функции шифрования и аутентификации / целостности в любых комбинациях, то есть либо всю группу функций, либо только аутентификацию / целостность, либо только шифрование.

· IKE или Internet Key Exchange - обмен ключами Интернета - решает вспомогательную задачу автоматического предоставления конечным точкам защищенного канала секретных ключей, необходимых для работы протоколов аутентификации и шифрования данных.

2.3 Транспортный уровень

На транспортном уровне используется протокол SSL/TLS или Secure Socket Layer/Transport Layer Security, реализующий шифрование и аутентификацию между транспортными уровнями приемника и передатчика. SSL/TLS может применяться для защиты трафика TCP, не может применяться для защиты трафика UDP. Для функционирования VPN на основе SSL/TLS нет необходимости в реализации специального программного обеспечения так как каждый браузер и почтовый клиент оснащены этими протоколами. В силу того, что SSL/TLS реализуется на транспортном уровне, защищенное соединение устанавливается «из-конца-в-конец».

TLS-протокол основан на Netscape SSL-протоколе версии 3.0 и состоит из двух частей - TLS Record Protocol и TLS Handshake Protocol. Различие между SSL 3.0 и TLS 1.0 незначительные.

SSL/TLS включает в себя три основных фазы:

  1. Диалог между сторонами, целью которого является выбор алгоритма шифрования;
  2. Обмен ключами на основе криптосистем с открытым ключом или аутентификация на основе сертификатов;
  3. Передача данных, шифруемых при помощи симметричных алгоритмов шифрования.

2.4 Реализация VPN: IPSec или SSL/TLS?

Зачастую перед руководителями IT подразделений стоит вопрос: какой из протоколов выбрать для построения корпоративной сети VPN? Ответ не очевиден так как каждый из подходов имеет как плюсы, так и минусы. Постараемся провести и выявить когда необходимо применять IPSec, а когда SSL/TLS. Как видно из анализа характеристик этих протоколов они не являются взаимозаменяемыми и могут функционировать как отдельно, так и параллельно, определяя функциональные особенности каждой из реализованных VPN.

Выбор протокола для построения корпоративной сети VPN можно осуществлять по следующим критериям:

· Тип доступа необходимый для пользователей сети VPN.

  1. Полнофункциональное постоянное подключение к корпоративной сети. Рекомендуемый выбор - протокол IPSec.
  2. Временное подключение, например, мобильного пользователя или пользователя использующего публичный компьютер, с целью получения доступа к определенным услугам, например, электронной почте или базе данных. Рекомендуемый выбор - протокол SSL/TLS, который позволяет организовать VPN для каждой отдельной услуги.

· Является ли пользователь сотрудником компании.

  1. Если пользователь является сотрудником компании, устройство которым он пользуется для доступа к корпоративной сети через IPSec VPN может быть сконфигурировано некоторым определенным способом.
  2. Если пользователь не является сотрудником компании к корпоративной сети которой осуществляется доступ, рекомендуется использовать SSL/TLS. Это позволит ограничить гостевой доступ только определенными услугами.

· Каков уровень безопасности корпоративной сети.

  1. Высокий. Рекомендуемый выбор - протокол IPSec. Действительно, уровень безопасности предлагаемый IPSec гораздо выше уровня безопасности предлагаемого протоколом SSL/TLS в силу использования конфигурируемого ПО на стороне пользователя и шлюза безопасности на стороне корпоративной сети.
  2. Средний. Рекомендуемый выбор - протокол SSL/TLS позволяющий осуществлять доступ с любых терминалов.

· Уровень безопасности данных передаваемых пользователем.

  1. Высокий, например, менеджмент компании. Рекомендуемый выбор - протокол IPSec.
  2. Средний, например, партнер. Рекомендуемый выбор - протокол SSL/TLS.

В зависимости от услуги - от среднего до высокого. Рекомендуемый выбор - комбинация протоколов IPSec (для услуг требующих высокий уровень безопасности) и SSL/TLS (для услуг требующих средний уровень безопасности).

· Что важнее, быстрое развертывание VPN или масштабируемость решения в будущем.

  1. Быстрое развертывание сети VPN с минимальными затратами. Рекомендуемый выбор - протокол SSL/TLS. В этом случае нет необходимости реализации специального ПО на стороне пользователя как в случае IPSec.
  2. Масштабируемость сети VPN - добавление доступа к различным услугам. Рекомендуемый выбор - протокол IPSec позволяющий осуществление доступа ко всем услугам и ресурсам корпоративной сети.
  3. Быстрое развертывание и масштабируемость. Рекомендуемый выбор - комбинация IPSec и SSL/TLS: использование SSL/TLS на первом этапе для осуществления доступа к необходимым услугам с последующим внедрением IPSec.

3. Методы реализации VPN сетей

Виртуальная частная сеть базируется на трех методах реализации:

· Туннелирование;

· Шифрование;

· Аутентификация.

3.1 Туннелирование

Туннелирование обеспечивает передачу данных между двумя точками - окончаниями туннеля - таким образом, что для источника и приемника данных оказывается скрытой вся сетевая инфраструктура, лежащая между ними.

Транспортная среда туннеля, как паром, подхватывает пакеты используемого сетевого протокола у входа в туннель и без изменений доставляет их к выходу. Построения туннеля достаточно для того, чтобы соединить два сетевых узла так, что с точки зрения работающего на них программного обеспечения они выглядят подключенными к одной (локальной) сети. Однако нельзя забывать, что на самом деле «паром» с данными проходит через множество промежуточных узлов (маршрутизаторов) открытой публичной сети.

Такое положение дел таит в себе две проблемы. Первая заключается в том, что передаваемая через туннель информация может быть перехвачена злоумышленниками. Если она конфиденциальна (номера банковских карточек, финансовые отчеты, сведения личного характера), то вполне реальна угроза ее компрометации, что уже само по себе неприятно. Хуже того, злоумышленники имеют возможность модифицировать передаваемые через туннель данные так, что получатель не сможет проверить их достоверность. Последствия могут быть самыми плачевными. Учитывая сказанное, мы приходим к выводу, что туннель в чистом виде пригоден разве что для некоторых типов сетевых компьютерных игр и не может претендовать на более серьезное применение. Обе проблемы решаются современными средствами криптографической защиты информации. Чтобы воспрепятствовать внесению несанкционированных изменений в пакет с данными на пути его следования по туннелю, используется метод электронной цифровой подписи (). Суть метода состоит в том, что каждый передаваемый пакет снабжается дополнительным блоком информации, который вырабатывается в соответствии с асимметричным криптографическим алгоритмом и уникален для содержимого пакета и секретного ключа ЭЦП отправителя. Этот блок информации является ЭЦП пакета и позволяет выполнить аутентификацию данных получателем, которому известен открытый ключ ЭЦП отправителя. Защита передаваемых через туннель данных от несанкционированного просмотра достигается путем использования сильных алгоритмов шифрования.

3.2 Аутентификация

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

Для аутентификации пользователей PPTP может задействовать любой из протоколов, применяемых для PPP

  • EAP или Extensible Authentication Protocol;
  • MSCHAP или Microsoft Challenge Handshake Authentication Protocol (версии 1 и 2);
  • CHAP или Challenge Handshake Authentication Protocol;
  • SPAP или Shiva Password Authentication Protocol;
  • PAP или Password Authentication Protocol.

Лучшими считаются протоколы MSCHAP версии 2 и Transport Layer Security (EAP-TLS), поскольку они обеспечивают взаимную аутентификацию, т.е. VPN-сервер и клиент идентифицируют друг друга. Во всех остальных протоколах только сервер проводит аутентификацию клиентов.

Хотя PPTP обеспечивает достаточную степень безопасности, но все же L2TP поверх IPSec надежнее. L2TP поверх IPSec обеспечивает аутентификацию на уровнях «пользователь» и "компьютер", а также выполняет аутентификацию и шифрование данных.

Аутентификация осуществляется либо отрытым тестом (clear text password), либо по схеме запрос / отклик (challenge/response). С прямым текстом все ясно. Клиент посылает серверу пароль. Сервер сравнивает это с эталоном и либо запрещает доступ, либо говорит «добро пожаловать». Открытая аутентификация практически не встречается.

Схема запрос / отклик намного более продвинута. В общем виде она выглядит так:

  • клиент посылает серверу запрос (request) на аутентификацию;
  • сервер возвращает случайный отклик (challenge);
  • клиент снимает со своего пароля хеш (хешем называется результат хеш-функции, которая преобразовывает входной массив данных произвольной длины в выходную битовую строку фиксированной длины), шифрует им отклик и передает его серверу;
  • то же самое проделывает и сервер, сравнивая полученный результат с ответом клиента;
  • если зашифрованный отклик совпадает, аутентификация считается успешной;

На первом этапе аутентификации клиентов и серверов VPN, L2TP поверх IPSec использует локальные сертификаты, полученные от службы сертификации. Клиент и сервер обмениваются сертификатами и создают защищенное соединение ESP SA (security association). После того как L2TP (поверх IPSec) завершает процесс аутентификации компьютера, выполняется аутентификация на уровне пользователя. Для аутентификации можно задействовать любой протокол, даже PAP, передающий имя пользователя и пароль в открытом виде. Это вполне безопасно, так как L2TP поверх IPSec шифрует всю сессию. Однако проведение аутентификации пользователя при помощи MSCHAP, применяющего различные ключи шифрования для аутентификации компьютера и пользователя, может усилить защиту.

3.3. Шифрование

Шифрование с помощью PPTP гарантирует, что никто не сможет получить доступ к данным при пересылке через Internet. В настоящее время поддерживаются два метода шифрования:

  • Протокол шифрования MPPE или Microsoft Point-to-Point Encryption совместим только с MSCHAP (версии 1 и 2);
  • EAP-TLS и умеет автоматически выбирать длину ключа шифрования при согласовании параметров между клиентом и сервером.

MPPE поддерживает работу с ключами длиной 40, 56 или 128 бит. Старые операционные системы Windows поддерживают шифрование с длиной ключа только 40 бит, поэтому в смешанной среде Windows следует выбирать минимальную длину ключа.

PPTP изменяет значение ключа шифрации после каждого принятого пакета. Протокол MMPE разрабатывался для каналов связи точка-точка, в которых пакеты передаются последовательно, и потеря данных очень мала. В этой ситуации значение ключа для очередного пакета зависит от результатов дешифрации предыдущего пакета. При построении виртуальных сетей через сети общего доступа эти условия соблюдать невозможно, так как пакеты данных часто приходят к получателю не в той последовательности, в какой были отправлены. Поэтому PPTP использует для изменения ключа шифрования порядковые номера пакетов. Это позволяет выполнять дешифрацию независимо от предыдущих принятых пакетов.

Оба протокола реализованы как в Microsoft Windows, так и вне ее (например, в BSD), на алгоритмы работы VPN могут существенно отличаться.

Таким образом, связка «туннелирование + аутентификация + шифрование» позволяет передавать данные между двумя точками через сеть общего пользования, моделируя работу частной (локальной) сети. Иными словами, рассмотренные средства позволяют построить виртуальную частную сеть.

Дополнительным приятным эффектом VPN-соединения является возможность (и даже необходимость) использования системы адресации, принятой в локальной сети.

Реализация виртуальной частной сети на практике выглядит следующим образом. В локальной вычислительной сети офиса фирмы устанавливается сервер VPN. Удаленный пользователь (или маршрутизатор, если осуществляется соединение двух офисов) с использованием клиентского программного обеспечения VPN инициирует процедуру соединения с сервером. Происходит аутентификация пользователя - первая фаза установления VPN-соединения. В случае подтверждения полномочий наступает вторая фаза - между клиентом и сервером выполняется согласование деталей обеспечения безопасности соединения. После этого организуется VPN-соединение, обеспечивающее обмен информацией между клиентом и сервером в форме, когда каждый пакет с данными проходит через процедуры шифрования / дешифрования и проверки целостности - аутентификации данных.

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

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

Чего же можно ожидать в плане развития технологий VPN в будущем? Без всякого сомнения, будет выработан и утвержден единый стандарт построения подобных сетей. Скорее всего, основой этого стандарта будет, уже зарекомендовавший себя протокол IPSec. Далее, производители сконцентрируются на повышении производительности своих продуктов и на создании удобных средств управления VPN. Скорее всего, развитие средств построения VPN будет идти в направлении VPN на базе маршрутизаторов, так как данное решение сочетает в себе достаточно высокую производительность, интеграцию VPN и маршрутизации в одном устройстве. Однако будут развиваться и недорогие решения для небольших организаций. В заключение, надо сказать, что, несмотря на то, что технология VPN еще очень молода, ее ожидает большое будущее.

Оставьте свой комментарий!