
Самостоятельно размещаемый шлюз доступа по SSH на Go с аутентификацией OIDC/LDAP, RBAC, MFA, записью сессий, экспортом аудита, шифрованием данных при хранении, правилами по IP и применением политик.
GateKeeper — это самостоятельно размещаемый шлюз доступа по SSH, написанный на Go.
Он выступает в роли централизованного управляющего слоя перед SSH, обеспечивая контроль доступа, принудительное применение MFA, запись сессий, аудит и применение политик — всё это поставляется в виде одного бинарного файла со встроенным веб-интерфейсом.
Никакой внешней плоскости управления. Никакой зависимости от SaaS.
GateKeeper — это не традиционный минимальный «bastion host» в классическом смысле укреплённого jump-box.
Вместо этого это шлюз доступа по SSH, предназначенный для централизации аутентификации, авторизации и аудита в SSH-средах.
Цель — контролируемый доступ и видимость, а не модель укреплённой ОС с нулевым набором сервисов.
GateKeeper работоспособен и активно тестируется.
GateKeeper создан для Linux. Linux — поддерживаемая производственная платформа.
Docker — рекомендуемый способ запуска GateKeeper для согласованных и безопасных развёртываний.
Сборки для Windows и macOS могут работать для разработки, но в производственных развёртываниях следует использовать Linux.
git clone https://github.com/judsenb/gatekeeper.git
cd gatekeeper
make build
./gatekeeper
При первом запуске откройте:
docker compose up -d
SQLite используется по умолчанию. При необходимости настройте Postgres через переменные окружения.
GateKeeper использует конфигурационный файл YAML с переопределениями через переменные окружения.
Распространённые переменные окружения:
Если файлы TLS присутствуют, HTTP перенаправляется на HTTPS. Сертификаты перезагружаются автоматически при обновлении.
make build
make test
make cover
make check
Тесты используют SQLite в памяти. CI выполняет линтинг, тесты и проверки уязвимостей.
MIT