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
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 daemongira 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 logincon password, Secret Key e un secondo fattore.crunu unlocktiene le chiavi in memoria,crunu lockle rimuove prima.
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.
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 file
crunu pullli scrive con permessi 0600, conserva la versione precedente come.preve rifiuta percorsi rischiosi come.bashrco.ssh/. - Un solo file per systemd
crunu pull --env-outscrive le variabili in un unico file per una rigaEnvironmentFile=. - Le sue credenziali restano fuori
crunu runnon passa mai le proprie variabili, comeCRUNU_TOKEN, al programma che avvia.
| Codice | Significato |
|---|---|
| 0 | Successo |
| 3 | Macchina non registrata, o accesso non effettuato |
| 4 | Accesso revocato o lease scaduto |
| 5 | Nessuna connessione e nessuno stato verificato valido |
| 6 | Verifica della firma o del certificato non riuscita |
| 7 | I contenuti non vengono forniti a questo indirizzo |
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.
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 runo tramite file dicrunu pull.
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.