Vai al contenuto

I server ricevono i segreti all’avvio, in memoria

Installa l’agente crunu su un server Linux, registralo con un codice monouso e approvalo dopo averne controllato l’impronta. L’agente decifra solo gli ambienti che concedi e li passa alla tua app quando si avvia.

  • Codici di registrazione monouso
  • Ambienti decifrati solo in memoria
  • Funziona durante i disservizi per tutto il lease, 24 ore per impostazione predefinita
Esempio. Kiteline è un’azienda fittizia.

Un piccolo binario, tre modi di usarlo

L’agente è un unico binario statico per Linux e macOS, su amd64 e arm64, scritto in Go con la sola libreria standard.

  • MacchinaUn server che esegue la tua app accede con la propria chiave dopo la registrazione. Su Linux, crunu daemon gira come servizio systemd.
  • Token di servizioUn job CI accede con CRUNU_TOKEN. Tutto resta nel processo e non viene scritto alcun file.
  • PersonaUno sviluppatore esegue crunu login con password, Secret Key e un secondo fattore. crunu unlock tiene le chiavi in memoria, crunu lock le rimuove prima.

Leggi la documentazione

Registra, confronta, approva

Un amministratore aggiunge la macchina e sceglie i suoi ambienti. Crunu emette un codice di registrazione monouso; sul server, crunu enroll stampa l’impronta della macchina, e l’amministratore approva dopo averla confrontata.

  • Un codice che funziona una voltaValido 15 minuti per impostazione predefinita e al massimo 24 ore, facoltativamente legato a degli indirizzi. L’agente lo accetta solo dallo standard input o da una variabile d’ambiente.
  • Il riutilizzo genera un avvisoSe qualcuno presenta un codice già usato, la macchina viene segnalata come possibile intercettazione e parte un avviso.
  • Possono farlo anche gli OperatorUn Operator, che non può vedere i valori, aggiunge macchine e richiede l’accesso per esse.

Leggi la documentazione

Esempio. Kiteline è un’azienda fittizia.

La tua app parte con le sue variabili

crunu run avvia il programma con un insieme pulito di variabili d’ambiente più quelle di Crunu. Inoltra i segnali, restituisce il codice di uscita del programma e, con --restart on-change, lo riavvia quando i valori cambiano.

  • File, quando la tua app legge filecrunu pull li scrive con permessi 0600, conserva la versione precedente come .prev e rifiuta percorsi rischiosi come .bashrc o .ssh/.
  • Un solo file per systemdcrunu pull --env-out scrive le variabili in un unico file per una riga EnvironmentFile=.
  • Le sue credenziali restano fuoricrunu run non passa mai le proprie variabili, come CRUNU_TOKEN, al programma che avvia.
Codici di uscita di crunu
CodiceSignificato
0Successo
3Macchina non registrata, o accesso non effettuato
4Accesso revocato o lease scaduto
5Nessuna connessione e nessuno stato verificato valido
6Verifica della firma o del certificato non riuscita
7I contenuti non vengono forniti a questo indirizzo

Leggi la documentazione

Cosa fa l’agente in background

Il servizio si collega al server ogni minuto e rinnova il suo lease ogni 5 minuti. Gli ambienti decifrati vivono solo in memoria e arrivano a crunu run tramite un socket locale.

  • Durante un disservizioSe il server non è raggiungibile, l’agente fornisce l’ultimo stato verificato fino alla scadenza del lease, 24 ore per impostazione predefinita.
  • Revoca entro pochi minuti, se onlineL’agente cancella dalla memoria un ambiente revocato appena riceve notizie dal server. Offline, si ferma alla scadenza del lease.
  • Verifica ciò che il server inviaFirme, certificati, l’elenco di revoca e i ritorni a stati precedenti. In caso di discrepanza rifiuta ed esce con il codice 6.
  • Isolato su LinuxIl processo è chiuso agli altri processi dello stesso utente, i core dump sono disattivati e il servizio gira in una sandbox di systemd.

Leggi la documentazione

Esempio. Kiteline è un’azienda fittizia.

Cosa può ancora vedere una macchina

Una macchina è un lettore legittimo di ciò che le concedi. Concedi poco e tieni i lease brevi.

  • Root vede ciò che è concessoChi ha root su quel server può leggere tutto ciò che è concesso alla macchina. Concedi solo gli ambienti e i file di cui ha bisogno.
  • I processi in esecuzione mantengono le loro variabiliUn processo avviato prima della revoca della macchina mantiene il suo ambiente fino al riavvio.
  • Il servizio è solo per LinuxSu macOS l’agente è uno strumento da riga di comando senza servizio in background. Non esiste una versione per Windows.
  • Niente Kubernetes né SDKLe app ricevono i valori tramite crunu run o tramite file di crunu pull.

Tutte le limitazioni note

Risposte alle domande più comuni

Altre domande? Scrivi a support@crunu.com

I valori decifrati vengono scritti su disco?

Non da crunu run. Il servizio tiene in memoria gli ambienti decifrati e li passa al processo. I file vengono scritti solo quando usi crunu pull, con permessi 0600.

Cosa succede se il nostro server Crunu non è raggiungibile?

L’agente continua a fornire l’ultimo stato verificato fino alla scadenza del lease, 24 ore per impostazione predefinita.

Quanto rapidamente ha effetto la revoca di una macchina?

Entro pochi minuti, mentre la macchina è online. Per impostazione predefinita l’agente si collega al server ogni minuto e al controllo successivo cancella dalla memoria gli ambienti revocati. Offline, si ferma alla scadenza del lease. La revoca ruota anche le chiavi degli ambienti che la macchina aveva.

Una macchina può leggere gli ambienti di un’altra?

No. Ogni macchina ha le proprie chiavi e le proprie concessioni.

L’agente funziona su Windows?

No. Funziona su Linux e macOS, su amd64 e arm64.

Dai oggi a un server il suo ambiente

Crea un account, aggiungi una macchina e avvia la tua app con crunu run.

Gratis durante l’accesso anticipato. Leggi il modello di sicurezza