Quali sono i rischi di NON usare una chiave host per SFTP usando pysftp?

1

Ho messo insieme un processo ETL con Python dove trasferisco alcuni file da un server SFTP a un server locale. Sto seguendo le indicazioni da qui: link

Ho avuto difficoltà a far funzionare la crittografia della chiave, quindi ho seguito le istruzioni per configurarlo in modo che non controlli la presenza di una chiave host. Dice esplicitamente che è una cattiva idea, quindi l'ho fatto solo per testare con l'intenzione di usare una chiave host in seguito.

Quando è arrivato il momento di mettere la nostra chiave pubblica sul server, il provider ha detto che non era qualcosa che hanno fatto. Tracciare la trama, non possediamo il server, quindi non posso metterlo da solo.

Anche senza la chiave, la connessione è ancora crittografata, giusto? La ragione per cui sono confuso è perché utilizzo strumenti come WinSCP e che non richiede l'utilizzo di una chiave di crittografia.

Quali sono i miei rischi se NON utilizzo una chiave di crittografia?

Condivisione del codice per richiesta. I valori dei parametri vengono inseriti tramite un file di configurazione del formato yaml.

import pysftp

cnopts = pysftp.CnOpts()
cnopts.hostkeys = None

with pysftp.Connection(host, username=username, password=password, cnopts=cnopts) as sftp:
    
posta Bob Wakefield 01.12.2017 - 00:54
fonte

1 risposta

1

Confondi la chiave pubblica del tuo account, che utilizzi per l'autenticazione, con una chiave pubblica host / server, che dovresti usare per verificare il server.

Questi non sono correlati, pur servendo uno scopo simile, proprio in una direzione opposta. Il server utilizza la tua chiave pubblica per verificare la tua identità. Mentre dovresti usare la chiave pubblica del server per verificare l'identità del server.

Vedi il mio articolo su comprensione delle chiavi SSH .

Anche se si utilizza un'autenticazione con password semplice, è comunque necessario verificare la chiave host. La verifica della chiave host ti protegge dagli attacchi man-in-the-middle .

Vedi la mia risposta a Verifica chiave host con pysftp per sapere come verificare la chiave host con la libreria pysftp.

Nota che nessuna delle due chiavi pubbliche sopra menzionate è chiave di crittografia . Questa è solo un'altra cosa. Vedi Come funziona SFTP senza una coppia di chiavi pubblica / privata generata manualmente .

    
risposta data 01.12.2017 - 07:51
fonte

Leggi altre domande sui tag