Сервер защищается запуском SSH Service на нём и регистрацией в кластере Airlock. RBAC контролирует доступ, а журнал аудита фиксирует действия.
SSH Service открывает обратный SSH-туннель к Proxy Service; клиентский трафик проходит через этот туннель — аналогично схеме bastion-хоста.
Не запускайте SSH Service как pod Kubernetes для доступа к узлам кластера — pod может оказаться не на том сервере, к которому нужен доступ.
Предварительные требования
- Linux-хост (Ubuntu 20.04, CentOS 8, Debian 10 и т.п.) — будущий узел Airlock.
- Работающий кластер Airlock и
airctlна административной машине. - Временно открытый порт 22 для первоначальной настройки.
Шаг 1 из 4. Установка Airlock на сервере
На целевом хосте:
curl https://deckhouse.ru/downloads/airlock/install.sh | bash -sШаг 2 из 4. Добавление сервера в кластер
Создание join-токена
На рабочей станции сохраните токен в файл:
airctl tokens add --type=node --format=text > token.fileПодключение сервера
Скопируйте token.file на сервер в защищённый каталог и сгенерируйте конфигурацию (замените airlock.example.com):
sudo airlock node configure \
--output=file:///etc/airlock.yaml \
--token=/path/to/token.file \
--proxy=airlock.example.com:443Запустите SSH Service:
sudo systemctl enable airlock
sudo systemctl start airlock
sudo systemctl status airlockПользователь для веб-интерфейса
airctl users add myuser --roles=editor,access,reviewer --logins=root,ubuntuПерейдите по ссылке из вывода команды, задайте пароль и MFA. Сервер появится в веб-интерфейсе на вкладке Servers.
Шаг 3 из 4. SSH на сервер
Вход в кластер
airsh login --proxy=airlock.example.com --user=myuserПример профиля:
Profile URL: https://airlock.example.com:443
Logged in as: myuser
Cluster: airlock.example.com
Roles: access, editor, reviewer
Logins: root, ubuntuСписок узлов
airsh lsNode Name Address Labels
---------------- -------------- --------------------------------------
bastion-host ⟵ Tunnel
web-server 127.0.0.1:3022 env=prod, hostname=web-serverПодключение
airsh ssh root@web-serverЭквивалент через стандартный ssh:
airsh config > ssh_config_airlock
ssh -F ssh_config_airlock root@web-server.airlock.example.comВсе команды записываются в журнал аудита.
Шаг 4 из 4. Обзор ресурсов кластера
airctl nodes lsФильтр по метке:
airsh ls env=prodВыполнение команды на всех узлах с меткой:
airsh ssh root@env=prod lsУсиление защиты (опционально)
После настройки закройте порт 22 на сервере — доступ останется через airsh ssh. На хосте Proxy Service порт 22 также можно закрыть.