История создания
Представьте себе 2001 год. Только что отгремели теракты 11 сентября, мир входит в эпоху тотальной слежки, а программист Джеймс Йонан сидит и пишет код. Ему не нравится, как работают существующие решения типа PPTP (который взломают ещё при жизни наших дедушек), и он решает создать нечто открытое и гибкое.
Так родился OpenVPN. Это дедушка современных протоколов. Он не был привязан к конкретной ОС, использовал мощную библиотеку OpenSSL и, главное, позволял настраивать всё что угодно. С тех пор он прошёл через тысячи аудитов, выдержал атаки спецслужб и стал тем самым «рабочим конём», на котором до сих пор держится половина корпоративных VPN-сетей мира.
Преимущества технологии
Почему он до сих пор жив? Во-первых, это всеядность. OpenVPN умеет работать как по протоколу UDP (для скорости), так и по TCP (для надёжности и маскировки). Во-вторых, это гибкость шифрования. Вы можете сами решить, использовать ли AES-256, ChaCha20 или даже что-то экзотическое. Ну и главное — стабильность. Это настолько древний и хорошо изученный код, что баги в нём встречаются реже, чем ошибки в учебнике по математике.
Недостатки
Но есть и обратная сторона медали. OpenVPN — медленный и тяжёлый. Его кодовая база — это монстр объёмом в сотни тысяч строк. Из-за того, что он работает в пользовательском пространстве (userspace), а не в ядре системы, ему приходится постоянно «копировать» данные туда-сюда. На слабых роутерах вы уроните скорость в разы. Кроме того, его легко вычислить. DPI-системы знают характерные подписи OpenVPN-трафика, как свои пять пальцев.
Резюме
OpenVPN — это Volvo 740. Он тяжёлый, не очень быстрый, кушает много бензина и не блещет дизайном. Но если вы попадёте в аварию (или хакерскую атаку), он с высокой вероятностью сохранит вам жизнь. Для корпоративной безопасности и тех, кому некуда спешить, лучшего выбора пока не придумали.