Содержание
При соединении OpenVPN домашняя сеть может выступать в качестве сервера, а удаленное устройство может получать доступ к серверу через маршрутизатор, который работает как шлюз сервера OpenVPN. Чтобы использовать функцию VPN, необходимо включить OpenVPN-сервер на маршрутизаторе, а также установить и запустить программное обеспечение VPN-клиента на удаленном устройстве. Пожалуйста, следуйте инструкциям ниже, чтобы установить соединение OpenVPN.
Шаг1. Настройка OpenVPN сервера на маршрутизаторе:
1.Войдите в веб-интерфейс маршрутизатора. Если вы не знаете, как это сделать, воспользуйтесь инструкциями:
a. Как войти в веб-интерфейс Wi-Fi роутера (новый логотип)?
b. Как войти в веб-интерфейс Wi-Fi роутера (новый логотип)?
2.Перейдите в Дополнительные настройки (Advanced) > VPNServer > OpenVPN и отметьте Включить VPN Server (Enable VPN Server).
Примечание:
• Перед включением VPN-сервера рекомендуется настроить службу динамического DNS (рекомендуется), назначить статический IP-адрес для порта WAN маршрутизатора и синхронизировать системное время с интернетом.
• При первой настройке OpenVPN сервера может потребоваться сгенерировать сертификат перед включением VPN-сервера.
3.Выберите Тип Сервиса (Service Type – протокол связи) для OpenVPN сервера: UDP, TCP.
4.Введите Порт VPN Сервиса (VPN Service Port), к которому подключается VPN-устройство, номер порта должен быть от 1024 до 65535.
5. В полях подсеть VPN/маска сети (VPN Subnet/Netmask) введите диапазон IP-адресов, которые могут быть зарезервированы сервером OpenVPN.
6. Выберите тип клиентского доступа (Client Access). Выберите Домашнюю сеть (Home Network Only), только если хотите, чтобы удаленное устройство имело доступ к домашней сети; выберите Интернет и домашнюю сеть (Internet and Home Network), если вы также хотите, чтобы удаленное устройство имело доступ к интернету через VPN-сервер.
7. Нажмите Кнопку Сохранить (Save).
8. Нажмите кнопку Создать (Generate), чтобы получить новый сертификат.
Примечание:
Если сертификат уже создан, пропустите этот шаг или нажмите кнопку Создать (Generate), чтобы обновить сертификат.
9. Нажмите кнопку Экспорт (Export), чтобы сохранить файл конфигурации OpenVPN, который будет использоваться удаленным устройством для доступа к маршрутизатору.
Шаг 2. Настройка OpenVPN подключения на удаленном устройстве:
1. Посетите http://openvpn.net/index.php/download/community-downloads.html для загрузки клиентской утилиты OpenVPN и установить её на устройство, на котором планируете запускать утилиту OpenVPN клиента.
Примечание:
Необходимо установить клиентскую утилиту OpenVPN на каждом устройстве, которое вы планируете применить функцию VPN для доступа к маршрутизатору. Мобильные устройства должны загружать сторонние приложения из Google Play или Apple App Store.
2. После установки скопируйте файл, экспортированный с маршрутизатора, в папку «config» клиентской утилиты OpenVPN (например, C:Program FilesOpenVPNconfig – для Windows). Путь зависит от того, где была установлена утилита OpenVPN .
3.Запустите клиенсткую утилиту и подключите ее к OpenVPN серверу.
Чтобы узнать более подробную информацию о каждой функции и конфигурации, перейдите в Центр загрузки, чтобы загрузить руководство по вашему продукту.
Во многих организациях сотрудникам в целях экономии бюджета обеспечивается удаленный доступ к рабочим местам. Для этого необходимо использовать защищенный канал связи, основанный на технологии Virtual Private Net, или VPN. Рассмотрим подробнее, как корректно произвести настройку VPN на Zyxel Keenetic.
Подготовка роутера
Прежде чем создавать VPN-сервер на сетевых устройствах Zyxel Keenetic, необходимо провести первоначальную настройку оборудования.
Подключаем девайс к сети электропитания. «Патч-корд» одним разъемом вставляем в роутер, а вторым – в сетевой адаптер на компьютере, с которого будет производиться настройка. Кабель, проведенный провайдером, подключается к специальному разъему WAN на сетевых устройствах Zyxel. Схематически должна получиться такая картина:
На следующем этапе открываем браузер и настраиваем соединение с интернетом. Подробные инструкции о том, как настроить доступ к «мировой паутине» на разных моделях роутеров, представлены на нашем сайте. Здесь мы рассмотрим, как настроить VPN на Zyxel всех моделей Keenetic.
После того как доступ к интернету получен, проверяем наличие актуальной версии прошивки для операционной системы. При необходимости производим обновление внутреннего ПО до последней версии, так как только роутеры Zyxel серии Keenetic с микропрограммой NDMS V2.04.B2 и выше поддерживают функцию VPN.
Второй важный пункт: оборудование должно иметь «белый» IP-адрес в «глобальной сети». Это необходимо для того, чтобы при активации удаленного подключения клиент мог однозначно идентифицировать свой VPN Server Keenetic на разных моделях Zyxel. Получают его у провайдера за дополнительную ежемесячную оплату.
Настройка VPN-подключения
Обзор и настройка модема D-Link Dir-320
Если все вышеуказанные условия соблюдены, переходим к настройке VPN на маршрутизаторе Zyxel Keenetic.
- Заходим через главное меню в раздел «Система», далее — «Компоненты». Отмечаем, что требуется активация опции «VPN-сервер»:
- В зависимости от модели Zyxel потребуется перезагрузка для применения внесенных изменений. После этого на вкладке «Приложения» появится новая панель «Сервер VPN»:
- Далее заходим в нее, выставляем следующие параметры:
- Активируем VPN-сервер на Zyxel Keenetic, отмечаем, чтобы на каждого пользователя создавался новый канал связи для повышения надежности передачи данных.
- Подключение происходит с шифрованием, это поднимает уровень безопасности канала связи. Поэтому используется протокол MPPE. Соответственно, пропускаем третий пункт.
- Поле «Транслировать адреса клиентов (NAT)» активируем, чтобы пользователи подключались через внешнюю сеть.
- В следующем подразделе – «Доступ к сети» – указывается наименование канала связи, по которому будет производиться выход в интернет. Как пример указана домашняя сеть клиента. Через нее будет осуществляться PPTP-подключение.
- Следующие два пункта отвечают за перечень IP-адресов, предоставляемые ВПН-сервером для вновь подключившихся. Количество участников зависит от модели роутера: например, Zyxel Keenetic GIGA разрешает максимум 10 соединений.
- В первом пункте выбираем начальное значение пула IP-адресов, а во втором указываем максимально возможное количество. Таким образом, на роутере зарезервируется десять адресов, которые будут выдаваться PPTP-клиентам.
- Список IP-адресов для VPN не должен совпадать с пулом адресов DHCP-сервера сетевого устройства. Например, Zyxel раздает IP-адреса в диапазоне 192.168.0.10 – 192.168.0.100. Соответственно, для VPN рекомендуется задать пул, начиная с 192.168.0.150.
- После внесения всех изменений нажимаем кнопку «Применить», переходим к следующему разделу – «Конфигурации учетных записей пользователей», находящихся ниже параметров VPN:
- Нажимаем левой кнопкой мыши на имени Admin.
- Выбираем пункт «Разрешить доступ к VPN». Применяем изменения:
- Добавить клиентов к перечню разрешенных через меню «Система», раздел «Пользователи»:
- Указываем имя, придумываем пароль и выставляем права доступа:
- В нашем случае надо обязательно отметить пункт «VPN-сервер». Далее нажимаем «Сохранить».
На этом настройка роутера Zyxel Keenetic завершена, разрешено устанавливать VPN-связь.
Приоритеты подключений
В чем отличия между сетями 3G и 4G: особенности, преимущества и недостатки
Начиная с версии 2.0, встроенное ПО роутеров компании Zyxel поддерживает функцию распределения приоритетов. По сравнению с первой версией присутствует возможность комбинирования соединений разными способами.
Созданные каналы используют либо физические порты сетевого устройства, либо виртуальные интерфейсы. Каждому каналу связи, создаваемому на оборудовании, присваивается приоритет. Его значение редактируется вручную либо остается без изменений:
На скриншоте наивысший приоритет отдан интерфейсу ISP. Это стандартная настройка для доступа к интернету по сетевому кабелю.
Следующим идет Yota: подключение по беспроводному каналу связи. Если первый вариант перестанет работать, роутер автоматически перейдет на указанный режим. Таким образом настраиваются резервные каналы связи и VPN-соединения.
VPN-туннель IPSec
Keenetic 4G поколения III — многофункциональный интернет-центр
Некоторые модели от Zyxel Keenetic поддерживают создание защищенного канала связи через протокол IPsec. Как и в ситуации, описанной выше, его необходимо предварительно проинсталлировать на оборудовании. Заходим через веб-панель в «Систему», далее — «Обновление»:
Выбираем опцию «Показать компоненты». Отмечаем пункт IPsec, как показано на скриншоте ниже:
ОС предложит установить его в функционал, соглашаемся. После окончания процесса инсталляции оборудование перезагрузится. Затем открываем раздел «Интернет», вкладку PPPoE/VPN. Создаем новое соединение, проводим следующие настройки:
- Активируем сам протокол шифрования.
- Со второго пункта снимаем галочку, так как данное соединение не будет использоваться для прямого доступа в интернет.
- Поле «Описание» заполняем произвольным именем, оно необходимо только для идентификации процесса по названию.
- Тип протокола оставляем, как есть.
- В следующем разделе указываем интернет-соединение, используемое роутером для доступа к «мировой паутине».
- Прописываем имя «юзера» и пароль для него.
- Секретный ключ придумываем самостоятельно. Например, Test.
- Метод проверки подлинности оставляем, как показано на скриншоте.
- Адрес сервера составляется Zyxel автоматически. Как правило, используется наименование сервиса. Например, msk.test.ru.
- Сетевые настройки (IP-адрес и DNS-серверы) оставляем в автоматическом режиме.
- Отмечаем галочкой последний пункт.
Завершаем процесс создания нажатием кнопки «Применить». Теперь соединение появится в перечне доступных подключений. Оно используется для создания защищенного канала связи по протоколу IPsec. Android или iOS-совместимые мобильные устройства работают по данной технологии.
Несколько слов про OpenVPN
Протоколы, используемые на сетевых оборудованиях Zyxel, осуществляют две функции:
- PPTP и L2TP – VPN-доступ к серверам провайдера.
- IPSec и OpenVPN – помогают конфигурировать отдельные серверы для создания защищенных каналов связи под личные «нужды».
Про первый вариант было рассказано выше, здесь остановимся на втором. Способ является дополнительной опцией, доступен не на всех моделях Zyxel. Компонент был добавлен в ОС роутеров, начиная с версии NDMS v2.10.B0. Чтобы проверить его совместимость с моделью роутеров Zyxel, заходим в раздел «Компоненты» и смотрим по наличию. Также пользуемся информацией на официальном сайте вендора.
OpenVPN часто применяют как альтернативное подключение к «мировой паутине». Пользователь проверяет, установлен ли он в ОС роутера.
Далее скачиваем с сайта https://www.vpngate.net/en/ конфигурацию сервера OpenVPN, загружаем ее в сетевое устройство. После этого сохраняем, а затем перезапускаем Zyxel.
Более подробно о настройке OpenVPN будет рассказано в отдельной публикации.
Если вы используете OpenVPN для создания виртуальных частных сетей в своей инфраструктуре, рекомендуем обратить внимание на дополнительные инструменты обеспечения безопасности, предлагаемые для этого продукта. Ниже приведен список основных доступных для использования опций.
Примечание: данный материал подразумевает наличие у вас готовой к работе базовой конфигурации OpenVPN. Если такая конфигурация еще не развернута, вы можете воспользоваться одной из наших подробных инструкций по настройке OpenVPN-сервера:
tls-auth
Параметр tls-auth добавляет использование еще одной подписи HMAC к handshake-пакетам SSL/TLS, инициируя дополнительную проверку целостности. Теперь пакет, не имеющий такой подписи, будет отбрасываться, не обрабатываясь. Это обеспечит дополнительный уровень безопасности протокола SSL/TLS, защищая систему от таких атак, как:
- Сканирование прослушиваемых VPN-сервером портов
- Инициация SSL/TLS-соединения несанкционированной машиной (хотя подобные рукопожатия не проходят и при стандартной конфигурации OpenVPN, tls-auth отсекает их на значительно более раннем этапе)
- DoS-атаки и флуд на порты OpenVPN
- Переполенение буфера SSL/TLS
Для активации tls-auth необходимо сгенерировать дополнительный секретный ключ, который будет использоваться совместно со стандартной парой ключей RSA.Сделать это можно с помощью следующей команды:
openvpn --genkey --secret ta.key
Теперь в стандартной директории, в которой хранятся сгенерированные ключи (easy-rsa) появится еще один файл ta.key, который нужно перенести на все устройства сети OpenVPN через защищенный канал (в те же директории, в которых хранятся пользовательские ключи .crt и .key. Затем следует добавить или расскоментировать в файле конфигурации сервера (server.conf) следующую строку:
tls-auth ta.key 0
Также нужно в файле настроек клиента (client.ovpn) добавить/расскоментировать аналогичную строку:
tls-auth ta.key 1
proto udp
Несмотря на то, что OpenVPN предусматривает использование как TCP, так и UDP-протокола для подключения, рекомендуем использовать UDP, так как он обеспечивает более высокий уровень защиты от DoS-атак и сканирования портов сравнительно с протоколом TCP. Выбор протокола устанавливается опцией proto в файле конфигурации сервера. Установите proto udp.
Внимание! Если вы сменили протокол на уже работающем сервере, не забудьте сделать это также в файлах конфигурации клиентов, а затем проверить разрешение для используемого порта UDP (по-умолчанию 1194) в вашем Firewall и перезапустить VPN-сервер.
user/group (не работает на Windows)
Сброс привилегий суперпользователя сразу после активации VPN — хороший способ сделать сервер менее привлекательной целью для различных атак. Рекомендуем всегда использовать эту опцию на серверах под управлением Linux/BSD. Этот параметр устанавливается в следующих строках файлов конфигурации сервера/клиента:
user nobody group nobody
Работа VPN в непривилегированном режиме (только для Linux)
OpenVPN может работать вовсе без привелегий на машинах под управлением Linux. Такая конфигурация является более сложной в развертывании, но обеспечивает повышенный уровень безопасности. Для ее реализации нужно настроить OpenVPN на использование интерфейса iproute. Для этого укажите —enable-iproute2 в параметрах скрипта configure. Для настройки вам также понадобится установленный на машине пакет sudo.
Такая конфигурация основана на возможности Linux-систем устанавливать разрешения на создаваемый демоном OpenVPN виртуальный сетевой адаптер tun так, чтобы непривилегированный пользователь мог получить доступ к нему. Для изменения параметров сетевого интерфейса и таблицы маршрутизации обычным (не «super») пользователем при запуске iproute следует использовать параметр sudo.
Настройка OpenVPN на работу в непривилегированном режиме:
Добавьте представленный ниже скрипт в файл /usr/local/sbin/unpriv-ip (не забудьте указать этому файлу права на исполнение):
#!/bin/sh sudo /sbin/ip $*
Чтобы разрешить для пользователя (в нашем примере ‘1cloud’) выполнение /sbin/ip откройте visudo и добавьте следующую строку:
1cloud ALL=(ALL) NOPASSWD: /sbin/ip
Вы можете дать разрешения также и для группы пользователей:
%users ALL=(ALL) NOPASSWD: /sbin/ip
Теперь необходимо добавить в файл конфигурации OpenVPN следующие строки:
dev tunX/tapX iproute /usr/local/sbin/unpriv-ip
(Необходимо выбрать один из интерфейсов (tun или tap) и заменить X на номер вашего интерефейса.
От имени пользователя root активируйте сетевой адаптер и дайте разрешение на управление им для пользователя и/или группы. Команда, приведенная ниже, создаст интерфейс tunX (необходимо заменить на название вашего адаптера) и даст требуемые разрешения для пользователя 1cloud и группы users.
openvpn --mktun --dev tunX --type tun --user 1cloud --group users
Теперь вы можете запустить OpenVPN от имени указанного выше рядового пользователя.
chroot (не работает на Windows)
Параметр chroot обеспечивает блокировку сервиса OpenVPN в условно обозначаемой «тюрьме» (chroot jail), из которой приложение не сможет иметь доступ к какой-либо части файловой системы, кроме определенной директории, указанной в опциях для параметра chroot (для получения подробной информации изучите man 1 chroot и man 2 chroot).
Например, параметр:
chroot jail
Будет означать, что OpenVPN-демон при инициализации попадет в директорию jail и переориентируется на эту папку так, чтобы в дальнейшем для службы OpenVPN не было возможности получить доступ к каким-либо файлам, кроме каталога jail и его подкаталогов. Это имеет существенное значение с точки зрения безопасности, поскольку если злоумышленнику и удастся скомпрометировать VPN-сервер инъекцией кода, «пойманный» эксплойт останется заблокированным в каталоге, полностью изолированном от основной части файловой системы.
Внимание: т.к. опция chroot изменяет домашнюю директорию для сервиса OpenVPN, следует перенести в jail-каталог все используемые при инициализации OpenVPN файлы.
Увеличение размера RSA-ключа
Размер RSA-ключа шифрования устанавливается директивой KEY_SIZE файла easy-rsa/vars, значение которой должно быть установлено до создания любых ключей OpenVPN. По-умолчанию этот параметр имеет значение 1024 bit , но может быть увеличен до 2048 bit без заметного влияния на производительность виртуальной частной сети, за исключением едва заметного увеличения времени рукопожатия (handshake).
Увеличение размера симметричных ключей
При стандартной конфигурации OpenVPN использует Blowfish — 128-битный симметричный ключ шифрования, но при этом может принимать все виды ключей, поддерживаемых библиотекой OpenSSL. Например, вы можете использовать 256-битный шифр AES (Advanced Encryption Standard), добавив в файлы настроек сервера и клиентов OpenVPN параметр:
cipher AES-256-CBC
Хранение закрытого ключа CA на отдельной машине
Перенос файла секретного ключа Центра Сертификации (ca.key) на отдельный компьютер, не подключенный к сети интернет, или на другое безопасное внешнее хранилище — хороший способ исключить компрометацию существующих и генерацию новых, но не санкционированных ключей X509.
Дело в том, что корневой CA-сертификат не обязательно должен находиться на сервере OpenVPN. Вы вполне можете использовать отдельную машину для подписи ключей, держа ее физически изолированной, и перенося ключи с использованием отличных от интернет каналов, например съемных дисков. Это существенно осложнит потенциальному злоумышленнику задачу кражи ключа Центра Сертификации.
Отзыв сертификатов
Процедура отзыва сертификата подразумевает досрочное прекращение активности ранее созданного и заверенного сертификата пользователя во избежание его дальнейшего использования . Ниже представлены самые распространенные предпосылки для отзыва:
- Закрытый клиентский ключ (.key), связанный с отзываемым сертификатом (.crt), скомпрометирован или украден
- Пользователь забыл пароль пароль для своего ключа
- Вы хотите по собственной инициативе прекратить доступ пользователя к виртуальной частной сети
В рамках данного примера, мы отзовем сертификат пользователя client1.
Войдите в терминал (Linux) или командную строку (Windows) и откройте директорию easy-rsa, аналогично тому, как вы делали это при первичной генерации ключей сервера и клиентов OpenVPN. Введите следующие команды:
Linux:
./vars ./revoke-full client1
Windows:
vars revoke-full client1
Вы должны увидеть результат, похожий на этот:
Using configuration from /root/openvpn/20/openvpn/tmp/easy-rsa/openssl.cnf
DEBUG[load_index]: unique_subject = "yes" Revoking Certificate 04. Data Base Updated Using configuration from /root/openvpn/20/openvpn/tmp/easy-rsa/openssl.cnf DEBUG[load_index]: unique_subject = "yes" client2.crt: /C=KG/ST=NA/O=OpenVPN-TEST/CN=client2/emailAddress=me@myhost.mydomain error 23 at 0 depth lookup:certificate revoked
Пусть вас не смущает «error 23» в последней строке, т.к. именно этот ответ означает, что отозванный сертификат больше не проходит проверку действительности. Выполнение revoke-full генерирует CRL-файл (certificate revocation list) под именем crl.pem в подкаталоге keys. Этот файл необходимо перенести в рабочую директорию OpenVPN-сервера. Проверка CRL должна быть активирована в файле конфигурации сервера добавлением/расскоментированием строки: crl-verify crl.pem.
Валидация серверного сертификата
Для исключения атак типа Man-in-the-Middle, когда машина злоумышленника выдает себя за VPN-сервер для клиента, следует указать пользователям на необходимость проверки серверного сертификата. Для этого существует несколько способов. В данном примере мы рассмотрим метод, применимый для OpenVPN версий 2.1 и выше:
При генерации сертификата сервера укажите значения полей key usage и extended key usage (см. документацию easy-rsa для получения более подробных сведений). Затем добавьте/расскоментируйте следующую строку в файле параметров клиента:remote-cert-tls server
Используйте перечисленные выше инструменты для повышения уровня безопасности вашей виртуальной частной сети и обращайте внимание на сохранность других элементов: используемых каналов передачи ключей и сертификатов, физическая сохранность узлов сети VPN, настройки Firewall и антивирусного ПО, права доступа пользователей к рабочим директориям. Надеемся, этот материал поможет вам в достижении ваших задач.
Используемые источники:
- https://www.tp-link.com/ru/support/faq/1544/
- https://vpautinu.com/nastrojki-routerov/zyxel/nastrojka-vpn
- https://1cloud.ru/help/network/openvpn_additional_feautures