VPN (Virtual Private Network — виртаульная частная сеть) — логическая сеть для защищенной передачи данных по незащищенным каналам (например Интернет). Это свободная, бесплатная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами, которая была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.
В общем случае сети VPN предназначены для решения задач защищенного подключения конечного пользователя к удаленной сети и защищенного соединения нескольких локальных сетей используя публичные сети общего назначения.
Реализаций VPN достаточно много, как проприетарных (платных) таки бесплатных, но на сегодняшний день OpenVPN (Virtual Private Network — виртуальная частная сеть) — самое надежное и наиболее распространенное полнофункциональное средство построения виртуальных частных сетей, организации удалённого доступа по открытым сетям с помощью создания шифрованного тоннеля, безопасного использования Wi-Fi и решения ряда других задач, связанных с безопасностью передачи данных, базирующееся на SSL.
Для обеспечения безопасности управляющего канала и потока данных, OpenVPN использует библиотеку OpenSSL. Благодаря этому задействуется весь набор алгоритмов шифрования, доступных в данной библиотеке. Также может использоваться пакетная авторизация HMAC, для обеспечения большей безопасности, и аппаратное ускорение для улучшения производительности шифрования. Эта библиотека использует OpenSSL, а точнее протоколы SSLv3/TLSv1. OpenVPN используется в операционных системах Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX и Microsoft Windows.
В OpenVPN ряд основных функций защиты VPN реализован на базе протокола Secure Sockets Layer (SSL)/Transport Layer Security (TLS) (безопасность сети на 2-м и 3-м уровне OSI), а в других реализациях VPN для этого используются протоколы IP Security (IPsec) или PPTP.
В отличие от других SSL VPN, достоинством которых считается установка без использования клиентов (соединение SSL VPN устанавливается через браузер), для OpenVPN необходим специальный клиент. Кроме того, OpenVPN представляет собой одноранговое (P2P) приложение, поэтому одну программу можно выполнять по обеим сторонам туннеля VPN.
В OpenVPN предусмотрены режимы моста (bridged) и маршрутизации (routing), в которых сетевой трафик можно направлять через единственный порт UDP или TCP по выбору администратора. По умолчанию OpenVPN использует протокол UDP и порт 1194. Любой сетевой трафик, посылаемый или принимаемый для сетевого адаптера, инкапсулируется в зашифрованный пакет и доставляется в другой конечный пункт туннеля OpenVPN, где данные расшифровываются и попадают в удаленную сеть. Позволяет устанавливать соединения между компьютерами находящимися за NAT-firewall без необходимости изменения его настроек.
OpenVPN предлагает пользователю несколько видов аутентификации:
- Предустановленный ключ — самый простой метод.
- Сертификатная аутентификация — наиболее гибкий в настройках метод.
- С помощью логина и пароля, — может использоваться без создания клиентского сертификата (серверный сертификат всё равно нужен).
но самым надежным и наиболее часто используемым все-таки является сертификатная аутентификация.
На сегодняшний день OpenVPN активно используется огромным количеством организаций по всему миру для соединения воедино множества распределенных сетей их филиалов. Использование Интернет, как среды передачи данных позволяет в данном случае существенно сократить расходы за счет дешевизны услуг провайдеров доступа в Интернет по сравнению с предоставлением выделенных каналов передачи данных.
Сайт OpenVPN.