OpenVPN для всех

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

VPN означает виртуальную приватную сеть. Виртуальная приватная сеть — это локальная сеть, развёрнутая поверх интернета.

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

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

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

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