Как настроить сервер OpenVPN в Debian 10

_ Предыдущая версия этого руководства была написана Justin Ellingwood _

Вступление

Хотите получить безопасный и надежный доступ к Интернету со своего смартфона или ноутбука при подключении к ненадежной сети, такой как WiFi в отеле или кафе? Https://en.wikipedia.org/wiki/Virtual_private_network[Virtual Private Network] (VPN) позволяет обходить ненадежные сети конфиденциально и безопасно, как если бы вы находились в частной сети. Трафик выходит с VPN-сервера и продолжается до места назначения.

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

https://openvpn.net [OpenVPN] - это полнофункциональное VPN-решение с открытым исходным кодом Secure Socket Layer (SSL), которое поддерживает широкий спектр конфигураций. В этом руководстве вы настроите сервер OpenVPN на сервере Debian 10, а затем настройте доступ к нему из Windows, macOS, iOS и / или Android. В этом руководстве все этапы установки и настройки будут максимально простыми для каждой из этих установок.

Предпосылки

Чтобы завершить это руководство, вам понадобится доступ к серверу Debian 10, на котором будет размещаться ваша служба OpenVPN. Вам нужно будет настроить не-root * пользователя с привилегиями + sudo + перед тем, как вы начнете это руководство. Вы можете следовать нашему Debian 10 руководстве по первоначальной настройке сервера, чтобы настроить пользователя с соответствующими разрешениями. В связанном руководстве также будет установлен * межсетевой экран *, который предполагается использовать в этом руководстве.

Кроме того, вам понадобится отдельный компьютер, который будет служить вашим центром сертификации. Хотя технически возможно использовать ваш сервер OpenVPN или локальный компьютер в качестве CA, это не рекомендуется, так как это открывает VPN для некоторых уязвимостей безопасности. Согласно the официальная документация OpenVPN, вы должны разместить свой ЦС на автономном компьютере, который предназначен для импорта и подписывания запросов на сертификат. По этой причине в этом руководстве предполагается, что ваш ЦС находится на отдельном сервере Debian 10, у которого также есть пользователь не-root * с правами + sudo + и базовый межсетевой экран.

Обратите внимание, что если вы отключите аутентификацию по паролю при настройке этих серверов, вы можете столкнуться с трудностями при передаче файлов между ними позже в этом руководстве. Чтобы решить эту проблему, вы можете повторно включить проверку подлинности по паролю на каждом сервере. В качестве альтернативы, вы можете сгенерировать пару ключей SSH для каждого сервера, а затем добавить открытый ключ SSH сервера OpenVPN в файл CA + машины authorized_keys и наоборот. См. Https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-debian-10[How для установки ключей SSH в Debian 10] для получения инструкций о том, как выполнить из этих решений.

Когда у вас есть эти предварительные условия, вы можете перейти к шагу 1 этого урока.

Шаг 1 - Установка OpenVPN и Easy RSA

Для начала обновите индекс пакета * VPN-сервера и установите OpenVPN. OpenVPN доступен в репозиториях Debian по умолчанию, поэтому вы можете использовать + apt + для установки:

sudo apt update
sudo apt install openvpn

OpenVPN - это TLS / SSL VPN. Это означает, что он использует сертификаты для шифрования трафика между сервером и клиентами. Для выдачи доверенных сертификатов вы создадите свой собственный простой центр сертификации (CA). Для этого мы загрузим последнюю версию EasyRSA, которую мы будем использовать для построения нашей инфраструктуры открытых ключей CA (PKI), из официального репозитория проекта GitHub.

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

Чтобы начать создание инфраструктуры CA и PKI, используйте + wget +, чтобы загрузить последнюю версию EasyRSA * на ваш компьютер CA и ваш сервер OpenVPN . Чтобы получить последнюю версию, перейдите на страницу *Releases в официальном проекте EasyRSA GitHub