Вводное руководство по WireGuard
Все больше и больше работодателей переходят на удаленную работу, что увеличивает потребность в решениях для виртуальных частных сетей (VPN). Это развитие событий обсуждается в недавнем отчете, в котором прогнозируется рост мирового рынка VPN на 45 миллиардов долларов США в этом году с 38 миллиардов долларов США в 2021 году. Одним из конкретных VPN-решений, которое в последнее время привлекает большое внимание, является WireGuard VPN.
Даже создатель Linux Линус Торвальдс в прошлом проявлял большой интерес к этому VPN-протоколу. Итак, что такое WireGuard и почему вы хотите использовать его вместо других VPN? Позвольте мне дать вам краткий обзор. Что вы будете делать дальше, зависит от вас.
Что такое WireGuard VPN?
WireGuard — это быстрое бесплатное программное обеспечение VPN с открытым исходным кодом. С точки зрения сети он работает на сетевом уровне. С точки зрения операционной системы (ОС) он находится в пространстве ядра. Из-за этой ассоциации сетевого уровня WireGuard часто сравнивают с IPsec, самой популярной VPN.
WireGuard состоит всего из 4000 строк кода. Это примерно на один-два порядка меньше, чем у других типов VPN, таких как OpenVPN и IPsec. Реализация OpenVPN, например, может иметь от 70 000 до 600 000 строк кода. Вскоре я расскажу о преимуществах меньшего размера кода.
А пока я объясню, как работает WireGuard.
Как работает WireGuard?
Вы создаете WireGuard VPN, когда две конечные точки, оборудованные WireGuard, устанавливают зашифрованный туннель. На этих двух конечных точках должен быть установлен и настроен WireGuard для установки туннеля. Туннель пропускает данные из одной сети в другую, даже если эти две сети не используют один и тот же протокол. Например, вам понадобится туннель для подключения из локальной сети через телефонные линии через Интернет к другой локальной сети.
Поскольку WireGuard VPN шифрует данные, объекты на пути вашего VPN не смогут прослушивать ваше соединение. Ваш интернет-провайдер и злоумышленники не смогут получить информацию, отправленную через эту VPN. Оранжевый сегмент с надписью «WireGuard VPN» на диаграммах ниже показывает, где VPN защищает передаваемые данные. Кроме того, WireGuard VPN может обеспечить безопасный доступ к ресурсам во внутренней сети.
Позвольте мне показать вам некоторые типичные настройки WireGuard VPN, чтобы проиллюстрировать, как работает WireGuard.
Удаленный доступ WireGuard VPN
Настройка VPN с удаленным доступом состоит из одного или нескольких удаленных устройств и устройства, которое действует как VPN-шлюз в вашей сети. На жаргоне WireGuard эта настройка также называется Peer-to-Site. Peer(s) относится к удаленному устройству(ам), а site относится к вашей сети. Обычно вы используете одноранговую сеть, чтобы предоставить пользователям безопасный удаленный доступ к вашей внутренней сети.
В этом сценарии вы должны установить и настроить WireGuard на удаленном устройстве и устройстве в вашей сети. Удаленным устройством может быть ПК, ноутбук или мобильное устройство. Устройство в вашей сети, которое действует как VPN-шлюз, также известное как VPN-сервер, может быть маршрутизатором, брандмауэром, сервером или любым устройством, доступным из Интернета. Разумеется, все эти устройства должны поддерживать WireGuard.
Сеть-сеть WireGuard VPN
Настройка VPN типа «сеть-сеть» состоит из двух сетей, также известных как сайты. У каждого будет устройство, которое действует как VPN-шлюз. Обычно вы используете межсайтовую VPN, если хотите, чтобы пользователи или процессы на обоих сайтах имели доступ к ресурсам на другом сайте. Например, один сайт может быть сетью вашей штаб-квартиры, а другой может быть сетью филиала.
В этом сценарии вы должны установить и настроить WireGuard на сетевом устройстве, таком как маршрутизатор, брандмауэр или сервер. Затем это устройство будет служить VPN-шлюзом этой сети.
Предыдущие две настройки WireGuard VPN обычно управляются самостоятельно. Вы несете полную ответственность за развертывание, управление и обслуживание VPN в этих сценариях. Однако вы можете захотеть использовать определенные функции WireGuard VPN, но не для развертывания, управления и обслуживания инфраструктуры. Для этой цели вы можете использовать другой VPN-сервис.
VPN-сервис WireGuard
Служба WireGuard VPN обычно представляет собой функцию, предлагаемую через существующую службу VPN. Некоторые провайдеры VPN, такие как NordVPN, CyberGhost и SurfShark, предлагают WireGuard в качестве опции вместе с другими протоколами VPN. Помните, что WireGuard VPN, предлагаемые через службу VPN, обычно обеспечивают конфиденциальность только между вашим устройством и сервером.
Вы можете использовать эти WireGuard VPN для защиты определенных частей вашего сетевого трафика от перехватчиков. Однако обычно вы не можете использовать их для доступа к вашей частной сети, как в предыдущих сценариях. Служба WireGuard VPN может пригодиться, если вам нужна конфиденциальность при подключении к Интернету из нечастного места, например, из отеля или аэропорта.
WireGuard часто сравнивают с OpenVPN, еще одним VPN-решением с открытым исходным кодом. Но лучше ли WireGuard, чем OpenVPN? Давай выясним.
WireGuard лучше, чем OpenVPN?
Я рассмотрю атрибуты WireGuard и OpenVPN в трех областях и расскажу, почему это важно:
- Какие транспортные протоколы они поддерживают
- Где они живут в операционной системе
- Как долго их код
Только UDP против UDP и TCP
WireGuard поддерживает UDP, а OpenVPN поддерживает как UDP, так и TCP. TCP предлагает больше функций, таких как проверка ошибок и надежность доставки. С другой стороны, дополнительная сложность иногда может замедлять работу TCP. Однако поддержка OpenVPN для TCP имеет одно преимущество.
Когда OpenVPN использует TCP, он использует порт 443, тот же порт, что и HTTPS, протокол, используемый большинством веб-сайтов. По этой причине большинство развертываний брандмауэров разрешают TCP 443. Таким образом, ваше соединение OpenVPN должно проходить через большинство брандмауэров, если вы не имеете дело с NGFW, который выполняет глубокую проверку пакетов. Ваш WireGuard VPN не может.
Пространство ядра и пространство пользователя
WireGuard работает в пространстве ядра, тогда как OpenVPN работает в пространстве пользователя. Этот единственный атрибут является важной причиной того, что WireGuard работает быстрее, чем OpenVPN. OpenVPN должен отправлять пакетные данные между пользователем и пространством ядра для процессов маршрутизации и шифрования/дешифрования. Однако OpenVPN представляет новую функцию, которая может привести скорость OpenVPN к уровню WireGuard.
В OpenVPN 2.6, который еще не выпущен, OpenVPN начнет поддерживать разгрузку канала данных (DCO), также известную как openvpn-dco. Openvpn-dco устраняет обмен пакетами между пространством пользователя и ядром, описанный ранее. По словам сотрудников OpenVPN, модуль DCO делает OpenVPN на порядок быстрее, чем предыдущие версии. Если OpenVPN 2.6 будет успешно выпущен, скорость OpenVPN должна быть сопоставима со скоростью WireGuard.
Более короткий код против более длинного кода
Мы уже знаем, что WireGuard имеет значительно меньше строк кода, чем OpenVPN. Почему это дает WireGuard преимущество? Ну, во-первых, более короткий код означает меньшую поверхность атаки. Кроме того, даже если уязвимость действительно возникает, аудит кода может обнаружить проблему намного быстрее.
Конечно, меньше кода также означает меньше функций. Например, OpenVPN поддерживает несколько различных вариантов аутентификации, таких как имя пользователя/пароль, двухфакторная аутентификация и аутентификация на основе сертификатов. Вы не можете найти эти параметры в WireGuard VPN, который использует только аутентификацию с открытым ключом.
Взгляните на эту таблицу, чтобы выделить различия между ними:
Сравнения | WireGuard | OpenVPN |
Поддерживаемые транспортные протоколы | только UDP | UDP и TCP |
Совместимость с брандмауэром | Нет | Да |
Пространство ядра и пространство пользователя | Пространство ядра | Пользовательское пространство |
Поверхность атаки | Меньше | Больше |
Возможность аудита | Легче проводить аудит | Более сложный аудит |
Скорость | В настоящее время быстрее | В настоящее время медленнее |
Набор функций | Меньше функций | Больше возможностей |
Пока мы этим занимаемся, давайте обсудим некоторые преимущества и недостатки использования WireGuard в целом, а не только по сравнению с OpenVPN.
Преимущества использования WireGuard
Если вам нужен только VPN в его самой базовой форме, WireGuard должно хватить. Вот некоторые из основных причин, почему.
Защищает данные в пути
Основное преимущество использования WireGuard VPN, независимо от настройки, заключается в том, что вы можете шифровать данные при передаче. Даже если ваши данные передаются по незащищенной сети, их конфиденциальность не подвергается риску.
Включает безопасный удаленный доступ
Для настройки site-to-site и peer-to-site вы сможете установить безопасный удаленный доступ к локальным сетям (LAN). Эта возможность позволит вам безопасно отправлять или получать данные с помощью этих локальных сетей даже в другом городе, стране или континенте.
Быстрее, чем другие решения VPN
Одной из самых сильных сторон WireGuard является его скорость. Это быстрее, чем другие решения VPN, такие как IPsec и OpenVPN. Это преимущество может пригодиться, если вам требуется быстрое VPN-подключение. Чтобы дать вам представление о том, насколько быстр WireGuard, вот снимок результатов эталонных тестов, сравнивающих WireGuard, IPsec и OpenVPN.
Обеспечивает большую безопасность, чем другие протоколы VPN
Хотя это может быть спорным, я бы сказал, что меньшая поверхность атаки WireGuard важна с точки зрения безопасности. Поскольку это открытый исходный код, специалисты по кибербезопасности могут легко изучить код, чтобы найти уязвимости. По сравнению с другими протоколами VPN вам должно быть проще проверить устойчивость WireGuard к различным угрозам. Кроме того, вам будет проще применить исправление, если вы обнаружите уязвимость.
Хотя эти преимущества, безусловно, полезны, вы также должны знать о недостатках использования WireGuard VPN.
Недостатки использования WireGuard
Как и все решения VPN, WireGuard не идеален. У него есть определенные недостатки, о которых вы должны знать, прежде чем рассматривать возможность его развертывания в бизнес-среде.
Не поддерживает TCP
WireGuard не поддерживает TCP. Вместо этого он использует исключительно UDP, чтобы избежать проблем с производительностью, характерных для туннелей TCP-over-TCP. Использование UDP, который по своей природе быстрее, чем TCP, является одной из причин, по которой WireGuard является быстрым. В большинстве случаев TCP более точен и имеет лучшую проверку ошибок, тогда как UDP ориентирован на чистую скорость. Вам придется использовать другое решение, если вам нужно туннелировать с использованием TCP для потоковой передачи контента и данных.
Не хватает расширенных функций
Минималистичный код WireGuard имеет свои недостатки. Во-первых, в нем отсутствуют некоторые расширенные функции, которые предлагают другие VPN. Мы уже рассмотрели варианты аутентификации, когда говорили об OpenVPN. Другие возможности, такие как распределение ключей, push-конфигурации, маршрутизация и т. д., также отсутствуют. К сожалению для WireGuard, большинству крупных предприятий требуются эти функции для дополнительной безопасности или интеграции. Чтобы выполнить эти требования, вам придется выполнить дополнительные модификации и интеграции. Дополнительные шаги могут увеличить сложность и стоимость.
Недостаточно опережает IPsec
Создатель WireGuard Джейсон Доненфельд упоминает в своем официальном документе, что WireGuard предназначен для замены IPsec. Действительно, WireGuard быстрее, чем IPsec. Однако, как вы можете видеть из результатов тестов, опубликованных ранее, это не безумно быстрее. Разница в скорости невелика, поэтому во многих случаях замена функционирующего развертывания IPsec не дает возможности увеличить пропускную способность на 10–30 %.
Тем не менее, означает ли это, что WireGuard не стоит вашего времени? Ответ зависит от того, как вы собираетесь его использовать.
Кому следует использовать WireGuard?
Как вы уже знаете, WireGuard сам по себе не имеет расширенных функций, которые часто требуются в корпоративных настройках. Поэтому, если вы ищете VPN-решение для своего предприятия, даже самоуправляемое развертывание WireGuard может вам не подойти. По крайней мере, пока WireGuard не созреет.
Тем не менее, WireGuard должен подойти, если вы ИТ-энтузиаст и ищете быструю, бесплатную и расширяемую VPN. Любая организация или лицо, обладающее техническими навыками развертывания, управления и обслуживания решения VPN, может использовать WireGuard. Опять же, просто убедитесь, что у вас есть кто-то, кто может интегрировать дополнительные решения для других необходимых возможностей.
Ладно, пора закругляться.
Заключительные слова
В этой статье говорилось о WireGuard, самом быстром VPN-протоколе на планете. WireGuard можно использовать в настройках VPN с удаленным доступом и VPN типа «сеть-сеть», и вы также можете получить его через поставщика услуг VPN. Хотя WireGuard часто сравнивают с OpenVPN, поскольку оба они имеют открытый исходный код, код WireGuard намного короче. Он также работает в ядре, а не в пользовательском пространстве, где живет OpenVPN.
WireGuard не идеален. Он не поддерживает TCP. Ему также не хватает расширенных функций других более известных протоколов VPN, таких как IPsec и OpenVPN. Из-за этого вы можете подождать, пока протокол станет более зрелым, прежде чем рассматривать его для корпоративного использования. Тем не менее, для легкого личного использования или удаленных работников WireGuard по-прежнему является прекрасным решением для VPN.
Хотите узнать больше о WireGuard VPN и других протоколах? Ознакомьтесь с разделами часто задаваемых вопросов и ресурсов ниже!
Часто задаваемые вопросы
Что такое VPN без регистрации?
VPN без регистрации не хранит журналы трафика. Эта практика делается в целях конфиденциальности. В некоторых странах, например в Швейцарии, действуют законы, запрещающие серверам вести журнал трафика. VPN без ведения журнала помогает компаниям, оборудованным VPN, соответствовать этому требованию.
WARP или VPN лучше для онлайн-безопасности?
WARP — это облачный сервис, предлагаемый компанией Cloudflare, занимающейся веб-производительностью и безопасностью. Как и VPN, WARP защищает вашу конфиденциальность. Однако он не так безопасен, как полноценный VPN. WARP больше ориентирован на скорость, чем на конфиденциальность. В нашей статье о WARP против VPN есть более подробная информация по этой теме.
Зачем мне использовать VPN, если я работаю удаленно?
VPN может защитить вас, когда вы подключены к общедоступной сети Wi-Fi. Это дает вам безопасный удаленный доступ к файлам, приложениям и другим ресурсам в вашей корпоративной сети. Вы можете узнать больше об этом в нашей статье об удаленных работниках и использовании VPN.
Нужен ли мне VPN и брандмауэр?
Абсолютно. Виртуальные частные сети и брандмауэры борются с разными наборами угроз. Виртуальные частные сети защищают передаваемые данные от сетевых перехватчиков. С другой стороны, брандмауэр предотвращает проникновение угроз в вашу сеть. Для обеспечения многоуровневой защиты лучше всего использовать оба решения безопасности.
Как VPN может помочь защитить ваш центр обработки данных?
Виртуальные частные сети играют важную роль в обеспечении безопасности центров обработки данных. Вы можете использовать его для обеспечения безопасного удаленного доступа к ресурсам, размещенным в вашем центре обработки данных. VPN может помешать злоумышленникам получить информацию, пока вы получаете доступ к ресурсам в вашем центре обработки данных.