Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
zttp — Zero-trust SSH бастион-прокси с управлением ключами на базе Vault, применением политик RBAC, полной записью сессий и административным TUI для аудируемого доступа к производственной инфраструктуре. | Kitploit
Инструменты/GitLabGitLab/nihal799/zttp
Аутентификация и авторизацияБезопасность облачной инфраструктурыОборонительные ИнструментыСетевая безопасностьDevSecOpsУправление идентификацией и доступом (IAM)
GitLabnihal799/zttp

zttp

Zero-trust SSH бастион-прокси с управлением ключами на базе Vault, применением политик RBAC, полной записью сессий и административным TUI для аудируемого доступа к производственной инфраструктуре.

Репозиторий
11112 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

ZTTP: Zero-Trust SSH Bastion Proxy

🔗 Зеркала проекта: GitHub | GitLab

ZTTP — это усиленный, самостоятельно размещаемый прокси-бастион Zero-Trust SSH, написанный на Golang, с управлением ключами на базе HashiCorp Vault, применением политик RBAC, полной записью сессий и интерактивным административным TUI — разработан для команд, которым нужен поддающийся аудиту доступ к производственной инфраструктуре по принципу нулевого доверия.


Содержание

  • Зачем нужен ZTTP
  • Обзор архитектуры
  • Ключевые возможности
  • Предварительные требования
  • Быстрый старт — сервер
  • Быстрый старт — клиент
  • Конфигурация
  • Роли и политика RBAC
  • Административная консоль
  • Журналы аудита и записи сессий
  • Сборка из исходного кода
  • Справочник по Makefile
  • Скриншоты и демо
  • Структура проекта
  • Модель безопасности
  • Участие в разработке
  • Лицензия

Зачем нужен ZTTP

Современным инженерным командам нужен способ предоставить разработчикам минимально необходимый доступ для выполнения их работы — не больше и не меньше. Традиционное распространение SSH-ключей подвержено ошибкам: ключи передаются между людьми, забываются на ноутбуках и отзываются слишком поздно.

Прокси-бастион ZTTP SSH решает эту проблему, выступая единственной дверью нулевого доверия в вашу инфраструктуру:

ПроблемаРешение ZTTP
SSH-ключи передаются на ноутбукахКлючи хранятся только в HashiCorp Vault — никогда на диске
Нет видимости того, кто что делалКаждое нажатие клавиши записывается в формате .ttyrec
Безусловный доступ к производственной средеДвижок политик на основе ролей применяет правила для каждой среды
Нет способа остановить активную сессиюgRPC-эндпоинт аварийного отключения завершает любую живую сессию
Непрозрачный доступ для аудиторовАдминистративный TUI с воспроизведением сессий, текстовыми журналами и журналами действий администраторов

Обзор архитектуры

Developer Laptop
      │
      │  zttp
      │  (Under the hood: SSH over port 2224)
      ▼
┌─────────────────────────────────────────────────────────┐
│                     ZTTP Proxy                          │
│                                                         │
│  ① Auth Gate     — bcrypt/Argon2id login TUI           │
│  ② RBAC Engine   — environment-aware policy check      │
│  ③ Vault Fetch   — ephemeral SSH key retrieval         │
│  ④ Bridge        — transparent TCP tunnel              │
│  ⑤ Audit Writer  — ttyrec frame recorder               │
└──────────┬──────────────────────────────────────────────┘
           │  ssh (private IP, ephemeral key)
           ▼
     Target Server

Инфраструктурные сервисы (Docker Compose):

СервисНазначение
zttp-proxyОсновной прокси-бастион ZTTP SSH (бинарник на Golang)
zttp-postgresБаза данных плоскости управления (пользователи, серверы, политики RBAC)
zttp-vaultHashiCorp Vault — хранит приватные ключи SSH
zttp-nginxРаздаёт установщики CLI по пути /release/
zttp-init-auditОдноразовый контейнер, исправляющий права доступа к томам

Ключевые возможности

  • 🔐 Аутентификация по принципу нулевого доверия — интерактивный TUI для входа по SSH с хешированием паролей bcrypt, ограничением частоты попыток и блокировкой учётной записи после 5 неудачных попыток
  • 🛡️ Движок политик RBAC — управление доступом по ролям и окружениям с помощью одного оптимизированного JOIN в PostgreSQL (без лишних обращений)
  • 🗝️ SSH-ключи на базе Vault — приватные ключи никогда не попадают на диск; извлекаются эфемерно для каждой сессии из HashiCorp Vault
  • 📹 Полная запись сессий — все сессии записываются в формате .ttyrec с кадрами, помеченными временными метками
  • 🖥️ Интерактивный административный TUI — полноценный терминальный интерфейс для управления пользователями, регистрации серверов, выдачи прав доступа и просмотра журналов
  • 🔍 Просмотр журнала аудита — просмотр сессий по серверу, воспроизведение записей или чтение чистых текстовых журналов прямо из административной консоли
  • ⚡ Kill Switch — gRPC-эндпоинт для мгновенного завершения любой активной сессии
  • 📋 Журнал действий администратора — каждое административное действие (создание пользователя, выдача прав доступа, просмотр журналов) фиксируется в постоянном журнале аудита
  • 🌍 Мультиплатформенный клиент — единый бинарник CLI для Linux, macOS (amd64/arm64) и Windows

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

Сервер (хост прокси):

  • Docker ≥ 24 и Docker Compose ≥ 2.20
  • Публичный или доступный в локальной сети IP на порту 2224
  • make (необязательно, но рекомендуется)

Разработчик (клиент):

  • Любой SSH-клиент (команда ssh)
  • Машина под управлением Linux, macOS или Windows

Быстрый старт — сервер

1. Клонируйте репозиторий

git clone https://gitlab.com/Nihal799/zttp.git
cd zttp

2. Настройте своё окружение

cp .env.example .env

Отредактируйте .env и задайте как минимум:

PROXY_NODE_IP=<your-server-public-ip>
POSTGRES_PASSWORD=<a-strong-password>
VAULT_TOKEN=<a-strong-vault-token>

⚠️ Никогда не коммитьте ваш файл .env. Он указан в .gitignore.

3. Запустите все сервисы

make docker-up
# or directly:
docker compose -f deploy/docker-compose.yml up -d --build

4. Проверьте работоспособность сервисов

make docker-ps
curl http://localhost:8080/healthz

5. Сборка и публикация установщиков CLI

make release PROXY_ADDR=<your-server-ip>:2224

Это кросс-компилирует клиентов для всех платформ и автоматически обновляет dist/install.sh и dist/install.ps1 правильным URL сервера. Контейнер Nginx раздаёт их по адресу http://<your-server-ip>:8555/.


Быстрый старт — клиент

Linux / macOS

curl -fsSL http://<proxy-ip>:8555/install.sh | bash

Windows (PowerShell, запуск от имени администратора)

irm http://<proxy-ip>:8555/install.ps1 | iex

Подключение

После установки подключитесь к шлюзу ZTTP:

zttp
# or directly:
ssh -p 2224 <your-username>@<proxy-ip>

Вы увидите экран входа в терминал. После аутентификации отобразится список серверов, к которым у вас есть доступ.


Конфигурация

Вся конфигурация задаётся через переменные окружения (или файл .env). Полный справочник см. в .env.example.

ПеременнаяЗначение по умолчаниюОписание
PROXY_LISTEN_ADDR0.0.0.0:2222Адрес привязки SSH-прокси
HTTP_LISTEN_ADDR0.0.0.0:8080HTTP-адрес для проверки работоспособности
GRPC_LISTEN_ADDR0.0.0.0:9090gRPC-адрес kill-switch
PROXY_NODE_IP127.0.0.1Внешний IP, встраиваемый в бинарники CLI
DATABASE_URLpostgres://zttp:...Строка подключения к PostgreSQL
VAULT_ADDRhttp://localhost:8201URL сервера Vault
VAULT_TOKENdev-root-token-zttpКорневой токен Vault (только для разработки — в продакшене используйте AppRole)
MAX_FAILED_ATTEMPTS5Порог блокировки
LOCKOUT_DURATION15mДлительность блокировки учётной записи
RATE_LIMIT_PER_MIN10Максимум попыток входа в минуту с одного IP
AUDIT_LOG_DIR/var/log/zttp/auditПуть к каталогу записи сессий
SOC_WEBHOOK_URL(пусто)Необязательный webhook для оповещений SOC

Роли и политика RBAC

ZTTP использует ролевую модель. Каждому пользователю назначается роль; каждая роль имеет политику, определяющую, к каким средам серверов она имеет доступ.

Скачать инструмент