AxKeyStore
AxKeyStore — это инструмент командной строки, который безопасно управляет секретами, ключами и паролями, используя ваш частный репозиторий GitHub в качестве зашифрованного, недоверенного хранилища.
Что такое AxKeyStore?
AxKeyStore: Безопасное управление секретами с поддержкой GitHub
Что такое AxKeyStore?
AxKeyStore — это надежный инструмент с открытым исходным кодом в виде интерфейса командной строки (CLI), разработанный для разработчиков и пользователей, заботящихся о безопасности, которым нужен надежный способ хранения и управления конфиденциальными учетными данными, ключами и паролями. Его основное новшество заключается в использовании существующего частного репозитория GitHub в качестве механизма резервного хранения. Этот подход предоставляет преимущества облачного хранения — доступность, контроль версий и надежность — без ущерба для безопасности, поскольку GitHub рассматривается исключительно как недоверенное хранилище.
Критически важно, что AxKeyStore работает по принципу абсолютного шифрования на стороне клиента. Каждая часть конфиденциальных данных, включая сами секреты и ключи, используемые для их шифрования, обрабатывается полностью на вашей локальной машине перед передачей. Следовательно, никакие секреты в открытом виде, мастер-ключи или пароли никогда не передаются по сети и не хранятся без шифрования на удаленном сервере или локальной файловой системе. Эта архитектура Нулевого Доверия (Zero Trust) гарантирует, что только вы, обладая правильным Мастер-паролем, можете расшифровать и получить доступ к данным вашего хранилища.
Ключевые особенности
- Архитектура Нулевого Доверия (Zero Trust): Построена на принципе, что все внешние системы, включая GitHub, являются недоверенными. Шифрование обязательно и многоуровнево.
- Трехуровневая схема шифрования:
- Шифрование секретов: Секреты шифруются с использованием Удаленного Мастер-ключа (RMK).
- Шифрование RMK: RMK шифруется вашим Мастер-паролем (с помощью шифрования на стороне клиента).
- Шифрование локальных учетных данных: Локальные конфигурационные данные (такие как токен GitHub и имя репозитория) защищаются Локальным Мастер-ключом (LMK), который также защищен вашим Мастер-паролем.
- Передовая криптография: Использует современные, безопасные алгоритмы, включая XChaCha20-Poly1305 для аутентифицированного шифрования и Argon2id для надежной деривации ключа из вашего Мастер-пароля.
- GitHub в качестве резервного хранилища: Использует бесплатное, версионированное и надежное хранилище, предоставляемое любым частным репозиторием GitHub, которым вы управляете.
- Поддержка нескольких профилей: Легко управляйте несколькими отдельными хранилищами, каждое со своими уникальными логинами, Мастер-паролями и связанными репозиториями GitHub.
- Иерархическая организация: Секреты могут быть логически организованы с использованием путей категорий (например,
api/production/internal), что улучшает их поиск и управление. - Единая аутентификация: Безопасно проходит аутентификацию с использованием GitHub Apps и механизма Device Flow.
Как использовать AxKeyStore
Начало работы с AxKeyStore включает простую установку, за которой следует первоначальный вход в систему и настройка. Инструмент разработан для простоты использования после конфигурации.
1. Установка: Установите CLI-инструмент с помощью скриптов, специфичных для вашей платформы:
- macOS/Linux:
curl -sSL https://raw.githubusercontent.com/basilgregory/axkeystore/main/install.sh | bash - Windows (PowerShell):
powershell -c "irm https://raw.githubusercontent.com/basilgregory/axkeystore/main/install.ps1 | iex"Эти скрипты автоматически помещают исполняемый файл в вашу переменную PATH для немедленного доступа.
2. Первоначальный вход и настройка:
Выполните команду входа для запуска последовательности настройки:
axkeystore login
При первом запуске вам будет предложено создать и подтвердить ваш Мастер-пароль. Этот пароль является конечным ключом для расшифровки вашего хранилища и защиты вашей локальной конфигурации. После настройки пароля CLI проведет вас через установку необходимого GitHub Application в вашей учетной записи или организации, предоставляя AxKeyStore требуемые разрешения на чтение/запись в указанный частный репозиторий.
3. Управление секретами: После входа в систему и настройки вы можете использовать простые команды для хранения и извлечения учетных данных. Например, сохранение нового секрета может включать указание категории и имени ключа, в то время как извлечение использует соответствующую команду, гарантируя, что данные расшифровываются только локально после получения зашифрованного блоба из GitHub.
Сценарии использования
- Защита секретов конвейера CI/CD: Разработчики могут хранить конфиденциальные ключи API, токены развертывания и переменные среды, необходимые для автоматической сборки и развертывания, в своем частном хранилище AxKeyStore, гарантируя, что эти секреты никогда не будут жестко закодированы или раскрыты в конфигурационных файлах, зафиксированных в системе контроля версий.
- Управление личными учетными данными разработчика: Отдельные разработчики могут централизовать все свои SSH-ключи, ключи доступа к облачным провайдерам (AWS, Azure, GCP) и пароли баз данных. Используя свой репозиторий GitHub, они получают историю версий событий ротации учетных данных.
- Кроссплатформенные среды разработки: Поскольку хранилище основано на облаке (GitHub), а инструмент управляется через CLI, пользователи могут беспрепятственно переключаться между локальной машиной, сервером разработки или временной рабочей станцией, безопасно получая доступ к необходимым секретам после выполнения первоначального входа/настройки.
- Совместное использование учетных данных малой командой (контролируемое): Хотя в первую очередь он предназначен для индивидуальной безопасности, команды могут использовать общий, выделенный частный репозиторий для базового совместного использования учетных данных непроизводственного уровня, полагаясь на знание общего Мастер-пароля (хотя для максимальной безопасности рекомендуется индивидуальное управление).
FAQ
В: Что произойдет, если я забуду свой Мастер-пароль? О: Поскольку AxKeyStore использует надежную, многоуровневую схему шифрования на стороне клиента, защищенную вашим Мастер-паролем, забывание его означает, что данные становятся навсегда недоступными. Механизма восстановления не существует, что строго соответствует модели безопасности Нулевого Доверия.
В: Действительно ли мои данные в безопасности, если местом хранения является GitHub? О: Да. GitHub хранит только зашифрованные бинарные блобы. Даже если GitHub будет скомпрометирован, злоумышленники получат только зашифрованные данные, поскольку ключи дешифрования (RMK и LMK) защищены вашим Мастер-паролем и никогда не покидают вашу локальную машину без шифрования.
В: Могу ли я использовать публичный репозиторий для хранения? О: Нет. AxKeyStore явно требует частный репозиторий GitHub. Использование публичного репозитория раскроет все ваши зашифрованные секреты всему миру, что сведет на нет цель архитектуры безопасности.
В: Как AxKeyStore обрабатывает аутентификацию и авторизацию? О: Он использует выделенное GitHub Application, которое вы должны установить. Это приложение облегчает безопасную аутентификацию через Device Flow и предоставляет CLI необходимые разрешения (чтение/запись) только для того репозитория, который обозначен как ваше хранилище.
В: Стоит ли этот инструмент денег? О: AxKeyStore — это проект с открытым исходным кодом, выпущенный под лицензией MIT. Сам инструмент бесплатен в использовании. Однако использование GitHub для хранения требует наличия учетной записи GitHub, которая предоставляет бесплатные частные репозитории.
Alternatives
OrgaNice
OrgaNice — это умный менеджер вкладок, который помогает пользователям сохранять, организовывать и быстро восстанавливать вкладки браузера с помощью чистых коллекций и рабочих пространств, повышая продуктивность и уменьшая хаос вкладок.
Biji
Biji - это универсальная платформа, разработанная для повышения продуктивности с помощью инновационных инструментов и функций.
Prompty Town
Prompty Town — это инновационная платформа, которая позволяет пользователям преобразовывать свои ссылки в виртуальные здания, создавая уникальный и увлекательный способ делиться и взаимодействовать с контентом.
Falconer
Falconer — это самообновляющаяся платформа знаний, разработанная как единый источник истины для команд, гарантирующая, что документация и неявные знания остаются точными и легкодоступными.
AakarDev AI
AakarDev AI — это мощная платформа, которая упрощает разработку приложений ИИ с бесшовной интеграцией векторных баз данных, позволяя быстрое развертывание и масштабируемость.
Planndu: Daily Task Planner
Planndu — это интуитивно понятное приложение для повышения продуктивности, разработанное, чтобы помочь пользователям организовывать задачи, управлять проектами, выстраивать рутины и улучшать концентрацию с помощью таких инструментов, как генерация с помощью ИИ и встроенный таймер Pomodoro.