UStackUStack
AxKeyStore favicon

AxKeyStore

AxKeyStore è uno strumento da riga di comando che gestisce in modo sicuro segreti, chiavi e password utilizzando il tuo repository GitHub privato come archivio crittografato e non attendibile.

AxKeyStore

Cos'è AxKeyStore?

AxKeyStore: Gestione Sicura dei Segreti con Supporto GitHub

Cos'è AxKeyStore?

AxKeyStore è uno strumento robusto, open-source, di Interfaccia a Riga di Comando (CLI) progettato per sviluppatori e utenti attenti alla sicurezza che necessitano di un modo affidabile per archiviare e gestire credenziali, chiavi e password sensibili. La sua innovazione principale risiede nello sfruttare il tuo repository GitHub privato esistente come meccanismo di archiviazione di backend. Questo approccio offre i vantaggi dell'archiviazione cloud—accessibilità, controllo delle versioni e affidabilità—senza sacrificare la sicurezza, poiché GitHub è trattato rigorosamente come archiviazione non attendibile.

Fondamentalmente, AxKeyStore opera sul principio della crittografia assoluta lato client. Ogni dato sensibile, inclusi i segreti stessi e le chiavi utilizzate per crittografarli, viene elaborato interamente sulla tua macchina locale prima della trasmissione. Di conseguenza, nessun segreto in chiaro, chiave master o password attraversa mai la rete o risiede non crittografato sul server remoto o sul file system locale. Questa architettura Zero Trust assicura che solo tu, in possesso della Master Password corretta, possa decrittografare e accedere ai dati del tuo vault.

Caratteristiche Principali

  • Architettura Zero Trust: Costruita sul principio che tutti i sistemi esterni, incluso GitHub, non sono attendibili. La crittografia è obbligatoria e a più livelli.
  • Schema di Crittografia a Tre Livelli:
    • Crittografia dei Segreti: I segreti sono crittografati utilizzando la Chiave Master Remota (RMK - Remote Master Key).
    • Crittografia RMK: La RMK è crittografata utilizzando la tua Master Password (tramite crittografia lato client).
    • Crittografia Credenziali Locali: I dettagli di configurazione locali (come il token GitHub e il nome del repository) sono protetti utilizzando una Chiave Master Locale (LMK - Local Master Key), anch'essa protetta dalla tua Master Password.
  • Crittografia Avanzata: Utilizza algoritmi moderni e sicuri, inclusi XChaCha20-Poly1305 per la crittografia autenticata e Argon2id per una robusta derivazione della chiave dalla tua Master Password.
  • GitHub come Backend di Archiviazione: Sfrutta l'archiviazione gratuita, con versioni e affidabile fornita da qualsiasi repository GitHub privato che controlli.
  • Supporto Multi-Profilo: Gestisci facilmente diversi vault distinti, ognuno con login, Master Password e repository GitHub associati unici.
  • Organizzazione Gerarchica: I segreti possono essere organizzati logicamente utilizzando percorsi di categoria (es. api/production/internal), migliorando la reperibilità e la gestione.
  • Autenticazione Unificata: Autentica in modo sicuro l'accesso utilizzando GitHub Apps e il meccanismo di Device Flow.

Come Usare AxKeyStore

Iniziare con AxKeyStore comporta una semplice installazione seguita da un processo iniziale di login e configurazione. Lo strumento è progettato per essere facile da usare una volta configurato.

1. Installazione: Installa lo strumento CLI utilizzando gli script specifici per piattaforma forniti:

  • 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" Questi script posizionano automaticamente il binario nel tuo PATH per un accesso immediato.

2. Login Iniziale e Configurazione: Esegui il comando di login per avviare la sequenza di configurazione: axkeystore login Durante questa prima esecuzione, ti verrà chiesto di creare e confermare la tua Master Password. Questa password è la chiave definitiva per decrittografare il tuo vault e proteggere la tua configurazione locale. Dopo l'impostazione della password, la CLI ti guiderà attraverso l'installazione dell'Applicazione GitHub necessaria sul tuo account o organizzazione, concedendo ad AxKeyStore i permessi richiesti per leggere/scrivere sul repository privato designato.

3. Gestione dei Segreti: Una volta effettuato l'accesso e configurato, puoi utilizzare comandi semplici per archiviare e recuperare le credenziali. Ad esempio, archiviare un nuovo segreto potrebbe comportare la specifica della categoria e del nome della chiave, mentre il recupero utilizza il comando corrispondente, assicurando che i dati vengano decrittografati solo localmente dopo aver recuperato il blob crittografato da GitHub.

Casi d'Uso

  1. Protezione dei Segreti della Pipeline CI/CD: Gli sviluppatori possono archiviare chiavi API sensibili, token di distribuzione e variabili d'ambiente necessarie per build e distribuzioni automatizzate nel loro vault privato AxKeyStore, assicurando che questi segreti non siano mai codificati in modo fisso o esposti nei file di configurazione sottoposti a controllo di versione.
  2. Gestione delle Credenziali di Sviluppo Personali: Gli sviluppatori individuali possono centralizzare tutte le loro chiavi SSH, chiavi di accesso ai provider cloud (AWS, Azure, GCP) e password di database. Utilizzando il loro repository GitHub, ottengono una cronologia delle versioni sugli eventi di rotazione delle credenziali.
  3. Ambienti di Sviluppo Cross-Platform: Poiché l'archiviazione è basata su cloud (GitHub) e lo strumento è guidato dalla CLI, gli utenti possono passare senza problemi dalla loro macchina locale, a un server di sviluppo o a una workstation temporanea, accedendo in modo sicuro ai segreti richiesti dopo aver eseguito il login/setup iniziale.
  4. Condivisione di Credenziali per Piccoli Team (Controllata): Sebbene progettato principalmente per la sicurezza individuale, i team possono utilizzare un repository privato dedicato e condiviso per la condivisione di credenziali di base, non di produzione, basandosi sulla conoscenza condivisa della Master Password (anche se la gestione individuale è consigliata per la massima sicurezza).

FAQ

D: Cosa succede se dimentico la mia Master Password? A: Poiché AxKeyStore utilizza uno schema di crittografia multi-livello robusto lato client protetto dalla tua Master Password, dimenticarla significa che i dati sono permanentemente inaccessibili. Non esiste alcun meccanismo di recupero, aderendo rigorosamente al modello di sicurezza Zero Trust.

D: I miei dati sono veramente al sicuro se GitHub è la posizione di archiviazione? A: Sì. GitHub memorizza solo blob binari crittografati. Anche se GitHub venisse compromesso, gli aggressori recupererebbero solo dati crittografati, poiché le chiavi di decrittazione (RMK e LMK) sono protette dalla tua Master Password e non lasciano mai la tua macchina locale non crittografate.

D: Posso usare un repository pubblico per l'archiviazione? A: No. AxKeyStore richiede esplicitamente un repository GitHub privato. L'utilizzo di un repository pubblico esporrebbe tutti i tuoi segreti crittografati al mondo, vanificando lo scopo dell'architettura di sicurezza.

D: Come gestisce AxKeyStore l'autenticazione e l'autorizzazione? A: Utilizza un'Applicazione GitHub dedicata che devi installare. Questa applicazione facilita l'autenticazione sicura tramite il Device Flow e concede alla CLI i permessi necessari (lettura/scrittura) solo al repository specifico designato come tuo vault.

D: Questo strumento ha un costo? A: AxKeyStore è un progetto open-source rilasciato con licenza MIT. Lo strumento in sé è gratuito da usare. Tuttavia, l'utilizzo di GitHub per l'archiviazione richiede che tu abbia un account GitHub, che offre repository privati gratuiti.

AxKeyStore | UStack