Proxy Service Airlock — это прокси с учётом идентичности и веб-интерфейсом. Основные возможности:

  • Аутентификация пользователей через SSO или локальные учётные данные для доступа к SSH и рабочим столам Windows через веб-интерфейс.
  • Перехват трафика по протоколам SSH, Kubernetes, HTTPS и баз данных с проверкой аутентификации клиентов.
  • Запись команд, API-вызовов и запросов с отправкой в журнал аудита.
  • Обратные туннели для подключения серверов и прокси за межсетевыми экранами.
  • TLS-маршрутизация — сжатие всех портов и протоколов в один TLS-порт.

Минимальный кластер Airlock состоит из Auth Service и Proxy Service. В домашней лаборатории оба сервиса можно запустить одним бинарным файлом airlock.

Веб-интерфейс

В веб-интерфейсе Proxy Service использует WSS (защищённые веб-сокеты) для проксирования целевого ресурса — SSH-сервера или рабочего стола.

При использовании веб-интерфейса Proxy Service завершает TLS-трафик и переформатирует данные для клиентского соединения.

Режим Identity-Aware Proxy (IAP)

В режиме IAP пользователи инициируют SSO или локальный вход для подписи открытых ключей на клиентской машине.

Режим IAP считается более безопасным, чем доступ через веб-интерфейс: закрытые ключи не покидают клиент, соединение с ресурсом взаимно аутентифицировано, браузер используется меньше — снижается риск CSRF и перехвата файлов cookie.

Туннели

В этом режиме ресурсы за межсетевым экраном устанавливают обратные туннели к прокси. Прокси перенаправляет клиентские соединения к целевым ресурсам через эти туннели.

Например, пользователь подключается к кластеру Kubernetes за межсетевым экраном через два туннеля.

Все описанные режимы включены в Proxy Service по умолчанию. Специальная настройка не требуется, если нужно отключить отдельные режимы.

Несколько экземпляров Proxy Service

Кластер Airlock может включать несколько Proxy Service, работающих параллельно. Это стандартный способ масштабирования и повышения отказоустойчивости.

ЦельКак помогает несколько прокси
ДоступностьОтказ одного узла не блокирует доступ: трафик переключается на другие экземпляры
НагрузкаБалансировщик распределяет сессии пользователей и соединения между прокси
LatencyПрокси в разных ДЦ/регионах сокращают путь до пользователей и до агентов

Пользователи подключаются к одному адресу (например, https://airlock.example.com) через балансировщик. Агенты при регистрации открывают обратные туннели ко всем Proxy Service кластера, поэтому любой прокси может маршрутизировать трафик к нужному агенту.

Балансировщик должен использовать round-robin (или аналог без привязки сессии к одному узлу). Sticky session для Proxy Service не подходит.

Подробнее о подключении агентов к нескольким прокси: подключение по join-токену.

Дополнительные ресурсы