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-токену.