Виртуальная частная сеть ( VPN ) — это сетевая архитектура для виртуального расширения частной сети (т. е. любой компьютерной сети , которая не является общедоступным Интернетом ) через одну или несколько других сетей, которые либо не являются доверенными (поскольку они не контролируются субъектом, стремящимся реализовать VPN), либо должны быть изолированы (что делает нижнюю сеть невидимой или непригодной для непосредственного использования). [1]
VPN может расширить доступ к частной сети для пользователей, которые не имеют прямого доступа к ней, например, офисная сеть, обеспечивающая безопасный доступ извне через Интернет. [2] Это достигается путем создания связи между вычислительными устройствами и компьютерными сетями с помощью протоколов сетевого туннелирования .
Можно сделать VPN безопасным для использования поверх незащищенной среды связи (например, публичного Интернета), выбрав протокол туннелирования, реализующий шифрование . Такой тип реализации VPN имеет преимущество в виде снижения затрат и большей гибкости в отношении выделенных линий связи для удаленных работников . [3]
Термин VPN также используется для обозначения VPN-сервисов , которые продают доступ к своим собственным частным сетям для выхода в Интернет, подключая своих клиентов с помощью протоколов туннелирования VPN.
Мотивация
Целью виртуальной частной сети является предоставление возможности сетевым хостам обмениваться сетевыми сообщениями через другую сеть для доступа к частному контенту, как если бы они были частью одной сети. Это делается таким образом, что пересечение промежуточной сети становится прозрачным для сетевых приложений. Пользователи службы сетевого подключения могут считать такую промежуточную сеть ненадежной, поскольку она контролируется третьей стороной, и могут предпочесть VPN, реализованную с помощью протоколов, которые защищают конфиденциальность их общения.
В случае VPN, предоставляемой провайдером , целью является не защита от ненадежных сетей, а изоляция частей собственной сетевой инфраструктуры провайдера в виртуальных сегментах, таким образом, чтобы сделать содержимое каждого сегмента приватным по отношению к другим. Такая ситуация делает многие другие протоколы туннелирования подходящими для построения PPVPN, даже со слабыми или отсутствующими функциями безопасности (как в VLAN ).
VPN общий рабочий
То, как VPN на самом деле работает, зависит от того, на каких технологиях и протоколах построен VPN. Протокол туннелирования используется для передачи сетевых сообщений с одной стороны на другую. Их цель — взять сетевые сообщения от приложений (работающих на уровне OSI 7 ) на одной стороне туннеля и воспроизвести их на другой стороне, как будто они виртуально заменяют нижние сетевые или канальные уровни. Приложения не нужно изменять, чтобы их сообщения проходили через VPN, поскольку виртуальная сеть или канал доступны ОС.
Приложения, реализующие функции туннелирования или проксирования для себя, не делая такие функции доступными в качестве сетевого интерфейса, не должны считаться реализациями VPN, но могут частично соответствовать той же или схожей цели конечного пользователя по обмену личным содержимым с удаленной сетью (например, просмотр интрасети через аутентифицированный прокси-сервер).
Конфигурации топологии VPN
Конфигурации виртуальных частных сетей можно классифицировать в зависимости от цели виртуального расширения, что делает различные стратегии туннелирования подходящими для различных топологий:
Удаленный доступ
Конфигурация хост-сеть аналогична присоединению одного или нескольких компьютеров к сети, которая не может быть подключена напрямую. Этот тип расширения обеспечивает доступ компьютера к локальной сети удаленного сайта или к любым более широким корпоративным сетям, таким как интрасеть . Каждый компьютер отвечает за активацию собственного туннеля к сети, к которой он хочет присоединиться. Объединенная сеть знает только об одном удаленном хосте для каждого туннеля. Это может использоваться для удаленных работников или для того, чтобы люди могли получать доступ к своим частным домашним или корпоративным ресурсам, не подвергая их воздействию публичного Интернета. Туннели удаленного доступа могут быть как по требованию, так и постоянно включенными. Правильные реализации этой конфигурации требуют, чтобы удаленный хост инициировал связь с центральной сетью, к которой он получает доступ, поскольку местоположение удаленного хоста обычно неизвестно центральной сети, пока первая не попытается связаться с ним.
Сайт-сайт
Конфигурация site-to-site соединяет две сети. Эта конфигурация расширяет сеть в географически разнесенных местах. Туннелирование выполняется только между двумя устройствами (такими как маршрутизаторы, брандмауэры, шлюзы VPN, серверы и т. д.), расположенными в обоих сетевых местоположениях. Затем эти устройства делают туннель доступным для других хостов локальной сети, которые стремятся достичь любого хоста на другой стороне. Это полезно для поддержания стабильного соединения сайтов друг с другом, например, офисных сетей со своим главным офисом или центром обработки данных. В этом случае любая сторона может быть настроена на инициирование связи, если она знает, как связаться с другой в сети-посреднике. Если обе стороны известны друг другу, а выбранный протокол VPN не привязан к клиент-серверной архитектуре, связь может быть инициирована любой из них, как только они увидят, что VPN неактивна или какой-либо локальный хост пытается связаться с другим, который, как известно, находится на другой стороне.
В контексте конфигураций типа «сайт-сайт» термины «интранет» и «экстранет» используются для описания двух различных вариантов использования. [4] Интранет - сайт-сайт VPN описывает конфигурацию, в которой сайты, соединенные VPN, принадлежат одной и той же организации, тогда как экстранет -сайт-сайт VPN объединяет сайты, принадлежащие нескольким организациям.
Обычно люди взаимодействуют с VPN удаленного доступа, тогда как предприятия, как правило, используют соединения site-to-site для сценариев бизнес-бизнес , облачных вычислений и филиалов . Однако эти технологии не являются взаимоисключающими и в достаточно сложной бизнес-сети могут быть объединены для обеспечения удаленного доступа к ресурсам, расположенным на любом данном сайте, например, к системе заказов, которая находится в центре обработки данных.
Помимо общей топологической конфигурации, VPN также может характеризоваться:
протокол туннелирования, используемый для туннелирования трафика.
местоположение точки окончания туннеля, например, на границе клиента или на границе поставщика сетевых услуг.
предоставляемые функции безопасности.
уровень OSI, который они представляют для соединительной сети, например, канал/цепь уровня 2 или сетевое соединение уровня 3 .
количество одновременно разрешенных туннелей.
отношения между субъектом, реализующим VPN, и владельцем/провайдером сетевой инфраструктуры, а также то, доверяет ли первый среде, в которой он работает, или нет.
Существуют различные технологии VPN, позволяющие адаптироваться к вышеуказанным характеристикам, каждая из которых обеспечивает различные возможности сетевого туннелирования и различное покрытие или интерпретацию модели безопасности.
Собственная и сторонняя поддержка VPN
Поставщики и разработчики операционных систем обычно предлагают встроенную поддержку ряда протоколов VPN, которые со временем могут меняться, поскольку некоторые из них оказались небезопасными с точки зрения современных требований и ожиданий, а некоторые другие появились.
Поддержка VPN в потребительских операционных системах
Операционные системы настольных компьютеров, смартфонов и других устройств конечного пользователя обычно поддерживают настройку VPN удаленного доступа с помощью графических инструментов или инструментов командной строки . [5] [6] [7] Однако из-за разнообразия, часто нестандартных, протоколов VPN существует множество сторонних приложений, реализующих дополнительные протоколы, которые еще не поддерживаются или уже не поддерживаются изначально ОС.
Например, в Android отсутствовала встроенная поддержка IPsec IKEv2 до версии 11, [8] и пользователям приходилось устанавливать сторонние приложения для подключения к таким VPN, в то время как Microsoft Windows , BlackBerry OS и другие поддерживали ее в прошлом.
Напротив, Windows не поддерживает простую собственную конфигурацию VPN для удаленного доступа IPsec IKEv1 (обычно используемую решениями Cisco и Fritz!Box VPN), что делает обязательным использование сторонних приложений для людей и компаний, полагающихся на такой протокол VPN.
Поддержка VPN в сетевых устройствах
Сетевые устройства, такие как брандмауэры, часто включают в себя функциональность шлюза VPN для удаленного доступа или конфигураций site-to-site. Их административные интерфейсы часто облегчают настройку виртуальных частных сетей с выбором поддерживаемых протоколов, которые были интегрированы для легкой настройки из коробки.
В некоторых случаях, например в операционных системах с открытым исходным кодом, предназначенных для межсетевых экранов и сетевых устройств (например, OpenWrt , IPFire , PfSense или OPNsense ), можно добавить поддержку дополнительных протоколов VPN, установив отсутствующие программные компоненты или сторонние приложения.
Аналогично, можно заставить работать дополнительные конфигурации VPN, даже если ОС не облегчает настройку этой конкретной конфигурации, вручную редактируя внутренние конфигурации или изменяя открытый исходный код самой ОС. Например, pfSense не поддерживает конфигурации VPN удаленного доступа через свой пользовательский интерфейс, где ОС работает на удаленном хосте, в то время как обеспечивает всестороннюю поддержку для настройки его в качестве центрального шлюза VPN такого сценария конфигурации удаленного доступа.
В противном случае коммерческие устройства с функциями VPN, основанные на фирменных аппаратных/программных платформах, обычно поддерживают согласованный протокол VPN во всех своих продуктах, но не открываются для настроек за пределами тех вариантов использования, которые они намеревались реализовать. Это часто касается устройств, которые полагаются на аппаратное ускорение VPN для обеспечения более высокой пропускной способности или поддержки большего количества одновременно подключенных пользователей.
Механизмы безопасности
Всякий раз, когда VPN предназначена для виртуального расширения частной сети через стороннюю недоверенную среду, желательно, чтобы выбранные протоколы соответствовали следующей модели безопасности:
VPN не предназначены для того, чтобы сделать подключающихся пользователей ни анонимными, ни неидентифицируемыми с точки зрения поставщика ненадежной среды. Если VPN использует протоколы, которые предоставляют вышеуказанные функции конфиденциальности, их использование может повысить конфиденциальность пользователя , лишив владельца ненадежной среды возможности доступа к личным данным, которыми обмениваются через VPN.
Аутентификация
Чтобы предотвратить доступ неавторизованных пользователей к VPN, большинство протоколов могут быть реализованы способами, которые также позволяют аутентифицировать подключающиеся стороны. Это обеспечивает конфиденциальность, целостность и доступность присоединенной удаленной сети.
Конечные точки туннеля могут быть аутентифицированы различными способами во время инициации доступа VPN. Аутентификация может происходить немедленно при инициации VPN (например, путем простого внесения в белый список IP-адреса конечной точки) или очень поздно, после того как фактические туннели уже активны (например, с помощью веб-портала захвата ).
VPN с удаленным доступом, которые обычно инициируются пользователем, могут использовать пароли , биометрию , двухфакторную аутентификацию или другие криптографические методы. Людей, инициирующих этот тип VPN из неизвестных произвольных сетевых расположений, также называют «дорожными воинами». В таких случаях невозможно использовать исходные сетевые свойства (например, IP-адреса) в качестве безопасных факторов аутентификации, и необходимы более надежные методы.
VPN-соединения типа «сайт-сайт» часто используют пароли ( предварительно общие ключи ) или цифровые сертификаты . В зависимости от протокола VPN они могут хранить ключ, чтобы туннель VPN мог устанавливаться автоматически, без вмешательства администратора.
VPN-протоколы, которые стоит выделить
Виртуальная частная сеть основана на протоколе туннелирования и может комбинироваться с другими сетевыми или прикладными протоколами, обеспечивая дополнительные возможности и иную модель покрытия безопасности.
Протокол безопасности Интернета ( IPsec ) изначально был разработан Инженерной группой Интернета (IETF) для IPv6 и требовался во всех соответствующих стандартам реализациях IPv6 до того, как RFC 6434 сделал его только рекомендацией. [9] Этот основанный на стандартах протокол безопасности также широко используется с IPv4 . Его конструкция отвечает большинству целей безопасности: доступности, целостности и конфиденциальности . IPsec использует шифрование, инкапсулируя пакет IP внутри пакета IPsec. Деинкапсуляция происходит в конце туннеля, где исходный пакет IP расшифровывается и пересылается по назначению. Туннели IPsec устанавливаются протоколом обмена ключами Интернета (IKE) . Туннели IPsec, созданные с помощью IKE версии 1 (также известные как туннели IKEv1 или часто просто «туннели IPsec»), могут использоваться отдельно для обеспечения VPN, но часто объединяются с протоколом туннелирования уровня 2 (L2TP) . Их сочетание сделало возможным повторное использование существующих реализаций, связанных с L2TP, для более гибких функций аутентификации (например, Xauth), желательных для конфигураций удаленного доступа. IKE версии 2, созданный Microsoft и Cisco, может использоваться отдельно для обеспечения функциональности IPsec VPN. Его основными преимуществами являются встроенная поддержка аутентификации через Extensible Authentication Protocol (EAP) и возможность бесшовного восстановления туннеля при изменении IP-адреса связанного хоста, что типично для мобильных устройств в роуминге, будь то в сетях 3G или 4G LTE . IPsec также часто поддерживается сетевыми аппаратными ускорителями, [10] что делает IPsec VPN желательным для сценариев с низким энергопотреблением, таких как конфигурации VPN с постоянным удаленным доступом. [11] [12]
Datagram Transport Layer Security ( DTLS ) – используется в Cisco AnyConnect VPN и OpenConnect VPN [14] для решения проблем TLS с туннелированием по TCP (SSL/TLS основаны на TCP, а туннелирование TCP по TCP может привести к большим задержкам и прерываниям соединения [15] ).
Многоканальная виртуальная частная сеть (MPVPN). Компания Ragula Systems Development Company владеет зарегистрированной торговой маркой «MPVPN». [ актуально? ] [16]
Secure Shell (SSH) VPN – OpenSSH предлагает VPN-туннелирование (отличное от переадресации портов ) для защиты [ неоднозначных ] удаленных подключений к сети, межсетевых соединений и удаленных систем. Сервер OpenSSH предоставляет ограниченное количество одновременных туннелей. Сама функция VPN не поддерживает персональную аутентификацию. [17] SSH чаще используется для удаленного подключения к машинам или сетям вместо VPN-подключения site-to-site.
WireGuard — это протокол. В 2020 году поддержка WireGuard была добавлена в ядра Linux [18] и Android [19] , что открыло его для принятия поставщиками VPN. По умолчанию WireGuard использует протокол Curve25519 для обмена ключами и ChaCha20-Poly1305 для шифрования и аутентификации сообщений, но также включает возможность предварительного обмена симметричным ключом между клиентом и сервером. [20]
Crypto IP Encapsulation (CIPE) — это бесплатная реализация VPN с открытым исходным кодом для туннелирования пакетов IPv4 по UDP с помощью инкапсуляции . [21] CIPE был разработан для операционных систем Linux Олафом Титцем, а порт для Windows был реализован Дэмионом К. Уилсоном. [22] Разработка CIPE завершилась в 2002 году. [23]
Надежные сети доставки
Доверенные VPN не используют криптографическое туннелирование; вместо этого они полагаются на безопасность сети одного провайдера для защиты трафика. [24]
L2TP [25], который является основанной на стандартах заменой и компромиссом, вобравшим в себя лучшие черты каждого из двух фирменных протоколов VPN: Layer 2 Forwarding (L2F) [26] от Cisco (устарел с 2009 года ) и Point-to-Point Tunneling Protocol (PPTP)[обновлять] от Microsoft . [27]
С точки зрения безопасности VPN должна либо доверять базовой сети доставки, либо обеспечивать безопасность с помощью механизма в самой VPN. Если только доверенная сеть доставки не работает только между физически защищенными сайтами, то и доверенные, и защищенные модели нуждаются в механизме аутентификации для пользователей, чтобы получить доступ к VPN. [ необходима цитата ]
VPN в мобильных средах
Мобильные виртуальные частные сети используются в условиях, когда конечная точка VPN не привязана к одному IP-адресу , а перемещается по различным сетям, таким как сети передачи данных от операторов сотовой связи или между несколькими точками доступа Wi-Fi, не прерывая защищенный сеанс VPN или не теряя сеансы приложений. [28] Мобильные VPN широко используются в сфере общественной безопасности , где они предоставляют сотрудникам правоохранительных органов доступ к таким приложениям, как автоматизированная диспетчерская служба и базы данных по уголовным преступлениям, [29] а также в других организациях с аналогичными требованиями, такими как управление выездными службами и здравоохранение. [30] [ для проверки нужна цитата ]
Ограничения сети
Ограничением традиционных VPN является то, что они являются соединениями точка-точка и не поддерживают широковещательные домены ; поэтому связь, программное обеспечение и сетевые соединения, основанные на пакетах уровня 2 и широковещательных пакетах , таких как NetBIOS , используемый в сетях Windows , могут не поддерживаться в полной мере, как в локальной сети . Варианты VPN, такие как Virtual Private LAN Service (VPLS) и протоколы туннелирования уровня 2, предназначены для преодоления этого ограничения. [31]
^ "виртуальная частная сеть". Глоссарий Центра ресурсов компьютерной безопасности NIST . Архивировано из оригинала 2 января 2023 г. Получено 2 января 2023 г.
^ "Что такое VPN? - Виртуальная частная сеть". Cisco . Архивировано из оригинала 31 декабря 2021 г. Получено 5 сентября 2021 г.
^ RFC 3809 — Общие требования к виртуальным частным сетям, предоставляемым поставщиком. раздел 1.1. doi : 10.17487/RFC3809 . RFC 3809.
^ «Подключение к VPN в Windows — служба поддержки Microsoft». support.microsoft.com . Получено 11 июля 2024 г. .
^ "Подключение к виртуальной частной сети (VPN) на Android" . Получено 11 июля 2024 г. .
^ "Обзор настроек VPN для устройств Apple". Поддержка Apple . Получено 11 июля 2024 г.
^ "Библиотека IPsec/IKEv2". Android Open Source Project . Получено 11 июля 2024 г.
^ RFC 6434, «Требования к узлу IPv6», Э. Янкевич, Дж. Лоуни, Т. Нартен (декабрь 2011 г.)
^ "Руководство по настройке безопасности VPN с IPsec, Cisco IOS Release 15S — Модуль ускорения VPN [Поддержка]". Cisco . Получено 9 июля 2024 г. .
^ "Обзор VPN для развертывания устройств Apple". Поддержка Apple . Получено 9 июля 2024 г.
^ «О Always On VPN для удаленного доступа к Windows Server». learn.microsoft.com . 22 мая 2023 г. . Получено 9 июля 2024 г. .
^ "1. Ultimate Powerful VPN Connectivity". www.softether.org . SoftEther VPN Project. Архивировано из оригинала 8 октября 2022 г. Получено 8 октября 2022 г.
^ "OpenConnect". Архивировано из оригинала 29 июня 2022 г. . Получено 8 апреля 2013 г. OpenConnect — клиент для AnyConnect SSL VPN от Cisco [...] OpenConnect официально не поддерживается и не связан каким-либо образом с Cisco Systems. Он просто взаимодействует с их оборудованием.
^ "Почему TCP поверх TCP — плохая идея". sites.inka.de . Архивировано из оригинала 6 марта 2015 г. Получено 24 октября 2018 г.
^ "Trademark Status & Document Retrieval". tarr.uspto.gov . Архивировано из оригинала 21 марта 2012 г. Получено 8 октября 2022 г.
^ "ssh(1) – OpenBSD manual pages". man.openbsd.org . Архивировано из оригинала 5 июля 2022 г. . Получено 4 февраля 2018 г. .
Баршель, Колин. "Unix Toolbox". cb.vu . Архивировано из оригинала 28 мая 2019 . Получено 2 августа 2009 .
"SSH_VPN – Community Help Wiki". help.ubuntu.com . Архивировано из оригинала 2 июля 2022 г. . Получено 28 июля 2009 г. .
^ Salter, Jim (30 марта 2020 г.). «WireGuard VPN выходит на версию 1.0.0 — и в следующее ядро Linux». Ars Technica . Архивировано из оригинала 31 марта 2020 г. Получено 30 июня 2020 г.
^ "Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git в Google". android.googlesource.com . Архивировано из оригинала 29 июня 2022 г. Получено 30 июня 2020 г.
^ Younglove, R. (декабрь 2000 г.). «Виртуальные частные сети — как они работают». Computing & Control Engineering Journal . 11 (6): 260–262. doi :10.1049/cce:20000602. ISSN 0956-3385.[ мертвая ссылка ]
Бенджамин Доулинг и Кеннет Г. Патерсон (12 июня 2018 г.). «Криптографический анализ протокола WireGuard». Международная конференция по прикладной криптографии и сетевой безопасности . ISBN 978-3-319-93386-3.
^ Fuller, Johnray; Ha, John (2002). Red Hat Linux 9: Red Hat Linux Security Guide (PDF) . Соединенные Штаты: Red Hat, Inc. стр. 48–53. Архивировано (PDF) из оригинала 14 октября 2022 г. . Получено 8 сентября 2022 г. .
Petersen, Richard (2004). "Глава 17: Безопасность интернет-протокола: IPsec, Crypto IP Encapsulation для виртуальных частных сетей". Red Hat - The Complete Reference Enterprise Linux & Fedora Edition. Соединенные Штаты: McGraw-Hill/Osborne . ISBN 0-07-223075-4. Архивировано из оригинала 17 января 2023 г. . Получено 17 января 2023 г. .
^ Titz, Olaf (20 декабря 2011 г.). "CIPE - Crypto IP Encapsulation". CIPE - Crypto IP Encapsulation . Архивировано из оригинала 18 мая 2022 г. . Получено 8 сентября 2022 г. .
^ Тиц, Олаф (2 апреля 2013 г.). «CIPE — зашифрованный IP в туннелировании UDP». SourceForge . Архивировано из оригинала 8 сентября 2022 г. Получено 8 сентября 2022 г.
Wilson, Damion (19 октября 2002 г.). "CIPE-Win32 - Crypto IP Encapsulation for Windows NT/2000". SourceForge . Архивировано из оригинала 8 сентября 2022 г. . Получено 8 сентября 2022 г. .
^ Cisco Systems, Inc. (2004). Справочник по технологиям межсетевого взаимодействия. Серия «Сетевые технологии» (4-е изд.). Cisco Press. стр. 233. ISBN9781587051197. Получено 15 февраля 2013 г. . [...] VPN, использующие выделенные каналы, такие как Frame Relay [...], иногда называют доверенными VPN , поскольку клиенты уверены, что сетевые объекты, используемые поставщиками услуг, не будут скомпрометированы.
^ Протокол туннелирования второго уровня "L2TP". Архивировано 30 июня 2022 г. на Wayback Machine , RFC 2661, W. Townsley et al. , август 1999 г.
^ Виртуальные частные сети на основе IP Архивировано 9 июля 2022 г. на Wayback Machine , RFC 2341, А. Валенсия и др. , май 1998 г.
^ Протокол туннелирования точка-точка (PPTP). Архивировано 2 июля 2022 г. на Wayback Machine , RFC 2637, K. Hamzeh et al. , июль 1999 г.
^ Файфер, Лиза. «Mobile VPN: Closing the Gap» Архивировано 6 июля 2020 г. на Wayback Machine , SearchMobileComputing.com , 16 июля 2006 г.
^ Уиллетт, Энди. «Решение вычислительных задач мобильных офицеров». Архивировано 12 апреля 2020 г. на Wayback Machine , www.officer.com , май 2006 г.
↑ Ченг, Роджер. «Потерянные связи». Архивировано 28 марта 2018 г. в Wayback Machine , The Wall Street Journal , 11 декабря 2007 г.
^ Соуэллс, Джулия (7 августа 2017 г.). «Виртуальная частная сеть (VPN): что такое VPN и как она работает». Hackercombat . Архивировано из оригинала 17 июня 2022 г. Получено 7 ноября 2021 г.
Дальнейшее чтение
Келли, Шон (август 2001 г.). «Необходимость — мать изобретения VPN». Communication News : 26–28. ISSN 0010-3632. Архивировано из оригинала 17 декабря 2001 г.