Vogliamo dare a una parte esterna l'accesso ad un ambiente demo. Come facciamo a garantire che solo loro ottengano l'accesso solo alla loro versione dell'ambiente?

1

Attualmente stiamo creando un sistema in cui possiamo creare ambienti demo per i potenziali clienti da utilizzare, dove ospitiamo quegli ambienti demo nella nostra DMZ. L'idea è che se un potenziale cliente vuole provare il nostro prodotto, creiamo un ambiente per loro, quindi fallo in modo che solo quel potenziale cliente possa accedere a quell'ambiente.

Alcuni dettagli:

  • L'ambiente è CentOS 7;
  • Il prodotto è costituito da 2 GUI con ambiente ospitato, supportate da numerosi servizi eseguiti anche nell'ambiente;
  • La prospettiva dovrebbe avere per lo più pieno accesso all'ambiente (non root, ma cose come interagire con il file system, apportare modifiche ad alcuni software);
  • Avremo un ambiente separato per ogni prospettiva e un potenziale cliente dovrebbe essere in grado di accedere a un solo ambiente.

Questo sistema è destinato principalmente a sostituire il nostro attuale processo soggetto a errori e laborioso di aiutare il potenziale cliente a configurare il sistema sulla rete locale.

Il problema che abbiamo è che dobbiamo dare la prospettiva di accesso all'ambiente su Internet, ma in modo tale che solo loro possono accedere solo a quel particolare ambiente a cui sono assegnati. Non vogliamo che nessuno, oltre alla prospettiva, acceda all'ambiente del potenziale cliente, e non vogliamo che la prospettiva acceda a un altro ambiente di un potenziale cliente e SICURAMENTE non altre macchine nella nostra DMZ.

La nostra attuale idea per risolvere questo problema è l'utilizzo dell'autenticazione a chiave privata, che da quello che raccogliamo è il modo corretto per consentire solo l'accesso a una sola parte. Tuttavia, abbiamo ancora bisogno di un modo sicuro per ottenere il file chiave per il potenziale cliente, che spesso è troppo lontano per consegnarlo di persona.

quindi 2 domande:

  1. Esiste un modo sicuro per fornire un potenziale cliente con un file chiave se non puoi consegnarlo di persona?
  2. related: l'autenticazione basata su file chiave è il modo migliore per garantire a un singolo client l'accesso a un singolo sistema?
posta Nzall 19.05.2017 - 11:30
fonte

2 risposte

1

Potresti virtualizzare il tutto, creare una rete virtuale per un singolo ambiente demo e distribuire un ambiente per utente. È quindi possibile utilizzare un'autenticazione basata su chiave per accedere all'ambiente. Dopo che l'utente ha esaminato la demo, distruggi l'ambiente.

L'automazione, se eseguita correttamente, dovrebbe essere in grado di creare, distribuire, generare file di chiavi e quindi inviarli al client.

Normalmente questo funziona è un po 'diverso. Il client ti fornirà la sua chiave SSH pubblica e tu aggiungerai questa chiave alla tua macchina in ~/.ssh/authorized_keys .

    
risposta data 19.05.2017 - 11:58
fonte
1

Hai bisogno di un livello di fronte all'intera cosa che esegue l'autenticazione e l'autorizzazione. L'utente è autenticato e quindi autorizzato ad accedere a qualsiasi ambiente. Puoi controllare quale ambiente da questo livello.

Da un punto di vista tecnico, l'ho fatto implementando Apache Guacamole . Gli utenti sono autenticati utilizzando il database di Guacamole e il sistema autorizza la connessione ai vari sistemi con chiavi detenute da Guacamole (gli utenti non vedono mai le chiavi).

Anche se non usi Guacamole, questo è il tipo di cosa che stai cercando di implementare.

    
risposta data 19.05.2017 - 12:22
fonte

Leggi altre domande sui tag