что такое vds openvpn

Для чего использовать OpenVPN

Что такое OpenVPN

Примечание. TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) — протоколы транспортного уровня, которые отвечают за передачу данных в интернете.

Безопасность OpenVPN обеспечивается с помощью шифрования и аутентификации посредством библиотеки OpenSSL, ключей шифрования и шифров высокого уровня. В 2017 году VPN Private Internet Access провела аудит безопасности Open VPN, в результате которого разработчики протокола исправили найденные баги и уязвимости. Так что после 2017 года Open VPN стал ещё безопаснее.

Как работает OpenVPN

OpenVPN — наиболее удобная реализация VPN, которая позволяет решать те же задачи, плюс имеет дополнительные возможности.

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

Также, OpenVPN можно использовать, чтобы легко соединить два хоста или сети безопасным туннелем типа «точка — точка». В этом формате OpenVPN может работать со статическими ключами ( key), без сертификатов. Кроме того, эти ключи генерирует сам OpenVPN.

Идентификация осуществляется по ключу, адреса хостов никак не учитываются. Благодаря этой возможности, OpenVPN удобен для соединений с хостами без статического адреса и хостами за NAT.

Как начать работу с OpenVPN

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

Подробнее про установку рецепта мы написали в этой статье.

Источник

Как сделать свой VPN сервер на VPS

Сейчас читают:

Содержание:

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

Варианты использования VPN

Способы создания VPN соединения

Сторонний и собственный VPN-сервер — в чём разница

Выбор инструмента

Настроить VPN на VPS сервере можно с помощью технологии OpenVPN, передающей трафик через защищённые протоколы библиотеки OpenSSL (SSLv3/TLSv1.2), которые считаются наиболее безопасными, по сравнению с другими распространёнными протоколами L2TP, PPTP, SSTP и IKEv2.

Чтобы создать VPN подключение, нужно скачать бесплатный клиент OpenVPN Connect с официального сайта и запустить его установку.

Как настроить сервер VPN

Установка VPN сервера на VPS возможна с помощью готовых скриптов OpenVPN, которые существенно упрощают процесс настройки. Данный способ подойдёт как для дистрибутивов семейства Debian (Ubuntu, Linux Mint и т.д.), так и для Red Hat (CentOS 7, RHEL и т.д.).

После этого должен автоматически запуститься скрипт установки. Он самостоятельно инсталлирует и настроит необходимые пакеты для запуска OpenVPN сервера.

Каждое действие подтверждается нажатием на «Enter».

Настройка VPN сервера считается законченной. Теперь остаётся только подключиться к созданной сети.

Подключение к серверу VPN

Чтобы поднять VPN туннель на VPS, необходимо предварительно перенести файл с расширением «.ovpn» с сервера на устройство с установленным клиентом. Передавать данные по сети можно с помощью FTP-клиента — приложения, предназначенного для управления файлами удалённого хранилища. Программа устанавливает соединение через распространённые сетевые протоколы (SFTP, SCP, FTP и др.).

Существуют свои версии FTP-клиентов для ОС на базе Windows, Linux, а также macOS/iOS и Android. Два первых варианта являются наиболее популярными, поэтому ниже мы рассмотрим их установку подробнее.

Windows

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

Прочитать о том, как работать с клиентом WinSCP можно в этой инструкции.

Алгоритм действий для подключения:

Linux

Чтобы перенести файл «.ovpn» с VPS-сервера на устройство под управлением Linux можно воспользоваться кроссплатформенным FTP-клиентом FileZilla. О том, как установить программу и работать с ней, подробно написано в этой статье.

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

Проверка соединения

Чтобы проверить свой VPN сервер на VPS в системе Windows, необходимо запустить клиент OpenVPN и попытаться подключиться к созданному соединению. В случае успеха статус сети изменится на «Connected». Для системы Linux способ аналогичен, если не считать, что установка соединения выполняется из меню настроек.

Для полной убеждённости можно перейти на сайт 2ip, который выводит информацию о внешнем IP-адресе. Если полученное значение совпадает с адресом VPN-сервера, то всё настроено правильно.

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Источник

Как поднять свой VPN на сервере

Сегодня я расскажу вам, как создать VPN на собственном сервере за 15 минут.

Чем хорош собственный VPN?

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

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

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

Теперь, когда разобрались с теорией, можем приступать к аренде VPS/VDS.

Арендуем сервер

Для стабильного соединения нам нужен сервер с хорошим интернетом. Я использую самую простую конфигурацию «Danny» с системой Ubuntu 20.04, арендованную на Timeweb.

Скорость интернета при данной конфигурации составляет 200 Мбит/с. Этого более чем достаточно для работы VPN на нем.

Для того чтобы взять такой же сервер, нужно зайти на главную страницу Timeweb, перейти во вкладку «VPS/VDS» и нажать кнопку «Заказать» под конфигурацией «Danny». Далее нужно заполнить все поля, выбрать желаемый период оплаты и систему Ubuntu 20.04, а затем нажать кнопку «Заказать».

Источник

VPS для VPN

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

Читайте также:  что делать если хочешь обнять человека а он далеко

Когда может потребоваться услуга VPS-сервер для VPN

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

При работе с открытыми Wi-Fi-точками. В этом случае VPN не роскошь, а необходимость. Если Вы работаете через открытый Hot Spot, данные могут быть перехвачены злоумышленниками. VPN-канал делает использование Wi-Fi-точек безопасным.

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

В бизнесе VPN-сервер чаще всего используется в следующих случаях:

Виды протоколов VPN

Существует много технических реализаций Virtual Private Network. Для настройки VPS/VDS чаще всего используются следующие варианты.

OpenVPN. Распространяется по лицензии GNU GPL. Данное решение имеет открытый код, а для шифрования используются библиотека OpenSSL и доступные в ней алгоритмы шифрования. При установке соединения может применяться как TCP-, так и UDP-протокол, в том числе для вариантов «сервер-клиент» или «точка-точка». OpenVPN может также использоваться для защиты Wi-Fi. На VPS для OpenVPN с помощью данного протокола организуется доступ в Интернет. Например, связка OpenVPN+VDS+KVM дает возможность клиенту получить внешний маршрутизируемый адрес, если провайдер его не предоставляет.

PPTP. Это один из старейших туннельных протоколов VPN типа «точка-точка». Он появился еще на Windows 95 и стал стандартным для всех последующих версий данной ОС. PPTP прост в настройке, имеет высокую скорость и чаще всего используется в приложениях, где скорость имеет больший приоритет, чем безопасность. Например, при потоковой передаче видеофайлов или при работе на старых маломощных компьютерах.

Что выбрать для VPN: VDS или VPS

VDS/VPS – это услуга, в рамках которой каждому клиенту хостинга предоставляется собственная виртуальная машина, которой управляют так же, как и физической. Root-доступ дает возможность вносить изменения как в настройки, так и в состав установленного программного обеспечения. На Западе аббревиатуры VPS и VDS являются синонимами и не имеют четкого разделения. В Рунете каждая из них получила привязку к определенной технологии.

VPS. Традиционно под Virtual Private Server подразумевается технология OpenVZ, которая реализуется на уровне ОС. Это означает, что все виртуальные машины базируются на ядре Linux. Каждая из них – это отдельный сервер (VPS), к которому имеется административный доступ. Однако технология OpenVZ накладывает определенные ограничения:

VDS. Решение ассоциируется с KVM (Kernel-based Virtual Machine). Виртуализация осуществляется за счет специального ПО (гипервизора) – менеджера виртуальных машин. Основное назначение такой программы – обеспечить доступ контейнеров к аппаратному ресурсу и их корректное функционирование. KVM имеет гораздо больший набор возможностей, чем OpenVZ. Например:

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

Различия между технологиями OpenVZ и KVM. В первом случае происходит динамическое распределение имеющихся ресурсов между всеми виртуальными машинами. Это позволяет изменять лимиты выделенных мощностей без перезагрузки, но приводит к сильной зависимости от соседей. Например, чрезмерная нагрузка на один VPS может снизить производительность всего кластера. При использовании KVM такая ситуация невозможна. Каждой VDS выделено определенное количество ресурсов, и она не может превысить их предел. Дополнительным преимуществом технологии KVM является высокая надежность, а ее условным недостатком – меньшая гибкость.

Источник

Руководство по установке и настройке OpenVPN

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

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

Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.

В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.

Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.

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

С благодарностью приму замечания и предложения по содержимому статьи.

Оглавление

Немного теории

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

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

Почему сеть VPN называется виртуальной и частной?

Виртуальная она потому, что узлы сети объединяются не физическими линиями, а виртуальными соединениями, которые создаются программным обеспечением (ПО) VPN.

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

Читайте также:  что нужно делать в игре adorable home

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

Обмен данными по сети

ПО OpenVPN передает данные по сети с помощью протоколов UDP или TCP с применением драйвера TUN/TAP. Протокол UDP и драйвер TUN позволяет подключаться к серверу OpenVPN клиентам, расположенным за NAT.

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

Безопасность и шифрование

Безопасность и шифрование в OpenVPN обеспечивается библиотекой OpenSSL и протоколом транспортного уровня Transport Layer Security (TLS). Вместо OpenSSL в новых версиях OpenVPN можно использовать библиотеку PolarSSL. Протокол TLS представляет собой усовершенствование протокола защищенной передачи данных уровня защищенных сокетов Secure Socket Layers (SSL).

В OpenSSL может использоваться симметричная и ассиметричная криптография.

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

Во втором случае у каждого участника обмена данными есть два ключа — публичный (открытый) и приватный (секретный).

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

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

Для безопасной передачи данных необходимо идентифицировать стороны, принимающие участие в обмене данными. В противном случае можно стать жертвой так называемой «атаки посредника» (Man in the Middle, MITM). В ходе такой атаки злоумышленник подключается к каналу передачи данных и прослушивает его. Он также может вмешиваться, удалять или изменять данные.

Чтобы обеспечить аутентификацию (проверку подлинности пользователя) протокол TLS использует инфраструктуру публичных ключей (Public Key Infrastructure, PKI) и асимметричную криптографию.

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

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

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

Сертификаты и удостоверяющий центр CA

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

Сертификат должна заверить организация, которой доверяют. Эта организация играет роль удостоверяющего центра (Certification authority, CA).

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

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

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

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

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

Сертификат X.509 — это публичный ключ, содержащий такие данные, как субъект, владеющий сертификатом, имя узла, период действия, алгоритм и значение подписи сертификата, и т.д. Сертификат должен быть подписан приватным ключом удостоверяющего центра (Certification authority, CA).

Когда наш узел рабочей станции подключается к удаленному узлу (серверу) с использованием протокола TLS, сервер отправляет ему сертификат X.509. На нашем узле есть публичный ключ удостоверяющего центра CA, который подписал этот сертификат. Этот ключ используется для проверки подписи.

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

Список отзыва сертификатов

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

Для упрощения этой процедуры в OpenVPN предусмотрен список отзыва сертификатов (Сertificate Revocation List, CRL) и простые средства для управления этим списком.

Список CRL создается в удостоверяющем центре CA и потом копируется на сервер OpenVPN. После внесения изменений в список CRL его необходимо повторно скопировать на сервер OpenVPN.

Файл Диффи-Хелмана

Файл Диффи-Хелмана (Diffie-Hellman) необходим для реализации одноименного протокола, позволяющего использовать небезопасный канал для получения общего секретного ключа. Этот ключ будет в дальнейшем использоваться для защищенного обмена данными с помощью алгоритмов симметричного шифрования.

В применении к OpenVPN файл Диффи-Хелмана нужен для обеспечения защиты трафика от расшифровки, если ключи были похищены. Здесь имеется в виду тот трафик, который был записан и сохранен еще до похищения ключей.

Файл Диффи-Хелмана создается на сервере OpenVPN.

Статический ключ HMAC

Статический ключ (хэш-код) аутентификации сообщений (Hash-based Message Authentication Code, HMAC) обеспечивает проверку подлинности информации, передаваемой между сторонами. Этот ключ создается на сервере OpenVPN с целью дополнительной защиты от DoS-атак и флуда.

Компоненты сети OpenVPN

Прежде чем мы перейдем от теории к практике, перечислим основные компоненты сети OpenVPN и объекты, с которыми нам придется иметь дело.

Читайте также:  что значит если дочь похожа на отца

Удостоверяющий центр CA

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

ПО сервера OpenVPN создает туннель внутри незащищенной сети, например, Интернета. Этот туннель обеспечивает безопасный зашифрованный трафик между узлами — участниками обмена данными в сети OpenVPN.

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

Сертификаты (публичные ключи) X.509

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

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

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

Приватные ключи создаются на узлах сети OpenVPN одновременно с файлом запроса на получение сертификата.

Список отзыва сертификатов CRL

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

После создания и каждого изменения список CRL переносится на серверы OpenVPN.

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

Статический ключ HMAC

Служит для проверки подлинности передаваемой информации. Обеспечивает защиту от DoS-атак и флуда. Создается на сервере OpenVPN.

Готовим оборудование для установки OpenVPN

Если вы впервые настраиваете сеть VPN, лучше всего экспериментировать на виртуальных машинах VDS. Это могут быть VDS, созданные локально на вашем компьютере или на сервере в вашей сети, либо арендованные у провайдера. Перед арендой VDS поинтересуйтесь, поддерживается ли драйвер TUN/TAP. Некоторые провайдеры требуют дополнительной оплаты для подключения TUN/TAP.

На рис. 1. мы показали схему стенда, на котором будем устанавливать компоненты и узлы OpenVPN (имена и адреса IP хостов могут быть другими).

Рис. 1. Стенд для изучения OpenVPN.

Здесь изображены три узла (хоста), для каждого из которых потребуется отдельный VDS:

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

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

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

Мы проводили установку серверов OpenVPN в среде ОС Debian Linux и FreeBSD, клиентов OpenVPN в ОС Debian Linux, FreeBSD и Microsoft Windows.

Основная часть статьи посвящена установке компонентов OpenVPN для Debian Linux. Далее мы рассмотрим особенности установки для FreeBSD и Microsoft Windows.

По возможности на узлах сети OpenVPN используйте новые версии ОС. Перед тем как приступить к работе с OpenVPN, обновите пакеты Linux:

Установите на всех узлах пакет пакет zip, если он не был установлен ранее:

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

На всех узлах настройте обновление и синхронизацию времени.

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

Дальнейшие работы мы начнем с подготовки хоста удостоверяющего центра CA. Затем установим хосты сервера и клиента OpenVPN.

Создание удостоверяющего центра CA

Как мы уже говорили, задача удостоверяющего центра CA — выдача подписанных сертификатов для сервера и клиентов OpenVPN.

Чтобы получить сертификат, сервер или клиент на своем хосте генерирует файл запроса на сертификат. Этот файл запроса передается на хост CA, который создает сертификат и подписывает его. Далее подписанный сертификат передается на запросивший хост.

Одновременно с запросом сертификата создается приватный ключ. Приватные ключи создаются для всех узлов сети OpenVPN: для удостоверяющего центра CA, для сервера и всех клиентов OpenVPN.

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

На рис. 2 показан процесс получения подписанного сертификата для сервера OpenVPN.

Рис. 2. Получение сертификата для сервера OpenVPN

Сервер OpenVPN создает свой приватный ключ и файл запроса на получение сертификата. Файл запроса передается в удостоверяющий центр, например, на USB флеш-диске.

Удостоверяющий центр на основе запроса создает подписанный сертификат, который затем требуется перенести на сервер OpenVPN, также на USB флэш-диске.

Если к безопасности не предъявляется особых требований или вы только изучаете OpenVPN, можно подключить машину удостоверяющего центра к сети и передавать запросы и сертификаты, например, с помощью утилит SFTP или SCP. Можно даже совместить функции CA и, например, сервера OpenVPN в одном хосте.

Аналогичным образом необходимо получить сертификаты для всех клиентских узлов (рис. 3).

Рис. 3. Получение сертификата для клиента OpenVPN

Установка утилиты Easy-RSA

Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.

Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.

Все операции с удостоверяющим центром и сертификатами можно (и нужно) проводить от имени непривилегированного пользователя.

Создайте пользователя с именем, например, ca и перейдите в его домашний каталог:

Загрузите дистрибутив программы утилитой wget.

После загрузки распакуйте архив master.zip:

В табл. 1 перечислены файлы и каталоги, входящие в дистрибутив Easy-RSA.

Таблица 1. Состав дистрибутива Easy-RSA.

Источник

Строительный портал