it-swarm.dev

Mosh è ora raccomandato dagli esperti di sicurezza? (2014)

Mosh è in circolazione da un po 'di tempo. Anche se è stato dichiarato "sostitutivo di SSH" dai suoi autori, mosh in realtà dipende da ssh per eseguire l'autenticazione iniziale, dopo di che viene avviata un'istanza del binario mosh sul server, la connessione SSH stabilita su TCP viene abbandonata (dopo aver servito il suo scopo per l'autenticazione e il bootstrap), e tutte le comunicazioni Shell e il roaming di rete d'ora in poi avvengono attraverso un protocollo mosh su UDP, ancora con qualche tipo di crittografia, ma completamente separato da ssh.

Tutto questo suona abbastanza semplice ed elegante, tuttavia, il diavolo è sempre nei dettagli.

Cosa pensano gli specialisti della sicurezza di mosh ora che esiste da un paio d'anni?

37
cnst

Dalle loro stesse FAQ :

D: Il tuo protocollo di datagramma sicuro è stato verificato da esperti?

A: No. Mosh è attivamente utilizzato ed è stato letto dai nerd criptati sulla sicurezza che pensano che il suo design sia ragionevole, ma qualsiasi nuovo protocollo di datagramma dovrà dimostrarsi, e SSP non fa eccezione: utilizziamo le implementazioni di riferimento di AES-128 e OCB e accogliamo con favore i vostri occhi sul codice. Pensiamo che la radicale semplicità del design sia un vantaggio, ma ovviamente altri lo hanno pensato e sbagliato.

26
Graham Hill

Qualcosa da tenere a mente durante l'utilizzo di MOSH ... Anche se la maggior parte di noi usa SSH per avviare la connessione, MOSH non richiede che funzioni per farlo funzionare (SSH dà il via a un nuovo mosh-server sul lato server e restituisce due valori sul lato client: port-# e chiave simmetrica a 22 byte). Pertanto, se metti le mani sui due elementi prodotti dal server, CHIUNQUE può utilizzare la tua connessione (ovvero, poiché non dipende dalla fonte dell'IP, se hai accesso a queste due informazioni, tu effettivamente sono i proprietari della connessione).

Ciò significa che ci sono fondamentalmente un paio di superfici di attacco da affrontare.

  1. Il protocollo stesso e decodificandolo "in volo". Questo è altamente improbabile per chiunque che non sia il tuo governo, il tuo ISP o qualcuno nella tua stessa caffetteria. Il costo per farlo e il requisito di essere in linea con la trasmissione rendono questo altamente improbabile (ma non completamente sconosciuto)

  2. Attaccare la porta UDP aperta quando il mosh-server è attivo. Questo è più probabile ed è qui che il protocollo necessita di ulteriori indagini. Ad esempio, c'è già stato un comprovato attacco DOS contro il sistema MOSH (non so ancora del dirottamento). E ovviamente se qualcuno ottiene la tua chiave simmetrica, probabilmente può indovinare la porta abbastanza facilmente.

Quindi, come utilizzare questo protocollo con tutte queste incertezze? Bene, puoi limitare tramite i tuoi iptables (o firewall, ecc.) La provenienza dei pacchetti IP oppure puoi impostare il port knocking sulla porta per "riattivarlo" se succede qualcosa. Ovviamente puoi sempre lasciarlo solo e andare con il rischio generale di un protocollo non verificato.

Personalmente, uso un batacchio (lo so, molte ragioni per cui questo è un dolore, insicuro, problematico, ecc.) Per bloccare gli indirizzi 60000. Poiché la maggior parte delle volte le mie riconnessioni provengono dallo stesso IP (il wireless si interrompe, ecc.), Raramente ho bisogno di "ri-bussare" per continuare la mia connessione MOSH. Naturalmente se chiudo il laptop, esco dalla caffetteria, passo al treno WiFi, ecc., Allora devo bussare di nuovo per accedere alle mie porte MOSH.

Per me, il port knocking o MOSH sono rischi intrinseci, ma messi insieme riducono di molto la superficie target. MOSH mitiga molti dei problemi che ho con i batacche e il batacchio mitiga la mia connessione di sicurezza non controllata.

2
Marcos