Trasferimento file sicuro da una prospettiva di sicurezza della rete

1

Supponiamo una rete semplice con un (Windows) server e una (Windows) workstation. Risulta la domanda su come trasferire in modo sicuro i file tra i due non è ovvio considerando:

  1. Definisco secure in questo contesto come impedendo a un utente malintenzionato con il controllo di uno dei due dispositivi di propagare il suo controllo al secondo. La riservatezza e l'integrità dei dati trasmessi sono secondari.
  2. Vogliamo impostare un filtro rigoroso tra i due dispositivi, utilizzando un firewall L4. Con il termine stretto intendo che vogliamo impedire qualsiasi altro uso rispetto al trasferimento di file, applicato dal firewall. Pensa ad esso come se avessi solo un firewall tra 2 società, ed ero responsabile della sicurezza del collegamento tra i due. Tranne che un hacker ha il controllo di una delle due società e cerca di ottenere una presa sul secondo. Ora, posso applicare il protocollo utilizzato in quanto l'altra società rispetterà e limiterà l'uso delle porte di rete che verranno aperte solo al protocollo concordato, in modo che ad esempio utilizzi un client HTTPS solo per connettersi alla porta 443.
  3. Il protocollo sarebbe meglio basato su standard aperti e non ha alcuna dipendenza da Internet; inoltre, punti bonus se la soluzione ha un'implementazione disponibile su Windows.
  4. Non sto prendendo in considerazione il rischio di vulnerabilità nel client o nel server.

2. ci impedisce di utilizzare alcuni protocolli classici come SMB , in quanto questo protocollo non è dedicato al protocollo di trasferimento file ma anche alla condivisione delle risorse, al controllo, ecc. Inoltre ci impedisce di utilizzare SFTP / SCP / rsync over SSH , in quanto questi sono incapsulati su SSH e non saremmo in grado di distinguere tra i due a livello di rete. Inoltre, FTPS è terribile in termini di richieste di apertura del firewall in quanto richiede tutta la deficienza del firewall di FTP .

Stavo pensando a un server HTTPS , perché potremmo creare un server che è specifico per l'utente in modo da rendere più difficile la propagazione di una minaccia. Ma vorrei che il client fosse in grado di rimuovere anche i file, quindi sarà necessaria una certa logica e probabilmente sarà necessario mantenere un'app specifica. WebDAV su SSL con autenticazione Digest corrisponde ai requisiti di sicurezza?

Comincio a pensare che non ci sia una risposta facile se non dicendo: dobbiamo limitare l'enfasi sulla sicurezza della rete, poiché non esiste un protocollo che ci consenta di garantire il livello di sicurezza che vogliamo senza imporre requisiti di sicurezza le macchine e, ad esempio, assicurandosi che un server SSH sia configurato correttamente per consentire solo SFTP . Questo è un peccato perché la domanda originale è piuttosto semplice.

    
posta xdrrq 31.10.2017 - 11:43
fonte

1 risposta

1

Da una prospettiva di L4 Firewall, FTPS, HTTPS e WebDAVS sono indistinguibili l'uno dall'altro; Anche SSH, SFTP, SCP e RScync + SSH sono indistinguibili l'uno dall'altro. Inoltre, da una prospettiva di L4 Firewall, i protocolli TLS sono essenzialmente gli stessi dei protocolli basati su SSH, sono entrambi protocolli di tunneling in grado di trasportare qualsiasi cosa tu inserisca. In altre parole, sì, L4 Firewall è lo strumento sbagliato per il lavoro.

Quello che farei se fossi nella tua situazione è eseguire un server git, su https, usando Git SmartHttp / git-http-back-end protocollo . Segna tutte le caselle:

  1. Protocollo aperto, implementazione open source
  2. Mantiene la cronologia. Puoi scegliere di consentire la cancellazione effettiva, consentendo il push forzato, o di disabilitare il push forzato e quindi richiedere il consenso esplicito da entrambi i lati per eliminare effettivamente la cronologia dei commit
  3. Trasferimento efficiente se la maggior parte degli aggiornamenti è variabile e abbastanza efficiente anche se i file sono sempre completamente diversi
  4. Protetto con TLS e quando viene eseguito su HTTPS e, se lo desideri, puoi invertire il proxy con un server web (ad esempio Apache). È possibile aggiungere qualsiasi autenticazione desiderata che può essere eseguita su HTTPS utilizzando il server web.
  5. Puoi scrivere un hook di pre-ricezione o post-ricezione per aggiungere controlli personalizzati e comportamenti aggiuntivi.

La mia seconda scelta sarebbe git su ssh, quindi rsync su ssh.

for example making sure a SSH server is properly configured to only allow SFTP.

Questo potrebbe essere più facile di quanto pensi. Esistono numerosi software server FTP che supportano SFTP senza il supporto della shell SSH, quindi ridurrai la possibilità di configurarli in modo errato.

    
risposta data 31.10.2017 - 14:05
fonte

Leggi altre domande sui tag