Агенты Airlock — это экземпляры Airlock, настроенные на проксирование трафика к ресурсам инфраструктуры: серверам, базам данных, кластерам Kubernetes, рабочим столам Windows и веб-приложениям.
Обзор архитектуры
Сервисы
Каждый процесс Airlock может запускать один или несколько сервисов. Сервис включается в конфигурационном файле экземпляра.
Пулы агентов
Агенты обычно работают в тех же частных сетях, что и проксируемые ресурсы. Они должны быть единственными клиентами, имеющими прямой доступ к ресурсу без Airlock.
Агенты устанавливают обратные SSH-туннели к Proxy Service. Proxy Service доступен из интернета по HTTPS, а агентам не нужны открытые порты или публичный адрес.
Proxy Service использует обратные туннели для пересылки трафика по поддерживаемым протоколам на доступного агента. Агент применяет правила RBAC и передаёт трафик ресурсам.
Подключение агентов
Первоначальное подключение к кластеру
Агентам нужно установить доверие с Auth Service. Доступны несколько способов подключения для автоматизации в вашей среде — см. подключение по join-токену.
При первом запуске процесс Airlock читает конфигурацию и определяет включённые сервисы. Каждый сервис отдельно подключается к Auth Service, который проверяет наличие join-токена для этого сервиса. При успехе Auth Service выдаёт учётные данные, подписанные для конкретного сервиса.
Добавление нового сервиса на существующий агент
Учётные данные агентов подписаны для конкретных сервисов. Чтобы запустить новые сервисы, повторите процедуру подключения:
- Сгенерируйте новый join-токен для всех сервисов агента, включая новые.
- Обновите токен в конфигурации (
airlock.join_paramsилиairlock.auth_token). - Удалите каталог состояния агента (по умолчанию
/var/lib/airlock, полеairlock.data_dir). - Перезапустите агент.
Рекомендуется развёртывать агентов через инфраструктуру как код и обновлять конфигурацию сервисов в проекте IaC с последующим передеплоем.
Регистрация инфраструктуры
Два способа зарегистрировать ресурсы через агентов:
- Статический — указать ресурс в конфигурационном файле агента.
- Динамический — применить ресурс конфигурации (YAML через
airctl), чтобы Airlock управлял проксированием.
Подробные инструкции по типам ресурсов:
- SSH-узел — серверы Linux
- OpenSSH — legacy-серверы с OpenSSH
- Агент Kubernetes — кластеры Kubernetes
- RDP Windows — рабочие столы Windows
- Базы данных — PostgreSQL, MySQL, OpenSearch
- Веб-приложения — HTTP/HTTPS-приложения
Руководства в этом разделе
| Документ | Описание |
|---|---|
| join-token | Подключение агента по одноразовому токену |
| ssh-node | Регистрация Linux-сервера с SSH Service |
| openssh | Доступ к серверам OpenSSH без агента |
| kubernetes-agent | Подключение Kubernetes-кластера |
| rdp-windows | Доступ к рабочим столам Windows по RDP |
| databases | Обзор Database Service |
| database-postgresql | PostgreSQL |
| database-mysql | MySQL / MariaDB |
| database-opensearch | OpenSearch / Elasticsearch |
| applications | Внутренние веб-приложения |