Client SSH per smartphone con utenti condivisi

1

Sto scrivendo un'applicazione per smartphone per fornire un uso SSH molto limitato. L'utente non può eseguire azioni arbitrarie dopo aver effettuato l'accesso. Possono eseguire solo uno o più script specifici.

Per vari motivi non è possibile implementare il login senza password, quindi la password deve essere fornita dallo smartphone per il login. Comunque devo fare domande sui difetti / problemi di sicurezza con quello che sto facendo.

  1. Non voglio dare direttamente agli utenti (impiegati in casa) la password SSH, quindi non possono fare SSH dalle loro case e fare quello che vogliono sul server. Quindi il mio piano è che l'utente inserisca la propria password e la usi come chiave per archiviare sullo smartphone la password SSH crittografata (AES). Solo io o un amministratore del server posso inserire questa password sui loro telefoni, dopo aver scaricato l'applicazione. In questo modo non possono accedere da dispositivi non autorizzati. E 'questa una buona idea? Non riesco a pensare a nessun tipo di sicurezza in questo.

  2. Sto pensando di fornire a tutti gli utenti di smartphone un account utente sul server, quindi accedono tutti allo stesso utente tramite SSH. Anche questa è una cattiva idea?

posta JJJ 09.03.2012 - 15:13
fonte

3 risposte

7

Dare a tutti gli utenti un account condiviso non è qualcosa che prenderei in considerazione. Non sarai in grado di sapere con certezza quale utente ha fatto cosa sul sistema, più persone condivideranno lo stesso account contemporaneamente ... Tutto sommato, a un certo punto è destinato a diventare disordinato.

Immagina se uno di loro perde il telefono, e sei costretto a bloccare tutti fuori quando lo scopri, senza contare che chiunque trovi il telefono può accedere e fare del male e si fatica a capire cosa è stato fatto da quell'utente.

Preferirei la prima opzione. Configurare manualmente ciascuna app prima di concedere l'accesso ai dipendenti, salvare e crittografare la coppia di chiavi o la password sul dispositivo e consentire loro di scegliere una password per sbloccare l'accesso all'applicazione. In questo modo, se un telefono viene perso o rubato, puoi semplicemente annullare la licenza del tasto / account interessato.

    
risposta data 09.03.2012 - 15:56
fonte
2

Sei costretto a consentire agli utenti l'accesso diretto a SSH?
Questo ti mette in una situazione piuttosto difficile, sia con l'autenticazione degli utenti come menzionato, sia con la limitazione delle azioni reali che possono eseguire.

Suggerirei una soluzione diversa - avere un componente server, che emuli SSH, e quindi trasmette nuovamente le azioni al SSH reale. Potresti anche implementarlo come un servizio web, probabilmente sarebbe più semplice anche per l'app client.

In questo modo, è banale applicare le restrizioni sulle azioni che si desidera consentire (semplicemente non supportare le azioni non consentite), bloccare l'utilizzo SSH a casa (poiché non è veramente SSH), e anche l'autenticazione dei singoli utenti è molto più semplice.

    
risposta data 19.03.2012 - 09:44
fonte
0

Dopo aver fornito agli utenti il dispositivo, dovrebbero essere in grado di ottenere la password / chiave ssh dall'app mobile dal loro dispositivo, se lo si desidera. Puoi renderlo più difficile (e non banale), ma un utente sofisticato potrebbe ottenerlo. Quindi è necessario avere restrizioni sul lato server.

Ad esempio, puoi provare a blocca ssh così, ad esempio, l'account ha permessi minimi (es. nessuna autorizzazione ro esegue una shell, può solo eseguire un comando, ecc.). Fai attenzione a come lo fai, prova a romperlo (a seconda dei comandi consentiti (o se permetti agli argomenti) che potrebbero essere in grado di raggiungere una shell). Ma è più sicuro di niente.

Tuttavia, forse non dovresti dare agli utenti le autorizzazioni ssh tramite un'app. Che ne dici di scrivere un semplice server / servizio web che ha solo le autorizzazioni per fare l'unica cosa che vuoi fare? Concorda con gli altri che condividere le credenziali sui dispositivi mobili è una cattiva idea.

    
risposta data 19.03.2012 - 16:34
fonte

Leggi altre domande sui tag