Vpn подключение: что это такое, и для чего нужен vpn канал? Построение безопасных сетей на основе VPN

19.08.2019

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

Ниже мы рассмотрим топологию сети, в которой будем организовывать VPN-туннель, разберем особенности конфигурирования программы OpenVPN и пошагово настроим маршрутизацию для наших офисов. Статья написана из расчета, что OpenVPN будет устанавливаться на платформы Windows 7 и Windows Server 2008.

Топология сети.

Использованная нами сетевая топология стандартна. Имеется Сеть Центрального Офиса (назовем её СЦО) и Сеть Филиала (назовем её СФ). Стоит задача соединить офисы таким образом, чтобы конечный пользовательский компьютер (далее ПК1) офиса СЦО имел доступ к общим ресурсам пользовательского компьютера (далее ПК2) СФ.

CЦО имеет в своем составе:

  • Интернет-шлюз (назовем его ИШ1) с двумя сетевыми интерфейсами:
    • 111.111.111.111 - выдаётся провайдером, смотрит в интернет.
    • 192.168.0.1 - назначается нами, смотрит в СЦО.
  • OpenVPN Сервер (далее ОС) на котором будем поднимать OpenVPN с одним виртуальным и одним физическим интерфейсом:
    • 10.8.0.1 - адрес виртуального интерфейса (интерфейс устанавливается в процессе установки программы OpenVPN). Адрес для этого интерфейса назначается программой. Мы с вами не должны менять адрес самостоятельно из управления сетевыми адаптерами.
    • 192.168.0.2 - физический интерфейс, параметры задаются нами, смотрит в СЦО.
  • ПК1 - пользовательский компьютер 1, с сетевым интерфейсом 192.168.0.3, смотрит аналогично в СЦО.

СФ имеет в своем составе:

  • Интернет-шлюз (далее ИШ2) с двумя сетевыми интерфейсами:
    • 222.222.222.222 - выдаётся провайдером, смотрит в интернет.
    • 192.168.1.2 - назначается нами, смотрит в СФ.
  • OpenVPN Клиент (далее ОК) на котором будем поднимать OpenVPN с одним виртуальным и одним физическим интерфейсом:
    • 10.8.0.2 - адрес виртуального сетевого интерфейса (интерфейс устанавливается в процессе установки программы OpenVPN). Адрес для этого интерфейса так же назначается программой OpenVPN.
    • 192.168.1.2 - физический интерфейс, параметры задаются нами, смотрит в СФ.
  • ПК2 - пользовательский компьютер 2, с сетевым интерфейсом 192.168.1.3, смотрит в СФ.

Настраиваем OpenVPN сервер.

Теперь перейдем к самой программе, основам и особенностям её конфигурирования. OpenVPN доступен в вариантах для Linux и Windows. Вы можете скачать установочный пакет на .

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

В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать ip адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.8.0.1 с маской 255.255.255.0 на сервере ОС и 10.8.0.2 с аналогичной маской на клиенте ОК.

По стандарту программа устанавливается в C:\ProgramFiles\OpenVPN . В этой директории следует сразу же создать дополнительно папку keys (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфиги настроек сервера для клиента).

В директории C:\ProgramFiles\OpenVPN\sample-config представлены стандартные конфиги. Конфиги, которые мы будем создавать, должны размещаться в директории C:\Program Files\OpenVPN\config .

Настройка OpenVPN начинается с генерации ключей. Генерируемые ключи делятся на:

  • главный CertificateAuthority (CA) сертификат и ключ, используемый для подписывания каждого сертификата сервера и клиента.
  • публичный и приватный ключи для сервера и каждого (это важно) клиента отдельно.

Последовательность создания ключей следующая (названия файлов сертификатов и ключей указаны в скобках):

  • Генерируем основной CA (ca.crt) сертификат и CA (ca.key) ключ.
  • Генерация ключа tls-auth (ta.key) для аутентификации пакетов.

Разберем каждый пункт более подробно.

Генерируем основной сертификат СА и СА ключ:

Заходим в Пуск - Выполнить набираем cmd , жмем OK, заходим в командную строку. Пишем:

Cd C:/Program Files/OpenVPN/easy-rsa

Таким образом мы находимся в директории easy-rsa :

Во время выполнения всех пунктов генерации ключей вы должны находиться именно в ней. Выполняем команду:

Init-config

Не закрывая командную строку, зайдем в C:\ProgramFiles\OpenVpn\easy-rsa и отредактируем файл vars.bat , заполнив следующие параметры (указав, естественно, свои данные):

KEY_COUNTRY=RF
KEY_PROVINCE=MO
KEY_CITY=Malinino
KEY_ORG =Organization
[email protected]

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

Vars
clean-all
build-ca

Последняя команда как раз и выполняет генерацию СА сертификата и СА ключа. В процессе создания ключа вам будут задавать вопросы, на которые вы можете отвечать просто нажатием Enter"a (тогда значения будут браться из файла vars.bat который мы редактировали выше) или же вводить свои. Стоит обратить внимание на вопрос:

Common Name (eg, your name or your server"s hostname) : OpenVPNS

Здесь вы должны задать название для сервера - в примере мы ввели OpenVPNS.

Генерируем сертификат (server.crt) и ключ (server.key) сервера.

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

Build-key-server server

На вопросы отвечаем так же как в первом пункте. На вопрос:

Common Name *: server

Введем: server . На вопросы:

Sign the certificate?

1 out of 1 certificate requests certified, commit?

надо дать положительный ответ: Y .

Генерируем сертификат (office1.crt) и ключ (office1.key) для клиента.

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

Build-key office1

если требуется еще сертификаты и ключи, скажем для второго клиента, то вводим:

Build-key office2

В процессе ответа на вопросы не забывайте, что каждый клиент на вопрос CommonName должен получить уникальное имя, например: office1, office2 и т.д.

Генерация параметров DiffieHellman (dh1024.pem).

Вводим в командной строке, находят во все той же директории easy-rsa:

Build-dh

Генерация ключа tls-auth (ta.key) для аутентификации пакетов

В конце создаем ключ для tls-аутификации командой:

Openvpn --genkey --secret ta.key

Теперь разберемся с тем, какие файлы оставлять на сервере, а какие перенести клиенту. На сервере (OC) должны находиться в созданной нами папке keys только следующие файлы:

  • ca.crt
  • ca.key
  • dh1024.pem
  • server.crt
  • server.key
  • ta.key

На клиенте OK аналогично серверу ОС создадим так же папочку keys, там должны быть:

  • ca.crt
  • office1.crt
  • office1.key
  • ta.key

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

Далее приступим к созданию конфига для нашего сервера ОС и клиента ОК. В директории config создаем файл со следующим названием и расширением: server.ovpn Открываем его блокнотом и начинаем писать конфиг:

Выбираем протокол для передачи данных - в данном случае upd:

Proto udp

Стандартный порт для OpenVPN:

Port 1194

Режим работы программы L3-туннель. В данном режиме OpenVPN - роутер:

Режим клиент-сервер:

Tls-server

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

Topology subnet

Маршруты добавляются через.exe - это важно:

Route-method exe

Задержка при добавлении маршрута, можно уменьшить до 5:

Route-delay 10

Данная опция задает организацию сети. У нас появляется виртуальная сеть 10.8.0.0 /24. Первый адрес из этой сети, то есть 10.8.0.1 выдается серверу, последующие (10.8.0.2, 10.8.0.3 и т.д.) клиентам. DHPC сервер получает адрес 10.8.0.254:

Server 10.8.0.0 255.255.255.0

Задаем шлюз в openvpn сеть:

Route-gateway 10.8.0.1

Директория, в которой мы должны расположить файл с названием нашего клиента, то есть office1 без расширения, и в нем записать команды, которые будут выполнятся на клиенте:

Client-config-dir "C:\\Program Files\\OpenVPN\\ccd"


cert "C:\\Program Files\\OpenVPN\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\keys\\server.key"
dh "C:\\Program Files\\OpenVPN\\keys\\dh1024.pem"
tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 0

Задаем серверу ОС маршрут на всю сеть:

Route 10.8.0.0 255.255.255.0

Выбираем метод сжатия:

Cipher BF-CBC

Задаем сжатие трафика:

Comp-lzo

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

Cервер пингует противоположную сторону с интервалом в 10 секунд и если сторона не отвечает за 60 секунд, то сервер запустит пересоединение:

Keepalive 5 60

Далее переходим в директорию ccd и создаем файл, в котором будут лежать команды, посылаемые клиенту от сервера. Назвать его надо так же как мы называли самого клиента, например office1 . Файл не будет иметь расширения.

Редактируем его через блокнот. Все параметры, заданные ниже, будут автоматически переданы клиенту:

Задаем ip и маску для нашего клиента office1:

Ifconfig-push 10.8.0.2 255.255.255.0

Передаем ему маршрут на всю сеть:

Push "route 10.8.0.0 255.255.255.0"

Задаем для него шлюз:

Push "route-gateway 10.8.0.1"

Эта команда говорит серверу ОС о том, что за данным клиентом, а именно ОК (office1) находится сеть 192.168.1.0:

Iroute 192.168.1.0 255.255.255.0

Таким образом, мы закончили конфигурирование сервера на стороне ОС.

Настройка клиента.

Далее приступим к изменению параметров клиента. Зайдем на машине ОК в папку config . Создадим в ней файл office1.ovpn Приступим к его редактированию, ряд опций повторяет аналогичные на сервере, поэтому мы их пояснять не будем:

Dev tun
proto udp
port 1194

Указываем внешний адрес ИШ1:

Remote 111.111.111.111

Клиент будет в работать в режиме тлс-клиента:

Tls-client

Эта опция защищает от подмены сервера третьим лицом:

Remote-cert-tls server

Эти опции аналогичны серверу:

Route-method exe
route-delay 10

Задаем маршрут к сети 192.168.0.0:

Этой командой разрешаем прием конфигурации клиента с сервера:

Пути к ключам:

Ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\keys\\office1.crt"
key "C:\\Program Files\\OpenVPN\\keys\\office1.key"
tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 1

Остальные опции также аналогичны серверу:

Cipher BF-CBC
comp-lzo
verb 1
keepalive 5 60

На этом настройка программы на стороне клиента ОК закончена.

Настройка брандмауэра и маршрутизация.

И так, мы имеем настроенные конфиги на ОК и на ОС. Теперь разберем очень важные моменты. Заранее оговоримся, если вы использует KIS 2011 или подобные антивирусные программы, то в настройках сетевого экрана следует разрешить прохождение ICMP пакетов. Это позволит беспрепятственно пинговать хосты в наших сетях.

Так же стоит добавить наш виртуальный интерфейс программы OpenVPN в список доверенных сетей.

На ИШ1 должны быть проделаны следующие действия:

  • Настроено перенаправление порта 1194 протокола UDP с интерфейса 111.111.111.111 на интерфейс сервер ОС 192.168.0.2
  • В файерволе должна быть разрешена передача по порту 1194 протокола UDP, иначе пинг не будет проходить даже между ОС и ОК.

На ИШ2 надо предпринять аналогичные действия:

  • Настроить перенаправление порта 1194 протокола UDP с интерфейса 222.222.222.222 на интерфейс клиента ОК 192.168.1.2
  • Проверить, открыт ли порт 1194 протокола UDP в файерволе.

В Usergate 5.2, к примеру, настройка форвардинга пакетов по порту 1194 протокола UDP выглядит так:

На этом этапе мы уже пингуем ОК и ОС по их OpenVPN адресам, то есть 10.8.0.1 и 10.8.0.2. Далее нам необходимо обеспечить правильный маршрут пакетов с клиента ОК до удаленной сети 192.168.0.0. Делаем это одним из нескольких способов:

Либо задаем постоянный маршрут до этой сети на самом клиенте ОК:

Route -p add 192.168.0.0 mask 255.255.255.0 10.8.0.1

Либо задаем этот маршрут в ccd конфиге клиента на сервер, а именно в файле office1 допишем:

Push "route 192.168.0.0 255.255.255.0"

Так же это можно сделать, добавив строку напрямую в конфиг клиента ОК:

Route 192.168.0.0 255.255.255.0

Затем необходимо обеспечить маршрут пакетов с сервера ОС до удаленной сети 192.168.1.0. делается это аналогично варианту выше за несколькими исключениями.

Добавляем команду в конфиг сервера ОС:

Route 192.168.1.0 255.255.255.0 10.8.0.2

или же добавляем команду непосредственно в командной строке:

Route -p add 192.168.1.0 mask 255.255.255.0 10.8.0.2

Так же необходимо на сервере ОС и клиенте ОК включить в службах службу Маршрутизации и удаленного доступа , таким образом обеспечив маршрутизацию на внутреннюю сеть (форвардинг). Без этого внутренние адреса в сетях СЦО И СФ клиента ОК и сервера ОС не будут пинговаться.

На этом этапе мы уже свободно можем пинговать внутренние адреса наших ОС и ОК, т.е. набирая на сервере ОС ping 192.168.1.2 и на клиенте ОК ping 192.168.0.2 мы получаем положительный результат в виде:

Таким образом ОК и ОС взаимно пингуются по своим OpenVPN и внутренним СЦО и СФ адресам. Дальше нам надо прописать маршрут в командной строке в сеть 10.8.0.0 на наших ПК1 и ПК2. Делается это следующими командами:

Route -p add 192.168.1.0 mask 255.255.255.0 192.168.0.2

Route -p add 192.168.0.0 mask 255.255.255.0 192.168.1.2

В результате расшаренные ресурсы в ПК1 и ПК2 будут доступны по их внутрисетевому адресу:

  • Теги:

Please enable JavaScript to view the

Обратите внимание, что здесь не стоит задача объяснить все досконально технически правильно, задача – объяснить «на пальцах» так, чтобы поняли даже начинающие пользователи. Надеюсь, что это получилось. Если есть вопросы – задавайте их в комментариях.

Суть работы VPN-сервера в следующем . Например, вы хотите зайти на сайт yandex.ru. Точнее, подключиться к серверу с IP 77.88.21.11 (жители восточных регионов России могут быть отправлены на сервер с другим IP, но не в этом суть). При работе без VPN ваш компьютер посылает пакет (можно сказать, запрос) напрямую на сервер с адресом 77.88.21.11 и получает от него ответ. При работе через VPN ваш компьютер посылает пакет на VPN-сервер, VPN-сервер точно этот же пакет отсылает на 77.88.21.11, 77.88.21.11 отсылает ответ VPN-серверу (потому что изначально запрос прислал именно VPN-сервер), а VPN-сервер отправляет этот пакет вашему компьютеру.

Что имеем? Запросы на адрес 77.88.21.11 отсылает не ваш компьютер, а VPN, соответственно, сервер 77.88.21.11 фиксирует именно IP-адрес VPN-сервера, а не вашего компьютера.

Одна из возможных причин применения VPN – необходимость скрыть свой IP адрес .

Другое применение – необходимость изменить маршрут трафика . Возьмем пример из жизни. Автор этой статьи живет в городе Орле (Центральная Россия) и хочет подключиться к серверу yunpan.360.cn, расположенному в Пекине. Автор пользуется (точнее, пользовался на тот момент) услугами интернет-провайдера «Билайн». Как показала команда tracert yunpan.360.cn, введенная в командной строке Windows, исходящий интернет-трафик к этому китайскому серверу идет через США. Как трафик идет обратно, трассировка не показывает, но, судя по пингу, он идет примерно тем же маршрутом. Ниже скриншот из программы VisualRoute 2010.

Такая маршрутизация связана с тем, что «Билайн» не заплатил магистральным интернет-провайдерам за более прямой канал в Китай.

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

Что делать? Использовать VPN. Такой VPN-сервер, до которого у нас прямой маршрут, и от которого до yunpan.360.cn прямой маршрут. Я (автор статьи) очень долго искал приемлемое решение и в итоге его нашел. Был арендован виртуальный сервер (что это такое, речь пойдет позже) в Красноярске (сразу представляйте, где находится город Красноярск) у хостинг-провайдера . Трассировка до сервера показала, что трафик идет по России, пинг 95 мс (у меня был мобильный LTE (4G) интернет, на проводном интернете пинг будет на 5-10 мс пониже).

Пинг – это задержка интернет-сигнала. Измеряется задержка на прохождение интернет-трафика в обе стороны (туда и обратно). Измерить задержку только в одну сторону стандартными средствами невозможно, поскольку ваш компьютер отправляет запрос на пингуемый сервер и засекает время, за которое придет ответ.

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

Часто бывает так, что в разные стороны маршрут разный.

Далее была сделана трассировка с красноярского сервера до yunpan.360.cn. Пинг в районе 150 мс. Трассировка показала, что трафик от красноярского сервера до китайского идет через прямой пиринг (межсетевое взаимодействие) провайдера «Транстелеком» и «China Telecom».

Вот эта самая трассировка (сделана из-под Linux):

tracepath yunpan.360.cn
1?: pmtu 1500
1: srx.optibit.ru 0.361ms
1: srx.optibit.ru 0.381ms
2: border-r4.g-service.ru 0.392ms
3: kyk02.transtelecom.net 0.855ms asymm 5
4: 10.25.27.5 112.987ms asymm 8
5: ChinaTelecom-gw.transtelecom.net 125.707ms asymm 7
6: 202.97.58.113 119.092ms asymm 7
7: 202.97.53.161 120.842ms asymm 8
8: no reply
9: 220.181.70.138 122.342ms asymm 10
10: 223.202.72.53 116.530ms asymm 11
11: 223.202.73.86 134.029ms asymm 12
12: no reply

Что мы видим? Красноярский сервер находится на хостинге (хостинг – услуга размещения и аренды серверных мощностей) optibit.ru, подключен к интернет-провайдеру «Игра-Сервис» (g-service.ru). «Игра-Сервис», в свою очередь, трафик до yunpan.360.cn пускает через крупного российского магистрального провайдера «Транстелеком» (за что платит ему деньги). ТТК трафик направляет через свое прямое включение в сеть китайского магистрального провайдера China Telecom, об этом нам говорит домен хопа ChinaTelecom-gw.transtelecom.net.

Давайте вспомним, в чем была наша проблема. У нас трафик до того китайского сервера шел через США, скорость была низкой. Что я сделал? На этот красноярский сервер поставил VPN. И настроил свой компьютер на работу через этот VPN-сервер. Что получилось? Теперь трафик до yunpan.360.cn шел не по старому маршруту Орел-Москва-США-Китай, а вот так:

сначала до VPN-сервера – Орел-Красноярск,

затем от VPN-сервера до Пекина – Красноярск-Пекин.

Уловили суть? Мы развернули маршрут. Что это дало? Скорость исходящего соединения от меня до yunpan.360.cn возросла. Пинг был уменьшен. Результат был достигнут.

Как определить ваш маршрут? Для новичков самый простой способ это сделать – воспользоваться программой VisualRoute, которую можно найти в интернете как в лицензионном, так и взломанном видах.

Нужно запустить эту программу и выставить следующие настройки:

Получится вот так:

По этой таблице вы увидите, через какие страны проходит трафик. Еще раз обращаю внимание на то, что трассировка показывает маршрут только исходящего трафика (то есть трафика от вашего компьютера к серверу). Маршрут в обратную сторону может показать только трассировка, сделанная с сервера до вашего компьютера. У VisualRoute есть небольшой глюк: она часто показывает Australia (?) в качестве страны, когда не может определить настоящую геопозицию узла.

VPN – Virtual private network – виртуальная частная сеть – это, можно сказать, своя сеть поверх интернета, весь трафик внутри которой шифруется. Подробно изучить эту технологию можно и . Если объяснить совсем на пальцах, то:

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

VPN рекомендуется использовать при работе через бесплатный (или просто чужой) WiFi, поскольку существует возможность перехвата всего трафика, проходящего через WiFi-роутер. А при использовании VPN весь трафик будет зашифрован. Более того, если вы зайдете на yandex.ru, vk.com и google.ru без VPN, то на уровне роутера и вашего интернет-провайдера зафиксируются подключения к yandex.ru, vk.com и google.ru. При использовании VPN все подключения идут на адрес VPN сервера.

Существует множество платных сервисов VPN. К их преимуществам можно отнести разве что только простоту использования. Из недостатков следует выделить высокую стоимость, отсутствие 100% конфиденциальности (написать можно многое, а что на самом деле происходит на VPN-сервере, не перехватывается ли трафик, гарантировать невозможно). Невозможность сменить IP адрес в пару кликов также следует отнести к недостаткам платных сервисов.

Сравним стоимость нашего самостоятельно настроенного решения и платных VPN-сервисов. Последние стоят в районе 300 руб. в месяц. Наше решение будет стоить 0,007 долларов в час. Не используем VPN прямо сейчас – не платим. При использовании по 2 часа каждый день в течение 30 дней это удовольствие нам обойдется в 30-50 рублей.

Мы сделаем следующее:

  1. Арендуем сервер для VPN.
  2. Настроим на нем VPN.
  3. Будем ими пользоваться и платить только за каждый час реального использования VPN.

Шаг №1. Аренда сервера.

Нет, арендовать полноценный сервер мы не будем. Мы арендуем виртуальный сервер – VPS (virtual private server). В очень многих случаях для размещения сайтов в интернете или для других целей (в т. ч. для организации VPN) не требуется больших серверных мощностей, но необходимо «под себя» настроить операционную систему сервера. Одновременно на одном компьютере (и сервере в том числе, ведь это тот же компьютер, только обычно более мощный) сразу несколько операционных систем работать не может. Как быть? На помощь приходят виртуальные машины. Эта технология позволяет запускать операционную систему внутри операционной системы, что называется виртуализацией. В случае с серверами тоже создаются аналоги виртуальных машин – виртуальные сервера.

Существует несколько распространенных технологий виртуализации. Самые распространенные – это OpenVZ, KVM, Xen. Грубо говоря, у Xen и KVM для каждой виртуальной машины создаются своя «имитация железа», своя ОС и т.д. В случае с OpenVZ используется общее ядро ОС, в результате чего некоторые функции (например, внесение правок в ядро ОС) становятся недоступными, или их можно включать и отключать только для всех VPS сразу. VPS на Xen и KVM, как правило, более стабильны в работе, однако разница существенна только для крупных проектов, для которых критична отказоустойчивость серверов.

VPS на OpenVZ всегда дешевле, поскольку один виртуальный сервер требует меньше ресурсов. Из-за более низкой цена мы обратим свой взор именно на VPS на базе OpenVZ.

Внимание! Некоторые хостинги (компании, предоставляющие услуги аренды серверов) намеренно блокируют работу VPN на серверах на базе OpenVZ! Поэтому перед арендой такого сервера нужно уточнять в службе поддержки (у хорошего хостинга она должна отвечать в течение 15 минут, максимум часа), будет ли работать VPN.

Для работы на сервере персонального VPN хватит минимальной конфигурации – 256 МБ ОЗУ и 0,5-1 ГГц процессора. Однако не все хостинги предоставляют VPS с 256 МБ ОЗУ: у многих минимальный тариф– 512 МБ ОЗУ. Такого VPS нам и подавно хватит.

Какие еще критерии выбора VPS существуют? Как вы уже поняли, интернет-трафик будет постоянно «ходить» от вас к VPS и обратно. Поэтому у магистральных каналов должна быть достаточная пропускная способность в обе стороны. Иначе говоря, скорость интернет-соединения между вашим компьютером и VPS должна быть достаточной для выполнения требуемых вам задач. Для повседневной комфортной работы хватит и 15 МБит/сек, а если вы собираетесь скачивать торренты через VPN, то вам могут понадобятся и все 100 Мбит/сек. Но! Если вы и VPS находитесь в сетях разных интернет-провайдеров (особенно в разных городах), вряд ли магистральные сети «вытянут» более 70 Мбит/сек внутри России (или вашей страны) и более 50 Мбит/сек с серверами в Европе.

Большинство хостингов требует помесячную оплату. Стоит сразу отметить, что разброс цен очень большой при примерно одинаковом качестве. Мы же будем пользоваться услугами с почасовой оплатой: 0,007 долларов за час работы нашего сервера. Таким образом, если мы будем пользоваться VPN по 2 часа каждый день, то в месяц мы заплатим около 30 рублей. Согласитесь, это не 350 руб/мес за платный VPN-сервис!

Первым делом нужно перейти на сайт и зарегистрироваться:

Далее откроется страница, на которой нужно указать данные своей банковской карты. Без этого система не будет работать и не даст возможности воспользоваться бонусными 10 долларами (об этом позже). Данные можно указать любые, система «съест» ненастоящие.

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

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

Однако, если вы введете в DigitalOcean данные карты Киви, то система ее «выплюнет», сославшись на то, что DigitalOcean не работает с предоплаченными и виртуальными картами. В таком случае вам нужно пополнить баланс на 5 долларов через систему PayPal, заплатив картой Киви.

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

Готово! Теперь перейдем к созданию VPS. Смотрим видео-урок:

При создании сервера выбирайте ОС Ubuntu версии 14.04, а не какой-либо более новой, в т.ч. не выбирайте 16.04.

Расположение сервера

Домен для пинга

Франкфурт, Германия

http://speedtest-fra1.digitalocean.com/

speedtest-fra1.digitalocean.com

Амстердам-1, Нидерланды

http://speedtest-ams1.digitalocean.com/

speedtest-ams1.digitalocean.com

Амстердам-2

http://speedtest-ams2.digitalocean.com/

speedtest-ams2.digitalocean.com

Нью-Йорк-1, США

http://speedtest-ny1.digitalocean.com/

speedtest-ny1.digitalocean.com

Нью-Йорк-2

http://speedtest-ny2.digitalocean.com/

speedtest-ny2.digitalocean.com

Нью-Йорк-3

http://speedtest-ny3.digitalocean.com/

speedtest-ny3.digitalocean.com

Сан-Франциско, США

http://speedtest-sfo1.digitalocean.com/

speedtest-sfo1.digitalocean.com

Лондон, Великобритания

http://speedtest-lon1.digitalocean.com/

speedtest-lon1.digitalocean.com

Сингапур

http://speedtest-sgp1.digitalocean.com/

Speedtest-sgp1.digitalocean.com

Примечание. Большинству жителей России и стран СНГ подойдет Амстердам или Франкфурт (пинг до Франкфурта в большинстве случаев будет немного меньше, чем до Амстердама). Жителям Дальнего востока России рекомендую протестировать Сингапур и сравнить показатели с европейскими серверами.

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

У DigitalOcean в стоимость включено 1 терабайт (1024 ГБ) трафика (см. ). Большинству этого хватит с головой. У остальных хостингов трафик формально безлимитный, однако он становится нерентабельным для них при достижении порога 1-2 ТБ/мес.

Всё, мы заказали VPS. Поздравляю. Теперь пора перейти к его настройке.

Шаг №2. Настройка VPN.

Не пугайтесь, процесс настройки своего собственного VPN прост, как дважды-два!

В видео-уроке выше мы подключились к нашему серверу с помощью Putty. Теперь продолжим.

Копируем и вставляем (нажатием правой кнопки мыши, как мы делали в видео-уроке) команду:

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

Нажимаем Ctrl+O, затем Enter.

Нажимаем Ctrl+X.

Копируем и вставляем команду:

Вводим 1 и нажимаем Enter. Ждем. Согласно запросам системы, вводим желаемый логин и нажимаем Enter. Аналогично с паролем. На вопросы “[Y]/[N]” вводим Y и нажимаем Enter. После завершения настройки будут показаны наши логин и пароль и IP адрес сервера.

Готово! VPN настроен!

Теперь открываем «Центр управления сетями и общим доступом» Windows:

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

Выбираем «Подключение к рабочему месту»:

Ждем немного. Теперь мы работаем через VPN! Чтобы в этом удостовериться, идем на и убеждаемся в том, что показываемый нам наш IP адрес совпадает с IP адресом нашего VPS.

Теперь внимание! Через личный кабинет DigitalOcean мы можем выключить наш VPS (droplet в терминологии DigitalOcean), однако даже за сервер в выключенном состоянии идет списание денежных средств по стандартному тарифу. Поэтому мы сделаем резервную копию нашего сервера, удалим его, а когда нам снова понадобится VPN, мы его восстановим из резервной копии!

Перейдем в управление сервером (панель управления DigitalOcean находится по адресу cloud.digitalocean.com, вход в нее возможен через кнопку Sign In на главное странице digitalocean.com в правом верхнем углу).

Нам нужно создать резервную копию (снимок, snapshot) нашего VPS. Но для этого его сначала нужно выключить.

Ждем около минуты, пока сервер выключится. Затем переходим в раздел Snapshots, вводим произвольное имя снимка и создаем его:

За каждый гигабайт «веса» нашего VPS при создании снимка спишется по 2 цента. Создание резервной копии (снимка) займет несколько минут.

Теперь удаляем сервер:

Все! Больше ни за что с нас деньги не списываются.

Что делаем, когда VPN понадобится снова

Нам нужно создать новый VPS из той резервной копии, которую мы сделали до этого.

Нажимаем «создать дроплет»:

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

Чуть ниже нажимаем на название снимка, который мы сделали (был серым, а должен стать синим):

…и нажимаем большую зеленую кнопку «Create droplet».

Ждем около минуты.

Смотрим, совпадает ли IP адрес нашего сервера с прежним. Если да, то в Windows просто возобновляем уже ранее созданное подключение:

Если нет, то нажимаем правой кнопкой мыши на название нашего подключения и меняем IP адрес на новый:

Вводим новый IP и нажимаем «ОК»:

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

Это мы удалили VPS на время неиспользования VPN. Теперь его восстановим из старого снимка:

Опять проверяем, сохранился ли старый IP и продолжаем работу.

На том же самом сервере (или еще одном) можно поднять свой личный прокси, например, на базу ПО 3proxy, однако это не тема этой статьи.

Нашли опечатку? Нажмите Ctrl + Enter

Инструкция

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

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

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

Откройте вкладку «Безопасность». Установите «Тип VPN» - «Автоматически» и «Шифрование данных» - «Необязательное». Отметьте пункт «Разрешить следующие протоколы» и выберите протоколы CHAP и MS-CHAP. Перейдите на вкладку «Сеть» и оставьте галочку только возле пункта «Протокол интернета версии 4». Нажмите кнопку «Ок» и подключите VPN -соединение.

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

Вам понадобится

  • - сетевой кабель;
  • - сетевая карта.

Инструкция

Самый простым примером vpn-сети может послужить создание локальной сети между , каждый из которых будет получать доступ к интернету. Естественно, прямое соединения с сервером провайдера будет только у одного ПК. Выберите этот компьютер.

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

Настройте подключение к интернету. Это может быть LAN или DSL-соединение. В данном случае это совершенно не важно. Завершив создание и настройку нового подключения, перейдите к его свойствам.

Откройте меню «Доступ» в появившемся окне. Разрешите использовать это соединение с интернетом всем компьютерам, входящим в состав определенной локальной сети. Укажите сеть , образованную вашими двумя компьютерами.

Как создать единую приватную сеть для всех мобильных сотрудников и удаленных филиалов

Что такое VPN?

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

Можно конечно купить персональную линию между двух городов, но данное решение это будет скорее всего сверхдорогим.
Решение посредством виртуальной приватной сети (VPN - Virtual Private Network) предлагает нам эту выделенную линию организовать посредством сосздания шифрованного туннеля через интернет.Основное преимуществом VPN перед выделенными линиями связи - сохранение денег компании при полной закрытости канала.
С точки зрения потребителя, VPN - технология, с помощью которой можно организовать удаленный защищенный доступ через открытые каналы Интернета к серверам, базам данных, любым ресурсам вашей корпоративной сети. Допустим бухгалтер в городе А может легко распечатать счет-фактуру на принтере секретаря в городе Б к которому приехал клиент. Удаленные сотрудники подключившись по VPN со своих ноутбуков смогут также работать в сети, как-будто они находятся в физической сети своих офисов.

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

Способы подключений

Способы организации в VPN наиболее целесообразно выделить следующие 2 основных способа:

  • (Клиент - Сеть ) Удаленный доступ отдельно взятых сотрудников к корпоративной сети организации через модем либо общедоступную сеть.
  • (Сеть - Сеть ) Объединение двух и более офисов в единую защищенную виртуальную сеть посредством интернет

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

На рисунке показаны оба варианта подключения к основному офису А.

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

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

При этом способ подкдючения мобильных клиентов обычно реализуется протоколом PPTP (Point-to-Point Tunneling Protocol) Протокол туннелирования точка-точка, а второй IPsec или OpenVPN

PPTP

(Point-to-Point Tunneling Protocol bumagin-lohg) – туннельный протокол «точка-точка», детище Microsoft и является расширением PPP (Point-to-Point Protocol), следовательно, использует его механизмы подлинности, сжатия и шифрования. Протокол PPTP является встроенным в клиент удаленного доступа Windows XP. При стандартном выборе данного протокола компанией Microsoft предлагается использовать метод шифрования MPPE (Microsoft Point-to-Point Encryption). Можно передавать данные без шифрования в открытом виде. Инкапсуляция данных по протоколу PPTP происходит путем добавления заголовка GRE (Generic Routing Encapsulation) и заголовка IP к данным обработанных протоколом PPP.

Из-за значительных проблем в безопасности, нет причин для выбора PPTP вместо других протоколов, кроме как из-за несовместимости устройства с другими протоколами VPN. Если ваше устройство поддерживает L2TP/IPsec или OpenVPN, то лучше выбрать какой-то из этих протоколов.

Надо отметить, что почти все устройства, в том числе и мобильные, имеют встроенного в ОС (Windows, iOS, Android) клиента позволяющему мнгновенно настроить подключение.

L2TP

(Layer Two Tunneling Protocol) – более совершенный протокол, родившийся в результате объединения протоколов PPTP (от Microsoft) и L2F (от Cisco), вобравший в себя все лучшее из этих двух протоколов. Предоставляет более защищенное соединение, нежели первый вариант, шифрование происходит средствами протокола IPSec (IP-security). L2TP является также встроенным в клиент удаленного доступа Windows XP, более того при автоматическом определении типа подключения клиент сначала пытается соединиться с сервером именно по этому протоколу, как являющимся более предпочтительным в плане безопасности.

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

OpenVPN

Продвинутое открытое VPN решение, созданное компанией "OpenVPN technologies", которое сейчас дефакто является стандартом в VPN-технологиях. Решение использует SSL/TLS протоколы шифрования. OpenVPN использует OpenSSL библиотеку для обеспечения шифрования. OpenSSL поддерживает большое количество различных криптографических алгоритмов таких как 3DES, AES, RC5, Blowfish. Как в случае IPSec, CheapVPN включает экстримально высокий уровень шифрования - AES алгоритм с ключом длиной 256 бит.
OpenVPN - Единственное решение позволяющие обойти тех провайдеров которые режут или взымают плату за открытие дополнительных протоколов, кроме WEB. Это дает возможность организовать каналы которые впринципе невозможно отследить и у нас есть такие решения

Теперь у Вас есть некоторое представление о том, что такое VPN и как это работает. Если Вы руководитель - задумайтесь, возможно это именно то, что Вы искали

Пример настройки сервера OpenVPN на платформе pfSense

Создаем сервер

  • Interface: WAN (сетевой интерфейс сервера, подключенный к интернету)
  • Protocol: UDP
  • Local Port: 1194
  • Description: pfSenseOVPN (любое удобное название)
  • Tunnel Network: 10.0.1.0/24
  • Redirect Gateway: Включить (Отключите эту опцию, если Вы не хотите, чтобы весь интернет-трафик клиента перенаправлялся через VPN-сервер.)
  • Local Network: Оставляем пустым (Если Вы хотите, чтобы локальная сеть, находящаяся за сервером pfSense, была доступна для удаленных клиентов VPN, укажите здесь адресное пространство этой сети. Допустим 192.168.1.0/24 )
  • Concurrent Connections: 2 (Если Вы приобрели дополнительную лицензию OpenVPN Remote Access Server, укажите число, соответствующее количеству приобретенных лицензий)
  • Inter-Client Communications: Включить (Если Вы не хотите, чтобы VPN-клиенты видели друг друга, отключите эту опцию)
  • DNS Server 1 (2 и т.д.): указать DNS-серверы хоста pfSense. (узнать их адреса можно в разделе System > General Setup > DNS Servers )

далее создаем клиентов и для упрощения процедур конфигурации программ-клиентов, в pfSense предусмотрен дополнительный инструмент – “OpenVPN Client Export Utility” . Этот инструмент автоматически подготавливает установочные пакеты и файлы для клиентов, что позволяет избежать ручной настройки OpenVPN-клиента.

VPN соединение между офисами покрывают такие требования безопасности бизнеса как:

  • Возможность централизованного доступа к информации из офисов, так же как и из главного офиса
  • Единая корпоративная информационная система
  • Корпоративные базы данных с единой точкой входа
  • Корпоративная электронная почта с единой точкой входа
  • Конфиденциальность передаваемой между офисами информации

Если у Вас возникли трудности при настройке или Вы еще не определились с технологией VPN - звоните нам!

В последнее время в мире телекоммуникаций наблюдается повышенный интерес к виртуальным частным сетям (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 еще очень молода, ее ожидает большое будущее.

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

Похожие статьи