Gestione chiavi ssh e distribuzione

icox

Utente Attivo
497
246
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
4,328
2,047
OS
Windows 10 Pro / Ubuntu 22.04
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
Reazioni: Moffetta88

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,546
12,933
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
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
Reazioni: Ibernato

r3dl4nce

Utente Èlite
16,874
9,223
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
497
246
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
Discord Ufficiale Entra ora!