Создание сети vpn


Создаем свой VPN-сервер. Пошаговая инструкция — Разработка на vc.ru

Данная статья позволит вам самостоятельно создать собственный VPN-сервер и настроить VPN-соединения на ваших iPhone, iPad и Mac. Защитить и скрыть ваш трафик от злоумышленников, провайдера и спецслужб, а также получить доступ к заблокированным в стране ресурсам.

В январе 2019 года я путешествовал по Азии. Будучи в Гуанчжоу, я столкнулся с отсутствием доступа к Google, Facebook и ряду других популярных сервисов. Они в принципе не работают на территории Китая и заблокированы правительством.

Помимо недоступности сервисов в некоторых странах, в путешествиях вообще есть определенная проблема с нормальным доступом в Интернет. Не всегда удается купить местную SIM-карту, поэтому приходится подключаться к Wi-Fi-сетям в отелях, аэропортах и кафе. Фактически, мы ничего не знаем об этих сетях: кем они были созданы, насколько надежны и не «слушает» ли кто-либо сейчас наш трафик.

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

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

Использование VPN-соединения — оптимальное решение сразу обеих обозначенных проблем: так мы получаем доступ к заблокированным в стране ресурсам и защищаем себя от прослушки трафика. Реализовать это решение можно двумя способами:

vc.ru

VPN-мост в локальную сеть / Habr

Прочитал топик habrahabr.ru/blogs/linux/67209 и решил выложить сюда свою статью, которая была до этого видна только в закрытой корпоративной Wiki.

Обычно, при создании VPN, используется подключение типа точка-точка к некоторому серверу, либо установка ethernet-туннеля с некоторым сервером, при котором туннелю назначается определённая подсеть. Сервер VPN при этом выполняет функции маршрутизации и фильтрования трафика для доступа к локальной сети через VPN.

Данная статья рассматривает другой подход к созданию виртуальной сети, при котором удалённые системы включаются в уже существующую локальную подсеть, а сервер VPN выполняет роль Ethernet-шлюза. При использовании такого подхода мы всё ещё имеем возможность фильтровать трафик на основании способа подключения (например, использовать для локальной сети и для удалённых пользователей разные фильтры), но исключается необходимость настройки маршрутизации, а удалённые машины включаются прямо в локальную сеть, видят ресурсы, даже способны использовать широковещательные посылки вообще без дополнительной настройки. Через такой VPN у них отображаются все компьютеры локальной сети Windows, все доступные XDMCP-серверы при XDMCP broadcast и т. д.

Структура сети и настройка сервера


Предположим, что имеется офис с локальной сетью, используется IP-подсеть 192.168.168.0/24. В эту локальную сеть мы включим домашних пользователей, то есть они будут иметь адрес из этой же самой подсети. Необходимо убедиться, что у них «дома» не встречается данная подсеть, и что никакие системы в локальной сети не имеют адресов из диапазона, который мы выделим для удалённых пользователей.
Поддержка моста в ядре

Для работы такой техники нам нужны некоторые ядерные драйвера. Это универсальный драйвер виртуальных сетевых интерфейсов tun, и драйвер ethernet-моста bridge. Можно включить их в ядро, или собрать модулями:
 -> Networking -> Networking support (NET [=y]) -> Networking options <*> 802.1d Ethenet Bridging (BRIDGE [=y]) -> Device Drivers -> Network device support (NETDEVICES [=y]) <*> Universal TUN/TAP device driver support (TUN [=y]) 

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

Для сервера потребуется OpenVPN и утилиты для обслуживания моста. В Gentoo они собираются следующим образом:
 emerge net-misc/bridge-utils net-misc/openvpn 

При использовании >=sys-apps/baselayout-1.12.6 этого достаточно, для более старых версий потребуются специальные утилиты для обслуживания tun/tap-устройств:

 emerge sys-apps/usermode-utilities 
Настройка сети

Положим, eth3 — интерфейс, к которому подключена локальная сеть, с назначенным адресом 192.168.168.254. Его настройка выглядела примерно так:
 config_eth3=( "192.168.168.254/24" ) 

Поскольку он будет участвовать в мосте, ему не нужно назначать адреса. Также, в мосте участвует вновь создаваемый виртуальный интерфейс tap0, которому тоже не назначается никакого адреса. Адрес, который использовался eth3, назначается теперь мосту br0:

 config_eth3=( "null" ) tuntap_tap0="tap" config_tap0=( "null" ) depend_br0() { need net.tap0 net.eth3 } # указываем существующие интерфейсы, объединяя их в мост bridge_br0="eth3 tap0" # либо, можно динамически подключать туда вновь появляющиеся интерфейсы #bridge_add_eth3="br0" config_br0=( "192.168.168.254/24" ) 

Также нужно создать настроечные скрипты для указанных интерфейсов:

 cd /etc/init.d ln -s net.lo net.eth3 ln -s net.lo net.tap0 ln -s net.lo net.br0 

Достаточно автоматически загружать только интерфейс br0. depend_br0() автоматически поднимет все остальные необходимые ему для работы:

 rc-update add net.br0 default /etc/init.d/net.eth3 stop /etc/init.d/net.br0 start 
Создание ключей OpenVPN

Мы будем авторизовывать клиентов посредством RSA-ключей OpenSSL. Для упрощения процесса, для нас приготовили несколько init-скриптов:
 cd /usr/share/openvpn/easy-rsa/ 

Там есть файл vars, в который мы занесём общие значения:

 nano vars 

Внизу этого файла мы заполняем наши переменные:

 export KEY_COUNTRY="RU" export KEY_PROVINCE="Voronezh oblast" export KEY_CITY="Boguchar" export KEY_ORG="OrganiZationnAme" export KEY_EMAIL="[email protected]" 

Загружаем переменные из этого файла и строим CA (Certificate Authority):

 source ./vars ./clean-all ./build-ca 
Ключ сервера

Для генерации ключа сервера с именем office, используем следующую команду:

 ./build-key-server office 

На вопрос «Common Name» нужно ответить именем сервера (в нашем случае, office). На два вопроса в конце «Sign the certificate? [y/n]» и «1 out of 1 certificate requests certified, commit? [y/n]» отвечаем «y».

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

Параметры Диффи-Хеллмана

Здесь ничего дополнительно делать не придётся, но придётся подождать.
 ./build-dh 

Этот файл нужен только на сервере.

Ключи клиентов

Каждому клиенту необходимо выдать свой ключ. Для клиента с именем client ключ создаётся командой

 ./build-key client 

На вопрос о «Common Name» отвечаем именем клиента (в данном случае, client). На два вопроса в конце отвечаем согласием.

Сгенерированные ключи и сертификаты передаём клиентам через защищённый канал. При необходимости, можно создавать ещё ключи той же командой. Перед её запуском, необходимо загрузить окружение — выполнить source ./vars.

Настройка и запуск сервиса OpenVPN

Для запуска следует использовать следующую конфигурацию сервера (файл /etc/openvpn/openvpn.conf):
 # Этот порт рекомендован IANA для OpenVPN. Можно перевесить на другой порт, но секретность не повысится - он всё равно первым делом признаётся, что он - OpenPVN. port 1194 # OpenVPN может использовать tcp и udp в качестве транспортного протокола, udp - предпочтительнее proto udp # Виртуальный интерфейс, который мы включили в мост, непременно типа tap (через tun нельзя эмулировать Ethernet) dev tap0 # Корневой самоподписанный сертификат CA ca /etc/openvpn/keys/ca.crt # Сертификат и секретный ключ сервера. crt должен иметь режимы 644, key - 600 cert /etc/openvpn/keys/office.crt key /etc/openvpn/keys/office.key # Файл с параметрами Диффи-Хеллмана. Если у вас другая длина ключей, исправьте имя :) dh /etc/openvpn/keys/dh2024.pem # Раздавать удалённым клиентам адреса в этой подсети, из этого диапазона (обратите внимание - подсеть задаётся ВСЯ, как в конфиге сетевухи, а диапазон - часть подсети) server-bridge 192.168.168.254 255.255.255.0 192.168.168.128 192.168.168.159 # Разрешить взаимодействие клиентов друг с другом (иначе только с сервером и сегментом сети "за мостом") client-to-client # Это позволит выдать клиенту тот же самый адрес, какой выдавали раньше, если не занят ifconfig-pool-persist /etc/openvpn/ipp.txt # Если вы не хотите через DHCP передавать также и адрес DNS-сервера, можно убрать следующую строку push "dhcp-option DNS 192.168.168.254" # Компрессия comp-lzo # Максимальное число клиентов - имеет смысл сделать меньше или равно числу адресов в диапазоне server-bridge max-clients 32 # Подробности относительно этих ключей - в документации OpenVPN keepalive 10 120 # Не переинициализировать tun и не перечитывать ключ при переподключениях; если работаем не как root, а как nobody, то нам это и не позволят, поэтому либо все эти опции, либо ни одну из них user nobody group nobody persist-key persist-tun # Каждую минуту OpenVPN сбрасывает сюда текущее состояние (список клиентов, маршруты и т. д.) status /tmp/openvpn-status.log # Очень шумный лог, нормальная работа - verb 2 verb 6 log-append /var/log/openvpn.log 

Ключ office.key должен иметь режим 600 (доступ только владельцу). Файлы office.crt и dh2024.pem имеют режим 644.

Настройка фильтрования

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

Переменные этой группы сохраняются в файлах директории /proc/sys/net/bridge/. Их можно также настраивать в /etc/sysctl.conf, тогда они все получат префикс «net.brigde.»

  • bridge-nf-call-arptables
    Логическая переменная bridge-nf-call-arptables управляет передачей трафика ARP в цепочку FORWARD пакетного фильтра arptables. Установленное по умолчанию значение 1 разрешает передачу пакетов фильтрам, 0 – запрещает.
  • bridge-nf-call-iptables
    Логическая переменная bridge-nf-call-iptables управляет передачей проходящего через мост трафика IPv4 в цепочки iptables. Используемое по умолчанию значение 1 разрешает передачу пакетов для фильтрации, 0 – запрещает.
  • bridge-nf-call-ip6tables
    Действие аналогично предыдущему, только оно настраивает передачу трафика IPv6 для фильтрования в цепочки ip6tables.
  • bridge-nf-filter-vlan-tagged
    Логическая переменная bridge-nf-filter-vlan-tagged определяет возможность передачи трафика IP/ARP с тегами VLAN программам фильтрации пакетов (arptables/iptables). Значение 1 (установлено по умолчанию) разрешает передачу пакетов с тегами VLAN программам фильтрации, 0 – запрещает.

Для фильтрования пакетов, проходящих через мост, используется соответствие physdev, которое различает, с какого и на какой порт моста следует пакет. Включаем его в ядре:

 -> Networking -> Networking support (NET [=y]) -> Networking options -> Network packet filtering framework (Netfilter) (NETFILTER [=y]) -> Core Netfilter Configuration -> Netfilter Xtables support (required for ip_tables) (NETFILTER_XTABLES [=y]) -> "physdev" match support (NETFILTER_XT_MATCH_PHYSDEV [=y]) 

Кроме этого, конфигурация ядра должна разрешать передачу пакетов на фильтрацию iptables, т.е. bridge-nf-call-iptables=1 и bridge-nf-call-ip6tables=1 (если вы используете IPv6).
После можете использовать, например, такие правила для фильтрования:

 iptables -A FORWARD -p tcp --dport 22 -m physdev --physdev-in eth2 --physdev-out eth0 -j ACCEPT 

Поподробнее про настройку фильтрации между портами поста можно почитать в статье Building bridges with Linux

Если вы не хотите делать никаких различий между пользователями LAN и пользователями bridged VPN, вы можете просто выключить эти параметры в ядре (они включены по умолчанию):

 echo "net.bridge.bridge-nf-call-iptables = 0" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-ip6tables = 0" >> /etc/sysctl.conf 

Клиенты


На клиенте необходимо создать конфигурационный файл OpenVPN следующего содержания:
 client nobind dev tap proto udp # Куда подключаться. Можно указать несколько опций remote - будет использоваться первый доступный сервер. Если для server.example.net имеется несколько A-записей, между ними выбор производится случайно. remote server.example.net 1194 # Никогда не сдаваться, пытаться подключаться бесконечно. resolv-retry infinite # Либо все опции вместе, либо ни одна из них persist-key persist-tun user nobody group nogroup comp-lzo ns-cert-type server ca ca.crt cert client.crt key client.key 

Если сервер подключен через несколько провайдеров, можно повысить устойчивость сети к отказам. Для этого клиенту нужно прописать несколько опций remote, по одной на сервер, в порядке «сначала предпочтительные».

Имена файлов, указанные в параметрах ca, cert и key — это файлы, переданные через защищённый канал. Права доступа к файлу key должны быть установлены в 600.

Linux

Необходим universal tun/tap driver в ядре, либо модулем, но загруженный.
Gentoo

При установке net-misc/openvpn создаётся скрипт /etc/init.d/openvpn. Этот скрипт запускает openvpn с конфигурационным файлом /etc/openvpn/openvpn.conf. Мы, однако, можем поддерживать несколько конфигураций OpenVPN одновременно, если сделаем симлинки вида /etc/init.d/openvpn.network-name -> /etc/init.d/openvpn — каждый такой скрипт запускает OpenVPN с конфигурационным файлом /etc/openvpn/network-name.conf.

Соответственно, помещаем туда вышеприведённый конфиг, создаём симлинк и кладём скрипты в поддиректорию в /etc/openvpn/. В конфиге прописываем полный путь к ключу и сертификатам. Следите, чтобы имена файлов в конфиге не пересекались, во избежание неприятных эффектов!

Запуск и останов сети производятся через управление сервисом /etc/openvpn.network-name.

Windows

Конфигурационный файл помещается в директорию «C:\Program Files\OpenVPN\config\» с именем вроде «office.ovpn», туда же помещаются остальные файлы — ключи и сертификаты. Если мы их помещаем в поддиректорию (например, хотим использовать несколько виртуальных сетей и все они предоставили файлы с одинаковым именем ca.crt), указываем полные пути к файлам.

Для запуска сетей можно либо запустить сервис OpenVPN (тогда будут запущены все конфигурации *.ovpn, найденные в config\), либо по отдельности — щёлкаем по файлу .ovpn правой кнопкой и выбираем «Запустить OpenVPN с этой конфигурацией».

Возможные проблемы


Проверить доступность сервера, если он запущен на TCP, можно обычным telnetом.
Windows

Нет свободного виртуального адаптера TAP
 Wed Dec 31 10:43:51 2008 TCP connection established with 88.83.201.253:1194 Wed Dec 31 10:43:51 2008 TCPv4_CLIENT link local: [undef] Wed Dec 31 10:43:51 2008 TCPv4_CLIENT link remote: 88.83.201.253:1194 Wed Dec 31 10:44:51 2008 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) Wed Dec 31 10:44:51 2008 TLS Error: TLS handshake failed Wed Dec 31 10:44:51 2008 Fatal TLS error (check_tls_errors_co), restarting Wed Dec 31 10:44:51 2008 SIGUSR1[soft,tls-error] received, process restarting Wed Dec 31 10:44:56 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port. Wed Dec 31 10:44:56 2008 Re-using SSL/TLS context Wed Dec 31 10:44:56 2008 LZO compression initialized Wed Dec 31 10:44:56 2008 Attempting to establish TCP connection with 88.83.201.253:1194 Wed Dec 31 10:44:56 2008 TCP connection established with 88.83.201.253:1194 Wed Dec 31 10:44:56 2008 TCPv4_CLIENT link local: [undef] Wed Dec 31 10:44:56 2008 TCPv4_CLIENT link remote: 88.83.201.253:1194 Wed Dec 31 10:45:11 2008 [office] Peer Connection Initiated with 88.83.201.253:1194 Wed Dec 31 10:45:13 2008 All TAP-Win32 adapters on this system are currently in use. Wed Dec 31 10:45:13 2008 Exiting Press any key to continue... 

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

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

Ссылки


При написании данной статьи, использовались следующие источники:
  1. Gentoo Linux Wiki — HOWTO OpenVPN Server for Ethenet Bridging with Server Certificates (Есть копия этой страницы, по адресу: http://www.gentoo-wiki.info/HOWTO_OpenVPN_Server_for_Ethernet_Bridging_with_Server_Certificates. Спасибо hexes за ссылку!)
  2. Gentoo Linux Wiki — HOWTO OpenVPN Linux Server Windows Client
  3. OpenVPN Documentation — HOWTO
  4. Энциклопедия сетевых протоколов — параметры sysctl для стека IP
  5. Building bridges with Linux

P.S. Некоторые источники почили. Ссылки я убирать не буду, но стоит иметь ввиду.

habr.com

Как создать VPN сервер в Windows без использования сторонних программ

&nbsp windows

В Windows 8.1, 8 и 7 имеется возможность создания VPN сервера, хотя она и неочевидна. Для чего это может понадобиться? Например, для игр по «локальной сети», RDP подключения к удаленным компьютерам, домашнему хранилищу данных, медиа серверу или же для безопасного использования Интернета с общедоступных точек доступа.

Подключение к VPN серверу Windows осуществляется по протоколу PPTP. Стоит отметить, что сделать то же самое с помощью Hamachi или TeamViewer проще, удобнее и безопаснее.

Создание VPN сервера

Откройте список подключений Windows. Самый быстрый способ сделать это — нажать клавиши Win + R в любой версии Windows и ввести ncpa.cpl, затем нажать Enter.

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

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

Нажмите «Далее» и отметьте пункт «Через Интернет».

В следующем диалоговом окне нужно отметить, по каким протоколам будет возможно подключение: если вам не требуется доступ к общим файлам и папкам, а также принтерам при VPN подключении, можно снять отметку с этих пунктов. Нажмите кнопку «Разрешить доступ» и дождитесь завершения создания VPN сервера Windows.

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

Как подключиться к VPN серверу на компьютере

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

  • Если компьютер, на котором был создан VPN-сервер, подключен к Интернету через роутер, то в роутере необходимо создать перенаправление подключений порта 1723 на IP адрес компьютера в локальной сети (а этот адрес сделать статическим).
  • С учетом того, что большинство Интернет-провайдеров предоставляют динамический IP на стандартных тарифах, каждый раз узнавать IP своего компьютера может быть затруднительным, особенно удаленно. Решить это можно с помощью таких сервисов как DynDNS, No-IP Free и Free DNS. Как-нибудь напишу о них подробно, но пока не успел. Уверен, в сети хватает материала, который позволит разобраться, что к чему. Общий смысл: подключение к вашему компьютеру всегда можно будет осуществлять по уникальному домену третьего уровня, несмотря на динамический IP. Это бесплатно.

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

Поддержать сайт

А вдруг и это будет интересно:

remontka.pro

Реализация L2TP/IPsec VPN сервера стандартными средствами Windows 7/8 для подключения Windows/iOS/Android систем к внутренней сети

Недавно я озадачился поиском возможности создания шифрованного подключения к своему офису средствами L2TP/IPsec протокола. Задача усложнилась, когда, кроме Windows клиентов, появилась потребность пускать в сеть еще iOS и Android клиентов. В Интернете множество статей как проделать это на Windows Server с «внешним» IP-адресом. Но я хочу предложить сообществу реализацию стандартными средствами Windows 7/8 шифрованного L2TP тоннеля в локальную сеть с популярной, на мой взгляд, топологией.

Структура сети

Маленькая сеть из десяти Windows 7/8 клиентов с выделенным сервером на базе Windows Server 2008 Std (на него пока не обращаем внимание) и с доступом в Интернет средствами простого роутера. Для VPN сервера я выделил одну из машин на Windows 7 Pro. Далее будет описано два способа поднятия L2TP/IPsec сервера на Windows 7 Pro.
Windows 7 L2TP/IPsec AES 128-bit с использованием сертификата

  • Первым делом нужно сгенерировать сертификат компьютера и пользователя на VPN сервере.
    Для этого воспользуемся бесплатной утилитой Simple Authority.
    Устанавливаем, запускаем. Сразу программа предложит сгенерировать сертификат компьютера. Заполняем поля. Хаотично клацаем по клавиатуре, тем самым генерируя случайное число. Вводим пароль (лучше длиннее 8-ми символов, иначе могут быть глюки) Сертификат компьютера (CA) готов. Если пользователь не добавлен, то добавляем. Справа заполняем необходимые поля. Жмем «New certificate». После этого на рабочем столе появится два файла сертификатов с расширениями *.cer и *.p12
  • Установим сертификаты на наш VPN сервер.
    Для этого делаем Win+R(«Выполнить»), вводим mmc, жмем Enter. Откроется Консоль.
    Добавляем оснастку (Файл->Добавить удалить оснастку). Выбираем «Сертификаты». Жмем «Добавить». Выбираем пункт «учетной записи компьютера» при вопросе, где будет управлять эта оснастка сертификатами. Далее, «Личное»->Правой кнопкой мыши->Все задачи->Импорт->Выбираем файл сертификата с расширением *.p12 (именно его). Вводим пароль, ставим галку «Пометить этот ключ как экспортируемый». В категории «Личное» появится два сертификата. Тот сертификат, у которого поля «Кому выдан» и «Кем выдан» одинаковые, нужно перенести в категорию «Доверенные корневые центры сертификации».
  • Нужно убедиться в отсутствии параметра ProhibitIpSec=1.
    Идем в реестр (Win+R -> regedit). Ищем ветку HKLM\System\CurrentControlSet\Services\Rasman\Parameters. Если вышеуказанного параметра там нет или он равен 0, то все хорошо. Иначе, исправляем это.
  • Создаем входящее подключение.
    Идем в «Центр управления сетями и общим доступом»->«Изменение параметров адаптеров». Жмем клавишу Alt, сверху выпадет меню. Далее Файл->«Новое входящее подключение». Выбираем нужных пользователей, ставим галку «Через интернет… VPN». Выбираем нужные протоколы. На TCP/IP v4->Ставим галку «Разрешить доступ к локальной сети» и обязательно устанавливаем пул адресов, выдаваемых клиенту. После создания подключения обязательно откройте его свойства и во вкладке «Пользователи» проверьте наличие галки «Пользователи должны держать пароли в секрете»
  • Проверим, открылись ли нужные нам порты. Открываем командную строку и командой netstat /a /p udp смотрим, открылись ли UDP 1701 UDP 4500 UDP 500.

Создание клиентского подключения для этого способа

  • Установим сертификаты на нашего VPN клиента. Копируем с VPN сервера сертификаты, которые создали ранее. Устанавливаем их точно таким же способом, как и на сервере.
  • Создадим VPN подключение. Идем в «Центр управления сетями и общим доступом» -> Настройка нового подключения или сети. Далее «Подключение к рабочему месту» -> Использовать мое подключение к Интернет. Вводим адрес нашего VPN сервера. Подключение готово.
  • Настроим наше VPN подключение. Имя пользователя и пароль, думаю, вопросов не вызывают. Во вкладке «Безопасность» выбираем тип VPN L2TP/IPsec и в дополнительных параметрах выбираем «Использовать сертификат» и убираем галку «Проверить атрибуты имени сертификата». Шифрование ставим Обязательное и «Разрешаем следующие протоколы» проверки подлинности: MS-CHAPv2. Далее вкладка Сеть -> TCP/IPv4 свойства -> Дополнительно -> Убираем галку «Использовать основной шлюз».
  • Если не поднимается подключение. То на Windows 8 стоит попробовать такой ключ реестра HKLM\SYSTEM\CurrentControlSet\Services\IPsec создаем параметр DWORD с именем AssumeUDPEncapsulationContextOnSendRule и значением 2. Для Windows 7/Vista этот параметр нужно создать в HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent

Итоги этого способа

Для Windows клиентов это хороший способ реализации L2TP/IPsec, но когда дело доходит до iOS клиентов, задача расширяется. Проблема в том, что iOS могут подключаться по L2TP только с шифрованием по Заранее подготовленной ключевой фразе (Preshared Key), а по сертификату могут подключаться только к Cisco VPN. Второй способ расскажет, как решить эту проблему.
Windows 7 L2TP/IPsec Preshared Key с ESP 3DES шифрованием и контролем целостности

  • Вернемся к чудо-параметру ProhibitIpSec=1. Идем в Реестр, в ветку HKLM\System\CurrentControlSet\Services\Rasman\Parameters и создаем там параметр типа DWORD с именем ProhibitIpSec и присваиваем ему значение 1. После этого необходимо или перезагрузить ОС, или перезапустить службы RemoteAccess и RasMan. Этим действием мы отключаем локальную политику IP безопасности по-умолчанию для IPsec.
  • Создадим теперь новую политику безопасности IP. «Выполнить» -> mmc -> Добавить оснастку -> «Управление политикой IP-безопасности» и выбираем Локальный компьютер. Далее «Создать политику IP-безопасности». «Далее» -> Вводим имя -> Галку «Использовать правило по умолчанию» не ставим -> Далее -> «Изменить свойства» галку оставляем. Откроются свойства новой политики. Здесь убрать галку «использовать мастер» и «Добавить». Теперь по порядку о каждой вкладке:
    • Список IP-фильтров. Вводим имя, снимаем галку «Исп. мастер», «Добавить». Адрес источника: «Любой». Адрес назначения: «Любой». Вкладка протокол. В выпадающем списке выбираем UDP. Пакеты ИЗ этого порта: 1701. Пакеты НА любой порт. ОК, ОК и возвращаемся в список IP-фильтров. Здесь вновь созданный фильтр отмечаем «точкой» и переходим на следующую вкладку.
    • Действие фильтра. По аналогии. Имя, галку про мастер, «Добавить». Выбираем «Согласовать безопасность», «Добавить». Выбираем «Шифрование и обеспечение целостности. (ESP)». ОК. Смотрим, чтоб не стояло никаких галок ниже списка методов безопасности. ОК. Аналогично отмечаем точкой и переходим к очередной вкладке.
    • Тип подключения. Все сетевые подключения.
    • Параметры туннеля. Это правило не указывает туннель IPsec.
    • Методы проверки подлинности. Не обращаем пока внимание на Kerberos, жмем «Добавить». Выбираем «Использовать данную строку (Предварительный ключ)» и вводим наш заранее придуманный Ключ. ОК. И теперь можно удалить Kerberos. В этой же вкладке можно добавить проверку подлинности по Сертификату. Процесс генерации и установки Сертификата описан в первом способе.
  • Обязательно нужно назначить новую политику IP-безопасности. Правой кнопкой мыши по ней, «Назначить».

Создание клиентского подключения для этого способа

  • Отличается от создания клиентского подключения для первого способа только Дополнительными свойствами L2TP/IPsec, где вместо использования сертификата выбираем "… использовать общий ключ".

Доступ к VPN серверу

На роутере я использовал службу Dynamic DNS, т.к. внешний IP динамический. Для возможности подключения необходимо сделать проброс портов (Port Forwarding) для портов UDP 1701 UDP 4500 UDP 500 к нашему VPN серверу. Мы подобрались к финишному этапу, где нас ждет еще одна немаленькая проблема. Дело в том, что Windows 7/8 имеет ограничение на максимальное количество подключений для удаленного доступа, и оно равно 1. Такого ограничения нет на Windows Server. Тут и напрашивается фраза «А на фига ты тут всё это написал?!» Есть два способа решения. Первый: один хороший человек провел немаленькую работу и написал патч, снимающий ограничение для Windows 7 Pro SP1. Здесь подробно описан сам процесс поиска решения и присутствует патч. Второй: использовать Windows Server. Но использовать не так, как написано в большинстве статей, где говорится о назначении серверу Роли «Маршрутизации и удаленного доступа» и использовании специальных оснасток, в которых чёрт ногу сломит, а использовать вышеописанный метод. Он отлично работает на Windows Server без назначения специальных ролей и без ограничений на число подключений.
Переработанный материал:

habr.com

Как организовать защищённый доступ при помощи VPN / «Актив» corporate blog / Habr



На март 2017 г. доля вакансий о работе с удаленным доступом, размещенных на hh.ru составляла 1,5% или 13 339 вакансий. За год их число удвоилось. В 2014 г. численность удаленных сотрудников оценивалась в 600 тыс. чел или 1% от экономически-активного населения (15–69 лет). J'son & Partners Consulting прогнозирует, что к 2018 г. около 20% всех занятых россиян будут работать удаленно. Например, до конца 2017 г. Билайн планирует перевести на удаленное сотрудничество от 50% до 70% персонала.

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


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

Мы для себя открыли потребность в VPN более 10 лет назад. Для нас мотиватором предоставления VPN доступа сотрудникам была возможность оперативного доступа в корпоративную сеть из любой точки мира и в любое время дня и ночи.


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


VPN в роутерах

Так называемых “китайских решений” на рынке много. Практически любой роутер имеет функциональность встроенного VPN сервера. Обычно это простое вкл/выкл функционала и добавление логинов паролей для пользователей, иногда интеграция с Radius сервером. Почему мы не стали рассматривать подобное решение? Мы прежде всего думаем о своей безопасности и непрерывности работе сервиса. Подобные же железки не могут похвастаться ни надежной защитой (прошивки выходят обычно очень редко, или не выходят в принципе), да и надежность работы оставляет желать лучшего.


VPN Enterprise класса

Если посмотреть на квадрат Гартнера то на VPN рынке уже давно лидирующие позиции занимают компании, которые производят сетевое оборудование. Juniper, Cisco, Check Point: все они имеют комплексные решения решения, в составе которых есть и VPN сервис.


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


Microsoft VPN

10 лет назад мы были компанией, ориентированной прежде всего на Windows. Microsoft предлагает бесплатное решение для тех, у кого вся инфраструктура построена на их базе. В простых случаях настройка не вызывает сложностей даже у начинающего системного администратора. В нашем случае мы хотели выжать из VPN все с точки зрения безопасности, соответственно, использование паролей было исключено. Мы естественно хотели использовать сертификаты вместо паролей и для хранения ключевой пары использовать свой продукт Рутокен ЭЦП. Для реализации проекта нам нужно было: контроллер домена, радиус сервер и правильно поднятая и настроенная инфраструктура PKI. Подробно на настройке я останавливаться не буду, в интернете есть достаточно много информации по данным вопросам, а правильная настройка PKI вообще может потянуть на десяток статей. Первым протоколом, который мы использовали у себя, был протокол PPTP. Долгое время данный вариант VPN нас устраивал, но в конечном итоге нам пришлось отказаться от него по двум причинам: PPTP работал далеко не везде и мы начинали пользоваться не только Windows, но и другими операционными системами. Поэтому мы стали искать альтернативы. Замечу, что поддержка PPTP не так давно была прекращена apple. Для начала мы решили посмотреть, что еще из протоколов может предложить на Microsoft. SSTP/L2TP. SSTP нас устраивал всем, за исключением того, что он работал только на Windows. L2TP данным недостатком не обладал, но его настройка и поддержание его в работе показались нам достаточно затратными и мы решили попробовать альтернативы. Хотелось более простого решения, как для пользователей, так и для администраторов.


OpenVPN

Мы в компании “Актив” искренне любим open source. Выбирая замену Microsoft VPN мы не могли обойти стороной решение OpenVPN. Основным плюсом для нас было то, что решение "из коробки" работает на всех платформах. Поднять сервер в простом случае достаточно просто. Сейчас, используя docker и, к примеру готовый образ, это можно сделать за несколько минут. Но нам хотелось большего. Нам хотелось добавить в проект интеграцию с Microsoft CA, для того, чтобы использовать выданные ранее сертификаты. Нам хотелось добавить поддержку используемых нами токенов. Как настраивать связку OpenVPN и токены описано к примеру вот в этой статье. Сложнее было настроить интеграцию Microsoft CA и OpenVPN, но в целом тоже вполне реализуемо. Получившимся решением мы пользовались около трех лет, но все это время продолжали искать более удобные варианты. Главной возможностью, которую мы получили, перейдя на OpenVPN, был доступ из любой ОС. Но остались еще две претензии: сотрудникам компании нужно пройти 7 кругов ада Microsoft CA для выписывания сертификата, а администраторам по-прежнему приходилось поддерживать достаточно сложную инфраструктуру VPN.


У нас есть знание, как использовать токены в любых операционных системах, у нас есть понимание, как правильно готовить инфраструктуру PKI, мы умеем настраивать разные версии OpenVPN и мы имеем технологии, которые позволяют управлять всем этим удобным для пользователя образом из окна браузера. Так возникла идея нового продукта.



Настройка Рутокен VPN

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



На втором шаге нужно ввести название компании и подождать несколько минут, пока устройство произведет настройку встроенного центра сертификации.





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



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



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


Личный кабинет сотрудника

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



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



После установки плагина/расширения нам остается лишь сгенерировать сертификат себе на Рутокен ЭЦП.





И установить клиент под нужную операционную систему:




Как все это работает?

Немного об аппаратной части. Изначально мы долго думали, какую “базу” использовать для нашего решения, так как нужно было соблюдать баланс между стоимостью, удобством, производительностью. После исследований, что предлагается на рынке, мы остановились на двух вариантах реализации и дальнейшего распространения решения:


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

  • Raspberry Pi – уже достаточно известный микрокомпьютер, который обладает вполне неплохой производительностью при не самой высокой стоимости и который можно начать использовать как VPN-сервер уже через 10 минут после того, как его в прямом смысле вынули из коробки.

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

Но изначально, нам все же нужно осуществить настройку сервисов, которые требуются для корректной работы продукта. Настройка сервисов осуществляется на текущий момент специалистами нашей компании в полуавтоматическом режиме. Это значит, что автоматизирован процесс деплоя программного обеспечения и первичных настроек, но инициализация данного процесса пока остается привилегией человека. Во время первичной настройки устанавливаются системные пакеты, python, django, OpenVPN, supervisor, OpenSSL и пр.

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

Создание PKI и CA, а также формирование файла конфигурации OpenVPN-сервера, генерация ключей и выписывание сертификатов осуществляется уже после передачи продукта клиенту. Но это не значит, что для этого необходимо иметь какие-то специфические знания и прямой доступ к операционной системе. Все реализовано в бизнес-логике бэкенда системы администрирования, доступ к которой предоставляется через Web-интерфейс. От клиента требуется только ввести минимальный набор атрибутов (описано выше), после чего стартует процесс инициализации PKI и создания СА. Описывать конкретные вызовы системных команд смысла особого нет, так как уже давно все описано и разжевано до нас. Главное, что мы сделали — это автоматизировали данный процесс, избавив пользователя от необходимости обладать специфическими знаниями в администрировании.

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

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

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

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

При инициализации процесса выписывания сертификата, осуществляется запрос на токен для генерации ключевой пары а также запрос на выписку сертификата в CA. Приватный ключ записывается на токен, а запрос на выписку сертификата отправляется в СА, который в свою очередь осуществляет его выписывание и возвращает в ответе. После чего сертификат так же записывается на токен.

Почти все готово для установления VPN-соединения. Не хватает клиента, который “знает”, как работать с сервером и нашими токенами.



Наш клиент реализован на Electron. Кто не в курсе, что это за зверь, то если совсем кратко – возможность реализовать десктопное приложение, используя js, css и html. Не вдаваясь в подробности, клиент является неким “враппером” над OpenVPN-клиентом, позволяющим осуществлять его вызовы с нужными параметрами. Почему именно так? На самом деле нам было так удобней, хотя выбранное решение и накладывает определенные ограничения.

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

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

Немного о наших планах. Основное, над чем сейчас мы работаем — это реализация ГОСТ-шифрования. Уже пройден достаточно большой путь исследований, позволивший нам максимально приблизиться к ее реализации. В ближайшее время сможем удовлетворить интерес потенциальных клиентов в данной функциональности.

habr.com

Как настроить vpn соединение между двумя компьютерами?

Сегодня расскажу как настроить vpn соединение между двумя компьютерами. Совсем недавно открыл для себя такую возможность. Оказывается для создания VPN соединения вовсе не нужно настраивать VPN сервер.

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

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

Для реализации задуманного, нужно чтобы один из компьютеров (тот на котором будет создаваться VPN соединение) имел выделенный IP адрес. Больше ничего не нужно.

Создаем сеть

И так приступим. Для машины на которой будет создано VPN подключение я буду использовать свою домашнюю машину.

Откройте “Центр управления сетями…” из “Панели управления”, в этом окне нажмите на “Изменение параметров”

В открывшемся окне “Сетевые подключения” нажмите клавишу Alt для отображения кнопок меню и выберите меню “Файл” — “Новое входящее подключение”

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

В следующем окне оставляем галочку и жмем “Далее”

Оставляем выбранные по умолчанию протоколы и жмем “Разрешить доступ”

Готово! Нажимайте “Закрыть”

Теперь у вас есть новое сетевое входящее подключение

Подключаемся к сети

Для подключения к созданной сети, откройте на удаленном компьютере “Центр управления сетями” и нажмите на “Настройка нового подключения…”

В следующем окне выберите пункт “Подключение к рабочему месту”

Теперь выберите пункт “Использовать мое подключение”

В следующем окне введите адрес машины на которой настроен VPN (обязательно выделенный IP, если машина подключена через роутер, на роутере настроить переброс порта и указать IP адрес с портом “адрес:порт”)

Теперь осталось ввести логин (тот который создавали для VPN подключения) и пароль, после чего нажать “Подключить”.

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

Интересные статьи по теме:

faqpc.ru

Не совсем обычное VPN соединение обычными средствами / Habr

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

Здесь мы будем говорить о двух сетях, которые нужно объединить, одну из которых я буду называть «моя офисная сеть», а другую «удалённая сеть».
Системный администратор удалённой сети отказывается вносить наименьшие изменения, для подключения и единственное что можно сделать — это поместить своё оборудование в удалённой сети. Выход в интернет из этой сетиv4 производится через шлюз, который натит в мир. Нужно построить тоннель, между двумя офисами, чтобы узлы моей офисной сети могли получать доступ к узлам удалённой сети, при минимальных изменениях c обеих сторон.

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

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

Примечание1: В обоих вариантах должно соблюдается одно из условий (для клиент-серверного варианта, только для сервера):
  • A. VPN peer, должен находится непосредственно на шлюзе (должно быть установлено дополнительное ПО, или устройство должно быть способно устанавливать нужный тип VPN соединений).
  • B. Если же нет возможности запустить VPN peer непосредственно на шлюзе, нужно его сконфигурировать так, чтобы он смог пропускать порт на другое устройство, настроенное как VPN peer.


Примеры VPN протоколов:

Клиент-серверный VPN:

  • PPTP;
  • L2TP;
  • OpenVPN;
  • PPPoE;
  • ...

Равноправный VPN:

Таким образом, становится очевиден выбор варианта — Клиент-серверный VPN. Так как менять со стороны клиента ничего не нужно в этом варианте.
Какой же из клиент-серверных вариантов выбрать?

И первое что приходит на ум — старый добрый PPTP. Недостатков в плане безопасности у него полно, хотя существуют его более продвинутые, новые, версии. Не смотря на огрехи в плане безопасности, у PPTP есть ещё одна очень не приятная особенность — это протокол GRE, используемый PPTP клиентом для установления соединения с сервером. В случае установки связи по схеме указанной в Примечании1.B оборудование которое производит перенаправление порта (Port Forwarding) должно уметь пропускать соединение по протоколу PPTP (Часто расположен в секции Application Level Gateway) через себя (Функция часто называется pass through PPTP, что с английского так и переводится пропустить PPTP через себя). Это связано с особенностями протокола и тем, что изначально PPTP не был рассчитан на работу через NAT. Если такой функции нет, то в этой схеме VPN канал установлен не будет по той простой причине, что сервер не увидит входящего запроса на соединение.
PPPoE, L2TP и PPTP использует далёкие от совершенства протоколы авторизации pap, chap, mscap1 и mscap2.

К счастью протокол OpenVPN лишен большинства выше перечисленных недостатков, не использует протокол GRE и был специально разработан с учётом особенностей сетей использующих NAT.
Немного об Open VPN: Работает на порту 1194, может использовать как TCP так и UDP протоколы. Протокол уровня приложения, по модели OSI.
Таким образом, выбор из этих протоколов стал тоже очевиден — OpenVPN. Конечно же, он не идеален и не панацея, но для этого случая подойдёт наилучшим образом.

Немного подрезюмируем.

Будем использовать OpenVPN сервер со стороны моей офисной сети (где я могу что-то менять, по большому счёту могу всё менять, просто не хочу) будет сервер, а со стороны удалённой сети будет клиент. Для того, чтобы сильно не менять схему своей офисной сети, в которой фаервол является аппаратным устройством (и у которого нет встроенного OpenVPN сервера), нужно поставить за ним устройство с OpenVPN сервером и пробросить на него порт 1194.
Теперь мы представляем, как будет устанавливаться связь между клиентом и сервером, но как узлы сети моего офиса смогут видеть узлы удалённой сети?
Чтобы не вносить изменения в маршруизаторы удалённой сети будем скрывать сеть моего офиса НАТом. Со стороны моего офиса, на маршрутизаторе, запишем маршрут, к удалённой сети через ВПН тоннель.
Недостатком маскирования, в данном случае, может стать, не возможность получения доступа узлов удалённой сети к узлам моего офиса, что в данном случае, скорее, преимущество.
Созревшая схема.

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

На прокси-сервере 192.168.0.1-192.168.100.3 были добавлены маршруты:
Route 10.0.0.0/8 192.168.100.2
Route 192.168.1.0/30 192.168.100.2

Здесь мы заворачиваем все пакеты, адресованные сети 192.168.1.0/30 и 10.0.0.0/8 на маршрутизатор 192.168.100.2-192.168.1.1. На этом же маршрутизаторе работает OpenVPN Server. Все пакеты по умолчанию пересылаются в интернет через шлюз 192.168.100.1-Real_1, а для сети 10.0.0.0/8 пересылаются через виртуальный канал, построенный в сети интернет на OpenVPN Client 192.168.1.2-10.1.1.2.

Для нормальной работы OpenVPN Server'а на шлюзе 192.168.100.1-Real_1 проброшен на него порт 1194.
На OpenVPN Client'е прописан адрес из удалённой подсети 10.1.1.2. Шлюз по умолчанию для него 10.1.1.1. Клиент устанавливает связь в интернет через реальный IP адрес Real_1. Для сети 192.168.100.0/24 прописан маршрут через 192.168.1.1-192.168.100.2 для того чтобы пакеты пришедшие из моего офиса благополучно вернулись обратно. Здесь же, на клиенте, установлено правило в файерволе (таблица NAT): пакеты, пришедшие из сети 192.168.100.0/24, маскируются (masquerading) под адрес из этой подсети (10.1.1.2).

Теоретическая проверка прохождения пакетов

Так пакеты из моей сети будут попадать в удалённую сеть и обратно в соответствии с правилами:
Пакеты, посланные узлом 192.168.0.123 из моего офиса в удалённую сеть 10.0.0.0/8 на узел 10.0.0.123 будут замаскированы шлюзом 192.168.0.1-192.168.100.3 под адрес 192.168.100.3 и по правилу направятся в маршрутизатор 192.168.100.2-192.168.1.1, откуда они перенаправятся через адрес 192.168.1.1 на адрес маршрутизатора 192.168.1.2-10.1.1.2, где они снова будут замаскированы под адрес 10.1.1.2, откуда благополучно дойдут до адресата 10.0.0.123. Адрес 10.0.0.123 пошлёт ответ 10.1.1.2-192.168.1.2, который отошлёт ответ с адреса 192.168.1.2 на адрес 192.168.1.1-192.168.100.2, который вернёт пакет с адреса 192.168.100.2 серверу 192.168.100.3-192.168.0.1, который передаст пакет обратно 192.168.0.123 с адреса 192.168.0.1.
Эта подробная процедура прослеживания прохождения пакетов понадобилась для того чтобы удостоверится, что все настройки были сделаны правильно и ничего не было пропущено.
Какое оборудование выбрать в качестве OpenVPN сервера и клиента?

Можно использовать обычный компьютер с установленной системой *nix и пакетом ПО OpenVPN.
А можно использовать специализированное оборудование. Так сложилось, что у меня были два Mikrotik RB450.
Настройка RB450 или почему я не тестировал PPTP.

Дело в том, что первый раз я пытался тестировать всё на PPTP, но клиент не мог установить связь с сервером, хотя с компьютера под Windows установить связь было возможно.
Обновление Mikrotik RB450 с версии 3.22 на 4.20:

Только с версии 3.25 или выше можно обновляться до 4.20, так написано на официальном сайте www.mikrotik.com/download.html#2.php.
Поэтому в разделе загрузки выбираем нашу систему, а в разделе Software выбираем Legacy. Здесь я выбрал последний релиз 3.30, который без лишних вопросов ставится поверх 3.22:
Делал по аналогии со статьей www.asp24antenna.com.ua/obnovlenie-s-328-os-na-routeros-40.
Открываем WinBOX заходим в files, перетягиваем туда файл прошивки 3.30, перезагружаемся и ждём двойного пика — всё прошивка уже стоит. Потом заходим в System>License и жмём обновить (роутер должен быть в это время подключён к сети интернет с настроенным DNS). После обновления снова скачиваем только уже новую прошивку и кидаем её в роутер, перезагружаемся — всё у нас самая новая прошивка! Провозился с обновлением обоих микротиков RB450 с версии 3.22 на 3.30 а потом на 4.20, но это не помогло и никак не исправило ситуации с PPTP :(
Решил строить сразу на OpenVPN.

По руководству этой стати wiki.mikrotik.com/wiki/OpenVPN я создал сертификаты и импортировал их. За подробностями обращайтесь к указанной статье. Опишу только ключевые моменты или те, которые вызывали трудности.
Создал аккаунт на CAcert.org, хотя это вовсе не обязательно, можно выдать самоподписанный сертификат.
На роутере, который будет OpenVPN server'ом, выполняем команды:

/certificate create-certificate-request
#Обязательно заполнить следующие поля:
passphrase:
(Your name) common name:

#Мы получим два файла
certificate-request.pem
private-key.pem

Открываем файл certificate-request.pem копируем его содержимое (скопировать на компьютер, к примеру, по FTP или перетяните на рабочий стол из WinBOX'а) и вставляем в форму на сайте CAcert.org (нужна регистрация) Server Certificates>New, полученный ответ копируем в файл certificate-response.pem (нужно залить на OpenVPN server).
Теперь импортируем сертификаты в WinBOX:

System> Certificates> Import
сначала добавим certificate-response.pem
потом private-key.pem

После чего у добавляемого сертификата появится пометка KR. Если вместо неё вы видите QR, импортируйте private-key.pem ещё раз (мне помогло).
Теперь приступаем к созданию сервера (не забудьте поменять под свои нужды):

/ interface ethernet
set ether1 name="ether1"
#Этого можно и не делать

/ interface bridge
add name="lan" arp=proxy-arp
#Внимание, этот аргумент важен arp=proxy-arp!

/ interface bridge port
add interface=ether1 bridge=lan

/ ip address
add address=192.168.1.1/24 interface=lan
#Это адрес сервера

/ ip pool
add name="ovpn-pool" ranges=192.168.1.2-192.168.1.2
#В пуле будет только один адрес.

/ ppp profile
add name="ovpn-profile" local-address=192.168.1.1 remote-address=ovpn-pool use-encryption=yes only-one=yes change-tcp-mss=default
#Странно, но это создается в / ppp %)

/interface ovpn-server server
set enabled=yes auth=sha1 netmask=24 certificate=cert1 max-mtu=1500 port=1194 cipher=aes256 keepalive-timeout=60 mode=ip require-client-certificate=no default-profile=ovpn-profile
#Настраиваем наш сервер на необходимый уровень безопасности
#Важно выбрать mode=ip !

/ ppp secret
add name="user-1" service=pptp password="123456" profile=ovpn-profile
#Обязательно указывайте имя пользователя и пароль в кавычках!

На роутере, который будет OpenVPN Client'ом выполняем:

/interface ovpn-client
add name="ovpn-out1" connect-to=Real_1 port=1194 mode=ip user="user-1" password="123456" profile=default certificate=none cipher=aes256 add-default-route=no
#Вместо Real_1 поставьте реальный IP вашего OpenVPN сервера.
#Имя пользователя и пароль указываем в кавычках!
#Важно выбрать mode=ip !

/ip firewall nat
chain=srcnat out-interface=ether1 src-address=192.168.100.0/24 action=masquerade
#Маскируем адреса пришедшие с 192.168.100.0/24
#На этом всё :)

Лирическое отступление

Интересно отметить, что, теоретически, есть возможность установки ВПН соединения, не имея ни одного реального IP адреса. Аналог такого соединения – устанавливаемое голосовыми интернет месагерами типа скайп. Суть такого соединения состоит в том, что есть несколько узлов и один сервер. Каждый узел соединён с сервером, но когда узел1 хочет установить сеанс связи с узлом2, он запрашивает параметры установленного соединения на сервер узла2, у сервера, после чего «вклинится» вместо сервера, до разрыва установленного соединения и установит его напрямую. Это реализуется при помощи протокола SIP (Session Initiation Protocol). Именно по этому сервера Скайп не загружены промежуточным трафиком, генерируемым клиентами. Результат таких изысканий установки соединения ВПН тоннеля используя SIP контроль привёл по ссылке www.ietf.org/mail-archive/web/sipping/current/msg10092.html. К сожалению, широкого распространения эта идея не приобрела, не смотря на то, что существуют наброски VPN-SIP от IETF и также существует описание от ETSI TS 185 010 V2.1.1 (2009-07) (Нужно ввести «TS 185 010» и быть зарегистрированным членом ETSI чтобы прочесть документ).

Пример установки VPN соединения, используя SIP контроль:

Рис.1 Удалённый доступ к домашней сети.

Всё же существуют закрытые, программы с аналогичным функционалом, такие как Hamachi, Teamviewer, которые, вполне возможно, используют именно эту идею.
Только представьте, как преобразился бы мир, если бы он имел распространенный и стандартизированный протокол, по которому можно было бы установить VPN соединение, используя SIP контроль!

habr.com

Первый кирпич в стене VPN

Обзор устройств VPN начального уровня

Предисловие

Предагаемый Вашему вниманию материал открывает цикл работ по обзору рынка VPN. Приведенная здесь информация призвана помочь сетевым специалистам сориентироваться в огромном многообразии программных и аппаратных решений, предлагаемых различными компаниями. Настоящая статья посвящена наиболее дешевым "коробочным" реализациям VPN – т.н. VPN-appliances, относящимся к классу SOHO (Small Office Home Office), т. е. предназначенным для работы с малыми сетями.

Однако, прежде чем перейти непосредственно к обзору, давайте немного поговорим о том, что же такое VPN, кому и зачем это нужно.

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

Итак, перейдем к делу.

Для чего нужны VPN?

Представим, что нам необходимо объединить несколько локальных сетей LAN (local area network), причем сети эти разделены географически: они расположены в разных зданиях, а возможно и в разных городах. Традиционное решение: WAN (wide area network) — прокладка или аренда выделенных линий, соединяющих локальные сети.


Рис. 1. WAN с использованием выделенного кабеля

Теперь предположим, что помимо этого нам нужно обеспечить удаленный доступ в WAN группе мобильных пользователей, постоянно переезжающих с места на место. Традиционное решение в этом случае - добавить в нашу сеть серверы RAS (remote access service), для того, чтобы клиенты могли получить доступ к сетевым ресурсам по телефонным линиям.


Рис. 2. Доступ к LAN с использованием RAS

Если количество мобильных клиентов растет, мы вынуждены увеличивать число телефонных портов RAS.

Но как быть, если одна из сетей расположена на другом континенте? Как быть, если мобильным клиентам необходим доступ в нашу сеть из любого места планеты? Аренда межконтинентального кабеля для создания WAN обойдется в целый капитал. Мобильные пользователи вынуждены совершать дорогие междугородние и международные звонки. Неизбежно возникает вопрос, а существует ли другое решение, более дешевое, но столь же удобное и технически реализуемое?

Оказывается, да. Такое решение существует. При сегодняшнем развитии Интернета все более и более интересным становится использование общедоступных публичных сетей как основы для создания безопасных и надежных каналов, связывающих наши сети и обеспечивающих доступ к ним отдельным пользователям, постоянно меняющим свое географическое местоположение. Мы говорим о VPN (Virtual Private Networks) — частных виртуальных сетях.

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

Используя VPN, мы уже не платим за кабельные линии, соединяющие локальные сети. Теперь для создания каналов между LAN мы используем Интернет, что стоит гораздо дешевле.


Рис. 3. Использование VPN для объединения двух офисных сетей

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


Рис. 4. VPN для мобильных клиентов

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

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

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

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

Протоколы

Семейство сетевых протоколов для реализации VPN довольно обширно, однако лишь три из них получили широкое распространение. Это IPSec, PPTP и L2TP.

IPSec — Internet Protocol Security — уже был подробно рассмотрен на данном сайте в статье Станислава Коротыгина.

PPTP — Point-to-Point Tunneling Protocol — создан усилиями Microsoft, US Robotics и ряда других разработчиков. Протокол описан создателями в этой и этой работах.

L2TP — Layer 2 Tunneling Protocol — гордость "сетевого монстра" — Cisco. Более подробную информацию о нем можно почерпнуть здесь и здесь.

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

Реализация

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

Защита информации

Защита информации в понимании VPN включает в себя кодирование (encryption), подтверждение подлинности (authentication) и контроль доступа (access control). Кодирование подразумевает шифрование передаваемой через VPN информации. Прочитать полученные данные может лишь обладатель ключа к шифру.

Наиболее часто используемыми в VPN-решениях алгоритмами кодирования в наше время являются DES, Triple DES и различные реализации AES. Степень защищенности алгоритмов, подходы к выбору наиболее оптимального из них — это тоже отдельная тема, которую мы не в состоянии обсудить.

Подтверждение подлинности включает в себя проверку целостности данных и идентификацию лиц и объектов, задействованных в VPN. Первая гарантирует, что данные дошли до адресата именно в том виде, в каком были посланы. Самые популярные алгоритмы проверки целостности данных на сегодня — MD5 и SHA1.

Идентификация — это процесс удостоверения того, что объект действительно является тем, за кого/что он себя выдает. Здесь, помимо традиционных схем имя — пароль, все более и более активно используются системы сертификатов и специальных серверов для их проверки — CA (Certification Authorities). Такие серверы являются, как правило, частью систем PKI (Public Key Infrastructure). Популярные ныне PKI, например Verisign или Entrust, могут обслуживать сертификаты и идентифицировать их держателей по протоколам HTTP и LDAP (X.509). Кроме того, для идентификации могут быть использованы биометрия, неизменяемые характеристики оборудования (например, MAC-адреса) или специальные идентификационные комплексы (Tacacs, Radius).

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

Что нужно для построения VPN?

Прежде всего, шлюз — VPN Gateway. В нашем случае достаточно приобрести у одной из фирм-производителей совершенно готовое к работе устройство, требующее для начала работы лишь подключения к LAN, Интернету и, возможно, минимального конфигурирования.

Для небольших сетей и администраторов, не обладающих большим опытом работы с VPN, это решение является наиболее удобным и эффективным.

Перейдем непосредственно к обзору.

VPN-appliances класса Small Office Home Office

ADI-1000

Американская фирма Assured Digital предлагает свое комплексное решение для реализации VPN начального уровня под именем ADI-1000.


Рис. 5. ADI-1000

Разработчики называют это устройство сетевым коммутатором (switch) с возможностями VPN. Оно имеет 2 интерфейса Ethernet со скоростью 10 Mbit/sec.

Сведения о количестве поддерживаемых VPN-туннелей противоречивы. На сайте разработчиков утверждается, что ADI-1000 может поддерживать до 16 независимых IPSec туннелей. Однако независимые эксперты говорят всего лишь о 4 туннелях.

Среди криптографических алгоритмов, используемых в данном решении, названы DES и Triple DES, а также MD5 и SHA-1 в качестве алгоритма проверки целостности данных. Устройство умеет работать с сертификатами и PKI по протоколу X.509v3.

Производитель предлагает также как отдельный продукт: программу — менеджер для управления и администрирования. Управлять работой ADI-1000 можно с помощью GUI-интерфейса или из командной строки.

Стоимость ADI-1000 составляет $1700. Система особых скидок позволяет в некоторых случаях снизить цену на 10-25%.

Cisco 1720 VPN Router

Всемирно известный производитель огромного множества сетевых устройств Cisco также внес свой вклад — Cisco 1720 VPN Router. Как явствует из названия, это роутер начального уровня с VPN-расширением.


Рис. 6. Cisco 1720 VPN Router

Роутер имеет стомегабитный Ethernet-интерфейс и от двух до пяти serial-интерфейсов для подключения к WAN. Управление VPN и роутером в целом осуществляется посредством Cisco IOS® — специальной операционной системы, созданной Cisco. На мой вкус, она могла быть и чуть поудобнее. Отсутствие интуитивно понятного и доступного GUI — отличительная черта всех роутеров Cisco, в том числе и обсуждаемого нами.

Возможности VPN радуют. Поддерживаются DES, Triple DES  MD5, SHA-1, а также CA и сертификаты с использованием X.509v3.

Однако некоторые эксперты отмечают низкую производительность роутера при работе с VPN.

Цена зависит от комплектации и начинается с суммы около $1000.

Intel Express 8205 VPN Broadband Router

Фирма Intel именует свое решение для создания VPN класса SOHO Intel Express 8205 VPN Broadband Router.


Рис. 7. Intel Express 8205 VPN Broadband Router

Роутер с возможностями VPN может быть использован с ADSL, SDSL, IDSL, ISDN и кабельными соединениями. К локальной сети он подключается c помощью Ethernet — интерфейса на скорости до 100 Mbit/sec.

Максимальная пропускная способность роутера при работе с VPN не превышает 1.3 Mbit/sec при работе с 3DES. Не могу удержаться от соблазна привести по этому поводу цитату. Со свойственным фирме Intel юмором на сайте разработчиков отмечается, что такая выдающаяся производительность достигается благодаря мощной архитектуре Intel:

The powerful Intel Express Router architecture delivers outstanding VPN throughput that enables up to 1.3 Mbps with 3DES encryption.

Число независимых VPN-туннелей не превышает 50-ти.

Помимо 3DES роутер умеет работать с DES и морально устаревшим RC4, также MD5 и SHA-1.

К серьезным недостаткам надо отнести невозможность работы с PKI и LDAP, а также отсутствие какой бы то ни было поддержки мобильных VPN-клиентов.

Цена невелика и составляет $899.

Avaya VPN Firewall Brick 80

Решение, которое предлагает Avaya Inc., называется просто: "кирпич" — VPN Firewall Brick 80.


Рис. 8. VPN Firewall Brick 80.

Это сетевой мост с функциями VPN Gateway и firewall, оснащенный 4-мя 100 Mbit/sec Ethernet портами.

Производитель с гордостью отмечает, что в США это устройство сертифицировано NSA и американской армией.

"Кирпич" работает с DES, 3DES, RC4, MD5, SHA1, цифровыми сертификатами. Поддерживает до 400 одновременных IPSec-туннелей. Пропускная способность для шифрованного трафика составляет не более 8 Mbit/sec.

Управлять работой "кирпича" можно с помощью Java-интерфейса.

Устройство продается также и под маркой Lucent.

Дистрибьюторы предлагают его по цене от $2800 до $2900.

Travlin Ravlin

Фирма RedCreek Communications® Inc. предлагает довольно интересный недорогой продукт с забавным именем Travlin Ravlin.


Рис.9. Travlin Ravlin

Устройство имеет 2 интерфейса Ethernet и встроенный модем V.90; помимо функций VPN работает как firewall. В нем реализована концепция dial-on demand: связь с Интернетом, а следовательно и VPN, устанавливается только при необходимости. По замыслу производителей это должно существенно экономить телефонные счета и оплату услуг Интернет-провайдера.

Travlin Ravlin поддерживает DES, 3DES, MD5, SHA1, работает с сертификатами по протоколу X.509.

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

Цена составляет $700.

NetScreen-5XP

Устройство американской фирмы NetScreen Technologies, Inc. имеет два Ethernet-интерфейса со скоростью 10 Mbit/sec, встроенные VPN и Firewall. Может обрабатывать до 10 IPSec-туннелей одновременно.


Рис. 10. NetScreen-5XP

Утверждается, что устройство может работать с шифрованным VPN трафиком на скорости до 10 Mbit/sec. Это один из лучших показателей в рассматриваемом классе устройств для малого офиса.

Поддерживаются все распространенные разновидности цифровых сертификатов: DES, 3DES, MD5, SHA1, а также набирающий популярность AES. Работает с клиентом VPN, который производители продают как отдельный программный продукт

Стоимость зависит от количества лицензированных пользователей и колеблется в пределах $500 — $1000.

3com OfficeConnect NetBuilder Firewall 25 + VPN upgrade

3com Corp. продает устройство NetBuilder Firewall 25 с опцией VPN-расширения.


Рис. 11. NetBuilder Firewall 25

Программный VPN-модуль способен поддерживать до 10 IPSec-туннелей с криптографией на основе DES, 3DES, RC4 , MD5, SHA-1. В комплекте прилагаемого программного обеспечения имеется VPN-клиент. Как и в случае с Intel, поддержка сертификатов отсутствует.

Для соединения с LAN и WAN используются 2 Ethernet-порта с пропускной способностью 10 Mbit/sec. Данные о пропускной способности VPN-трафика отсутствуют.

Цена комплекта с VPN-модулем составляет около $1000.

Nokia IP55

В рамках сетевых решений для малого офиса фирма Nokia предлагает целый ряд продуктов. Мы рассмотрим лишь один из них — Nokia IP55.


Рис. 12. Nokia IP55

Это устройство имеет 4 интерфейса Ethernet 100 Mbit/sec и один интерфейс ADSL для соединения с WAN. В качестве программного обеспечения выбран Firewall1/VPN1 Small Office — продукт известной компании-разработчика в области VPN — Checkpoint Software Technologies.

Как и другие реализации Checkpoint VPN1, Nokia IP55 поддерживает DES, 3DES, AES, MD5, SHA1, работает со всеми видами сертификатов, включая LDAP.

Для управления VPN и устройством в целом используется WEB-интерфейс. Nokia отмечает высокою эффективность и производительность устройства, использующего мощный RISC-процессор, однако конкретные цифры отсутствуют, как и данные о количестве одновременно обрабатываемых IPSec-туннелей.

Стоимость составляет примерно $1200, включая лицензию на 25 пользователей.

PDS 2000 Security Appliance Series

Еще одна разработка из серии решений VPN, созданных на базе Checkpoint VPN1, принадлежит фирме Intrusion.com и называется PDS 2000 Security Appliance.


Рис. 13. PDS 2000 Security Appliance

Также, как и в предыдущем случае, поддерживаются DES, 3DES, AES, MD5, SHA1, цифровые сертификаты. Та же возможность управления через Web-интерфейс.

Однако "железное" воплощение, конечно же, иное. Различные варианты PDS 2000 имеют от двух до трех портов Ethernet, один порт Serial и 2 USB порта.

Стоимость составляет примерно $1500.

Firebox™ SOHO

Эта симпатичная красная коробочка сделана фирмой WatchGuard Technologies, Inc.


Рис. 14. Firebox ™ SOHO

Как уже видно из названия, она несет в себе не только функции VPN, но и Firewall.

Для подключения к сетям используются 5 портов Ethernet, способных работать на скорости до 100 Mbit/sec.

В качестве VPN-gateway устройство способно обслуживать 5 одновременных IPSec-туннелей типа gateway-to-gateway и столько же туннелей client-to-gateway. Поддерживается DES, 3DES, MD5, SHA1. Максимальная пропускная способность для шифрованного IPSec-трафика с использованием 3DES составляет 1.3 Mbit/sec. PKI и цифровые сертификаты не поддерживаются.

Стоимость составляет $900 в максимально возможной комплектации.

SonicWALL SOHO2


Рис. 15. SonicWALL SOHO2

Это устройство производит фирма SonicWall. Изначально оно предназначено для защиты локальной сети в качестве Firewall’а, а функции VPN-gateway доступны как апгрейд.

Для соединения с LAN и WAN имеются два порта Ethernet 100 Mbit/sec.

Поддерживаются лишь DES, 3DES и MD5, нет возможности работать с сертификатами и PKI.

Стоимость с учетом VPN upgrade составляет около $1300.

InstaGate EX2


Рис. 16. InstaGate EX2

Еще одно интересное решение принадлежит фирме eSoft Inc. и называется InstaGate EX2.

Согласно спецификации, устройство с пропускной способностью до 20 Mbit/sec поддерживает Triple DES, MD5 и SHA. В зависимости от комплектации имеются два или три 100-мегабитных порта Ethernet. Помимо функции VPN-Gateway прибор работает еще и как Firewall.

К сожалению, не поддерживается подтверждение подлинности с использованием цифровых сертификатов.

Цена составляет около $950 в минимальной комплектации.

Заключение

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

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

Немного о грустном

Драматические изменения, происходящие в области высоких технологий с середины 2000 года, не обошли и рынок VPN. За последние пять лет этот рынок развивался очень бурно. Мы были свидетелями яркого успеха некоторых фирм, интересных идеологических и технических решений. К сожалению, падение инвестиций и уменьшение спроса нанесло всем игрокам на поле VPN тяжелый удар, который не все оказались в состоянии выдержать. Некоторые компании просто закрылись, как например, израильская фирма RadGuard с ее блестящими сетевыми устройствами, но слабым менеджментом. Другие стали жертвой очень агрессивной политики крупных корпораций, устранявших молодых и опасных конкурентов с рынка путем их приобретения или слияния. Так, Cisco приобрел Compatible Systems и Altiga. Lucent купил фирму Xedia, а Nokia — компании Ramp и Network Alchemy. Совсем недавно дочернее предприятие Lucent’a Avaya стало владельцем ныне закрытой компании VPNet Technologies.

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

Приложение — сводная таблица характеристик шлюзов VPN класса SOHO.

 

www.ixbt.com

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

Частная виртуальная сеть (VPN) хороша тем, что предоставляет пользователю защищенный или доверительный канал с другим ПК без необходимости предоставления выделенного канала связи. Её создают поверх другой сети — Интернет, например.

 

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

 

Содержание статьи

  1. Настройка сервера
  2. Настройка клиентской части
  3. Подключение

 

Создадим серверную часть

 

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

 

 

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

 

В панели управления пройдем «Сеть и Интернет».

 

На следующем шаге откроем сетевой центр.

 

Далее, понадобится пройти по ссылке, на которую указывает стрелка.

 

Создадим новое входящее соединение.

 

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

 

При добавлении нового «юзера» нужно указать имя и пароль, с которыми ему дозволено будет соединяться с VPN-сервером доступа.

 

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

 

Надо указать, что делать они это будут поверх Интернет, поэтому отметим флажком требуемую опцию.

 

Следующий шаг связан с налаживанием сетевых приложений, которые должны принимать входящие подключения. Среди них есть компонент «Интернет-протокол версии 4(TCP/IPv4)». Понадобится открыть его свойства и вручную ввести диапазон IP-адресов, которым дозволен доступ к серверу.

 

Иначе, предоставьте это дело DHCP-серверу для автоматического определения «айпишников». В нашем случае понадобилось вручную их определять.

 

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

 

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

 

Настроим клиента

 

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

 

 

Серверную часть этой архитектуры мы уже настроили. Теперь осталось наладить работу клиентской части. В качестве клиента должен выступать другой компьютер.

 

В сетевом центре другого ПК (клиента) наладим новое подключение.

 

Нам надо подсоединяться напрямую к рабочему месту.

 

Опять же обратимся в сетевой центр Windows только теперь другого ПК. Выберем опцию настройки нового подсоединения. Появившийся апплет предложит несколько вариантов на выбор, однако нам понадобится опция подключения к рабочему месту. Мастер спросит, как выполнять подсоединение. Нам же надо остановить свой выбор на настройке подсоединения к Интернету (VPN).

 

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

 

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

 

Затем, система применит все введенные настройки.

 

Выполним подключение

 

Временем X для нашего эксперимента является выполнение подсоединения клиента к серверной части нашей сети. В сетевом центре выберем опцию «Подключиться к сети». В появившемся окошке кликнем VPN-Test (мы указали местоназначение именно с данным именем) и кликнем кнопочку подключиться.

 

 

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

 

Но иногда, может случиться ошибка такого рода. VPN-сервер не отвечает.

 

Кликнем ярлычок входящих соединений.

 

На отмеченной вкладке откроем свойства протокола IP.

 

Установим опцию указывать IP адреса явным образом и пропишем, какие «айпишники» надо обслуживать.

 

Когда же повторно подключимся, то увидим такую картину. Система нам показывает, что подключен один клиент и этот клиент vpn(SimpleUser).

 

Краткий итог

 

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

 

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

internetideyka.ru

vpn подключение: что это такое и как им пользоваться?

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

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

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

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

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

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

Также советуем ознакомиться со статьями:

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

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

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

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

Здесь, компьютеры с ip-адресами 192.168.1.1-100 подключаются через сетевой шлюз, который также выполняет функцию 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

 

 

tvoi-setevichok.ru


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



© 2010- GutenBlog.ru Карта сайта, XML.