Problemi di sicurezza con l'inoltro TCP

14

Fino ad ora ho impostato TCP Forwarding in ssh in modo sempre cieco fino a no, ma cercando in rete, ho difficoltà a scoprire quale sia l'effettiva minaccia per la sicurezza, quando lo permetti.

L'unica cosa che ho trovato è che la manpage indica che è utile disattivare l'inoltro TCP se gli utenti non hanno accesso alla shell. link dice, tuttavia, che non è così importante non avere accesso alla shell, ma no-port-forwarding in authorized_keys.

Quindi, - qual è la minaccia per la sicurezza che consente l'inoltro TCP in SSH e mi libererò di tale preoccupazione quando aggiungo AllowTCPForwarding No a sshd_config o inoltre ho per limitare l'accesso alla shell o aggiungi l'opzione no-port-forwarding ?

    
posta user857990 18.10.2012 - 10:49
fonte

2 risposte

11

Quando usi un tunnel SSH, per quanto riguarda il server di destinazione, il suo client è il server SSH, non il vero client che si connette al tunnel SSH.

Ad esempio, se hai un client SSH in esecuzione su 10.1.1.1 , connettendo a un server SSH su 10.2.2.2 e stabilendo un tunnel a 10.3.3.3 , quando un client (possibilmente da 10.4.4.4 o da qualsiasi altra parte) si connette al tunnel sul 10.1.1.1 fine, ottiene l'accesso a 10.3.3.3 come se provenisse da 10.2.2.2. , non 10.1.1.1 o 10.4.4.4 .

Ciò consente a tali connessioni di bypassare le regole del firewall relative al server di destinazione che avrebbe consentito le connessioni dalla macchina che esegue il server SSH, ma non oltre.

Questo è tipicamente un problema se il server SSH è un gateway tra due reti, con indirizzo IP pubblico e un indirizzo IP privato, per esempio. Una regola del firewall che consentirebbe solo l'accesso a determinati servizi all'interno della LAN interna non catturerebbe le connessioni da quel server SSH (a meno che non sia stato creato un caso speciale per quella macchina).

Le connessioni remote potrebbero venire da molto più lontano. Sul lato client SSH, alcuni client SSH possono associare il loro socket di ascolto a uno specifico indirizzo IP (ad esempio localhost ), almeno per impedire connessioni da macchine remote da quella parte. Tuttavia, ci si basa sul client che utilizza queste impostazioni correttamente.

Se i tuoi utenti sono autorizzati a fare questo tipo di connessioni, o se le regole del firewall (e relative) che usi nella tua rete gestiscono l'indirizzo IP del server SSH in modo specifico per tenerne conto, può andare bene. Detto questo, potresti voler controllare anche dove sono stabiliti i tunnel, altrimenti potresti anche guai con altri server di terze parti.

Se non ti serve nulla di tutto questo, disabilitare questa funzione sarebbe meglio.

    
risposta data 18.10.2012 - 17:10
fonte
5

L'inoltro TCP consente agli utenti di utilizzare SSH per configurare una VPN che possono utilizzare per eseguire il tunneling in una rete. Ciò potrebbe consentire a un utente malintenzionato di aggirare le misure di sicurezza della rete come i firewall. Il tunneling SSH può essere uno strumento estremamente utile, ma è anche un rischio per la sicurezza, quindi dovrebbe essere disabilitato a meno che non sia esplicitamente richiesto.

    
risposta data 18.10.2012 - 11:48
fonte

Leggi altre domande sui tag