WireGuard

WireGuard — коммуникационный протокол и бесплатное программное обеспечение с открытым исходным кодом, который реализует зашифрованные виртуальные частные сети (VPN). Первоначально выпущенный для ядра Linux, теперь он является кроссплатформенным (Windows, macOS, BSD, iOS, Android) и широко развертываем. В настоящее время он находится в стадии интенсивной разработки, но уже может считаться самым безопасным, простым в использовании и простейшим VPN-решением в отрасли. Он был разработан для простого использования технологии VPN, высокой производительности и низкой поверхности атаки. WireGuard нацелен на лучшую производительность и большую мощность, чем IPsec и OpenVPN, два других распространенных протокола туннелирования. Протокол WireGuard передаёт трафик по протоколу UDP.

WireGuard предназначен для расширения сторонними программами и скриптами. Расширенные функции WireGuard включают в себя: более удобные интерфейсы управления (включая более простую настройку ключей), ведение журнала, динамические обновления брандмауэра и интеграцию с LDAP.

Исключение таких сложных функций из минимальной кодовой базы повышает её стабильность и безопасность. Для обеспечения безопасности WireGuard ограничивает варианты реализации криптографических элементов управления, выбор процессов обмена ключами, а также сопоставляет алгоритмы с небольшим подмножеством современных криптографических примитивов. Если в каком-либо из примитивов обнаружена ошибка, может быть выпущена новая версия, которая устраняет проблему. Кроме того, непривилегированные пользователи не могут изменять параметры конфигурации, влияющие на безопасность всего приложения.

В основе WireGuard лежит концепция Cryptokey Routing , которая работает путем связывания открытых ключей со списком IP-адресов туннеля, разрешенных внутри туннеля. Каждый сетевой интерфейс имеет закрытый ключ и список пиров. У каждого узла есть открытый ключ. Публичные ключи короткие и простые, они используются одноранговыми узлами для аутентификации друг друга. Их можно передавать для использования в файлах конфигурации любым внеполосным методом, подобно тому, как кто-то может отправить свой открытый ключ SSH другу для доступа к серверу оболочки.

Обсуждение закрыто.