Gestione chiavi ssh e distribuzione

icox

Utente Attivo
343
125
Hardware Utente
Buongiorno, la situazione e' quella classica: diverse macchine devono poter essere raggiunte via ssh da diversi utenti. Ogni utente ha accesso solo a determinate macchine, per il momento con massimi privilegi (potrebbe essere interessante trovare un modo per definire diritti di accesso piu' granulari ma non e' fondamentale per ora).

Al momento sto utilizzando la soluzione piu' semplice possibile, ovvero ho una lista di coppie <utente, chiave pubblica> e aggiungo/tolgo manualmente queste chiavi alle varie macchine seconda delle necessita'. Tutto molto bello ma diventa ingestibile al crescere degli utenti/server.

Una delle soluzioni a cui pensavo e' quella di creare una sorta di piccolo repository centrale autenticato il quale restituisce una serie di chiavi pubbliche a seconda della richiesta. Tale lista di chiavi pubbliche verrebbe recuperata in fase di avvio dell'istanza e/o aggiornata periodicamente (o pushata in seguito a modifiche del repository... insomma tenuta sincronizzata in qualche modo).
Questo mi permetterebbe di tenere tutte le chiavi in un solo posto, facilitando quindi la gestione e lasciando che si distribuiscano autonomamente, ma per contro sarebbe un sistema che dovrei svilupparmi da zero con tutti i "problemi" che ne conseguono. L'unico servizio che ho trovato finora e' Userify, sto ancora cercando di capire se fa quello che mi serve ma avrei preferito comunque qualcosa da installare internamente.

Qualcuno ha qualche suggerimento?
Voi come gestite l'accesso ai server da parte degli utenti?

Se puo' aiutare al momento sono su AWS, sono istanze Linux (varie versioni...) e tutte all'interno della stessa VPC.

Grazie

Un saluto :)
 

Ibernato

Utente Èlite
3,804
1,702
Hardware Utente
Sistema Operativo
Windows 10 Pro
Buongiorno, la situazione e' quella classica: diverse macchine devono poter essere raggiunte via ssh da diversi utenti. Ogni utente ha accesso solo a determinate macchine, per il momento con massimi privilegi (potrebbe essere interessante trovare un modo per definire diritti di accesso piu' granulari ma non e' fondamentale per ora).

Al momento sto utilizzando la soluzione piu' semplice possibile, ovvero ho una lista di coppie <utente, chiave pubblica> e aggiungo/tolgo manualmente queste chiavi alle varie macchine seconda delle necessita'. Tutto molto bello ma diventa ingestibile al crescere degli utenti/server.

Una delle soluzioni a cui pensavo e' quella di creare una sorta di piccolo repository centrale autenticato il quale restituisce una serie di chiavi pubbliche a seconda della richiesta. Tale lista di chiavi pubbliche verrebbe recuperata in fase di avvio dell'istanza e/o aggiornata periodicamente (o pushata in seguito a modifiche del repository... insomma tenuta sincronizzata in qualche modo).
Questo mi permetterebbe di tenere tutte le chiavi in un solo posto, facilitando quindi la gestione e lasciando che si distribuiscano autonomamente, ma per contro sarebbe un sistema che dovrei svilupparmi da zero con tutti i "problemi" che ne conseguono. L'unico servizio che ho trovato finora e' Userify, sto ancora cercando di capire se fa quello che mi serve ma avrei preferito comunque qualcosa da installare internamente.

Qualcuno ha qualche suggerimento?
Voi come gestite l'accesso ai server da parte degli utenti?

Se puo' aiutare al momento sono su AWS, sono istanze Linux (varie versioni...) e tutte all'interno della stessa VPC.

Grazie

Un saluto :)
Dovresti affidarti ad una infrastruttura PKI che fa appunto questo.
Non sono esperto in materia dato che non ho mai affrontato questo problema.
Vediamo se @r3dl4nce @Moffetta88
 
  • Mi piace
Reactions: Moffetta88

Moffetta88

Utente Èlite
3,651
1,472
Hardware Utente
Allora, io gestisco così:
ho N vps linux su cui c'è installato come pannello di controllo webmin. Quando devo inserire un nuovo cliente, creo un nuovo utente che ha accesso solo ad una cartella ( che sarebbe la sua home ) in cui poi va a creare il sito. Viene creata contemporaneamente l'utenza ftp ma niente ssh.
Non faccio mai gestire al singolo cliente una vps o parte di essa.
Visto che sei su aws, puoi sfruttare Userify
se invece vuoi qualcosa da installare internamente puoi provare ManageEngine Key Manager Plus
Oppure questo
o

Purtroppo in rete non c'è molto a riguardo questi prodotti e molti di questi sono a pagamento, forse proprio per la loro unicità.
 
  • Mi piace
Reactions: Ibernato

r3dl4nce

Utente Èlite
2,540
893
Hardware Utente
Sono stato taggato ma non saprei aiutare, l'accesso ssh ai vari server / vm Linux ce l'ho solo io (e mi guardo bene dal darlo agli utenti) e metto la mia public key in authorized_keys in fase di installazione / preparazione.
Per il resto, la gestione centralizzata utenti la faccio con dominio windows, ho solo client windows
 

icox

Utente Attivo
343
125
Hardware Utente
Grazie per le risposte, inizio a guardare la documentazione degli strumenti/servizi che mi avete dato.

A me piu' che dare accesso ad una specifica directory serve poter gestire comodamente le varie chiavi, gli "utenti" sono per lo piu' sviluppatori che spesso devono avere privilegi sufficienti per installare pacchetti e/o gestire la macchina.
Il costo del software sarebbe relativo, se funziona bene e mi toglie qualche mal di testa ben venga.

Invece il discorso del "repo" centrale che distribuisce/sincronizza le chiavi pubbliche come lo vedete? Ho iniziato a ragionarci su e per ora non mi sembra di vedere grosse problematiche, anche nel caso in cui qualcuno dovesse riuscire ad ottenere l'accesso a queste liste avrebbe comunque solo chiavi pubbliche. Per alterare queste chiavi dovrebbe avere accesso al server/repo centrale (che a quel punto gestirei unicamente io) ma se succedesse i problemi sarebbero ben altri...

Grazie!
 

Entra

oppure Accedi utilizzando