SiBears Hub#
Что нужно установить#
uvansiblesshpass
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install --with-executables-from ansible-core,ansible-lint ansible
sudo apt install sshpassНастройка#
Перед запуском нужно подготовить репозиторий и inventory:
- Склонировать проект вместе с сабмодулями
git clone git@gitlab.com:sibears/infrastructure/sibears-hub.git --recurse-submodules- Заполнить
inventory/vulnbox.ini - Заполнить все файлы в
inventory/group_vars/all/ - Подготовить Telegram-чат для уведомлений и выгрузки сервисов
vulnbox.ini#
В inventory/vulnbox.ini указать IP-адрес и пароль
Что проверить в конфиге#
Основные секции в главном конфиге:
team: логин и пароль для инфраструктурыfarm: параметры фермы, которые берутся из игрового протоколаpkappa2: после подключения к VPN игры нужно определить, какой интерфейс и какой IP появились на локальной машинеpkappa2_pcap_ssh_key_path: путь до вашего приватного SSH-ключа. Он нужен, чтобы pcap-брокер подключался от вашего имени и забирал трафик из вулнаtelegram: ID чата и данные бота для интеграцииports: локальные порты, которые будут использоваться на управляющей машинеservices: путь до каталога с сервисами, который нужно посмотреть сначала ручками
SSH-ключи#
Поддерживает два сценария:
- если ключи участников уже опубликованы на GitHub или GitLab, достаточно указать username;
- если нет, ключи можно перечислить вручную в
ssh_keys_inline_keys
Список команд#
Сейчас список заполняется вручную: поддержки генерации или циклов для этого сценария пока нет
Телеграм#
Для работы уведомлений и экспорта сервисов нужно заранее создать чат и добавить туда бота
Если используется супергруппа с темами, укажите thread_id. Если темы не нужны, это поле можно не заполнять
Базовый порядок запуска#
Ниже минимальный сценарий, который соответствует текущему README.md проекта:
# Можно сделать до начала игры:
ansible-playbook -i inventory/local.ini playbooks/new_deploy_pkappa2_local.yml -K --skip-tags pkappa2_api
# Также можно запустить ферму с невалидным токеном, чтобы потом не ждать компиляцию и сборку докера
# После старта игры:
ansible-playbook -i inventory/vulnbox.ini playbooks/new_export_services.yml
ansible-playbook -i inventory/vulnbox.ini playbooks/new_prepare_services_git.yml
ansible-playbook -i inventory/vulnbox.ini playbooks/new_deploy_ssh.yml
ansible-playbook -i inventory/local.ini playbooks/new_deploy_pkappa2_local.yml -K --tags pkappa2_api
ansible-playbook -i inventory/local.ini playbooks/new_deploy_destructive_local.yml -K
ansible-playbook -i inventory/local.ini playbooks/new_deploy_farm_local.yml -K