Airlock обеспечивает подключение, аутентификацию, контроль доступа и аудит для инфраструктуры. Платформа включает прокси с учётом идентичности, центр сертификации с короткоживущими сертификатами, единую систему контроля доступа и туннелирование для доступа к ресурсам за брандмауэром.

В этом руководстве показано, как развернуть одноузловой кластер Airlock на Linux-сервере. После развёртывания можно настроить RBAC, зарегистрировать ресурсы и защитить тестовые или домашние окружения.

Компоненты демо-кластера

  • Auth Service — центр сертификации кластера. Выпускает сертификаты и проводит проверку аутентификации. Обычно недоступен извне частной сети.
  • Proxy Service — фронтенд кластера: обрабатывает запросы пользователей, передаёт учётные данные в Auth Service и взаимодействует с агентами.
  • SSH Service — SSH-сервер с короткоживущими сертификатами, RBAC, записью сессий и другими возможностями Airlock.

Предварительные требования

  • Linux-хост с открытым портом 443 для входящего трафика. Необходима возможность установки и запуска ПО. Для первоначальной настройки потребуется SSH-доступ (откройте порт SSH в дополнение к 443).
  • Приложение для многофакторной аутентификации (Authy, Google Authenticator, 1Password и т.п.).
  • Один из вариантов:
    • Зарегистрированное доменное имя.
    • Авторитетный DNS-сервер организации и существующий центр сертификации. Браузер должен использовать DNS-сервер организации.

Шаг 1 из 4. Настройка DNS

Airlock использует TLS для защиты Proxy Service и Auth Service, поэтому нужно доменное имя для проверки сертификата. Создайте две DNS-записи типа A, указывающие на IP-адрес Linux-хоста. Для домена airlock.example.com:

ДоменНазначение
airlock.example.comТрафик пользователей и сервисов к Proxy Service
*.airlock.example.comТрафик к веб-приложениям, зарегистрированным в Airlock

Шаг 2 из 4. Установка Airlock на Linux-хост

Установка

curl https://deckhouse.ru/downloads/airlock/install.sh | bash -s

Настройка

Сгенерируйте конфигурационный файл с помощью airlock configure. Команда требует TLS-сертификат и закрытый ключ.

Развёртывание в публичной сети с Let’s Encrypt

Let’s Encrypt проверяет владение доменом через HTTPS на порту 443 Proxy Service. Замените airlock.example.com на домен кластера, а admin@example.com — на email для уведомлений:

sudo airlock configure -o file \
  --acme --acme-email=admin@example.com \
  --cluster-name=airlock.example.com

Порт 443 на хосте Proxy Service должен принимать трафик из любых источников.

Развёртывание в частной сети

Разместите закрытый ключ и цепочку сертификатов в /var/lib/airlock/privkey.pem и /var/lib/airlock/fullchain.pem. Сертификат должен соответствовать домену кластера.

sudo airlock configure -o file \
  --cluster-name=airlock.example.com \
  --public-addr=airlock.example.com:443 \
  --cert-file=/var/lib/airlock/fullchain.pem \
  --key-file=/var/lib/airlock/privkey.pem

Запуск

sudo systemctl enable airlock
sudo systemctl start airlock
sudo systemctl status airlock

Откройте веб-интерфейс по HTTPS: https://airlock.example.com. Должен отобразиться экран приветствия.

Шаг 3 из 4. Создание пользователя и MFA

Создайте администратора airlock-admin с правами входа как root, ubuntu или другие локальные учётные записи:

sudo airctl users add airlock-admin --roles=editor,access --logins=root,ubuntu

Команда выведет одноразовую ссылку для завершения регистрации пользователя (действует 1 час):

User "airlock-admin" has been created but requires a password. Share this URL with the user to complete user setup, link is valid for 1h:
https://airlock.example.com:443/web/invite/...

Перейдите по ссылке, задайте пароль и настройте OTP по QR-коду.

Учётные записи из флага --logins должны существовать на Linux-хосте. Создайте их через adduser <login> или укажите текущего пользователя: airctl users add airlock-admin $(whoami).

Вход через CLI

Установите airsh на рабочую станцию (если ещё не установлен) и войдите в кластер:

airsh login --proxy=airlock.example.com --user=airlock-admin

Пример вывода:

Profile URL:        https://airlock.example.com:443
Logged in as:       airlock-admin
Cluster:            airlock.example.com
Roles:              access, editor
Logins:             root, ubuntu
Kubernetes:         enabled
Valid until:        ...

Шаг 4 из 4. Регистрация инфраструктуры

В веб-интерфейсе откройте раздел нужного типа ресурса (Servers, Applications, Kubernetes и т.д.) и следуйте инструкциям по регистрации.

На вкладке Servers уже будет виден Linux-сервер, на котором запущен кластер.

Следующие шаги

Агенты Airlock проксируют трафик к серверам, базам данных, кластерам Kubernetes и рабочим столам Windows. Подробнее см. раздел Агенты и подключение по join-токену.