Cloud privato. Stiamo cercando alternative a soluzioni open-source.

Sono un ingegnere di formazione, ma comunico di più con imprenditori e direttori di produzione. Qualche tempo fa, un proprietario di un'azienda industriale si è rivolto a me per un consiglio. Nonostante l'azienda sia grande e sia stata fondata negli anni '90, la gestione e la contabilità operano in modo tradizionale all'interno di una rete locale.

Questo è il risultato delle preoccupazioni per il proprio business e dell'intensificazione del controllo da parte dello stato. Le leggi e i regolamenti possono essere interpretati in modo molto ampio dagli organi di controllo. Un esempio può essere fornito dalle modifiche al Codice Fiscale, che eliminano il termine di prescrizione per le violazioni fiscali, mentre si verifica la vera distruzione del segreto bancario e contabile..

Di conseguenza, il proprietario dell'azienda ha iniziato a cercare soluzioni per un'immagazzinamento sicuro delle informazioni e un trasferimento sicuro dei documenti. Un "cassaforte" virtuale.

Il compito è stato analizzato con l'amministratore di sistema in servizio: è necessaria un'analisi approfondita delle piattaforme esistenti.

  • il servizio deve essere non basato su cloud, nel senso tradizionale del termine, ovvero senza archiviazione su server di terze parti. Solo un server proprietario;
  • è necessaria una crittografia robusta dei dati trasferiti e memorizzati;
  • è obbligatoria la possibilità di rimuovere urgentemente il contenuto da qualsiasi dispositivo premendo un pulsante;
  • la soluzione è stata sviluppata all'estero.

Ho suggerito di eliminare il quarto punto, dato che le applicazioni russe hanno certificati ufficiali. Il direttore ha detto chiaramente cosa fare con tali certificati.

Scelgo le opzioni

Ho selezionato tre soluzioni (più opzioni di scelta, più dubbi):

Il proprietario dell'azienda ha una comprensione limitata delle complessità tecniche, quindi ho redatto il rapporto in forma di liste di pro e contro per ciascuna opzione.

Risultati dell'analisi

Syncthing

Pro:

  • Open source;
  • Attività dello sviluppatore principale;
  • Il progetto esiste da molto tempo;
  • Gratuito.

Contro:

  • Non c'è un cliente per l'interfaccia iOS;
  • Server Turn lenti (sono gratuiti, quindi rallentano). Per chi
    non lo sa, Turn viene utilizzato quando non è possibile connettersi direttamente;
  • Configurazione dell'interfaccia complessa (è necessaria un'esperienza pluriennale nella programmazione);
  • Mancanza di supporto commerciale rapido.

Resilio

Pro: supporto per tutti i dispositivi e server Turn veloci.

Contro: Uno molto significativo è l'ignoranza totale da parte del servizio di supporto di qualsiasi richiesta. Zero reazione, anche se si scrive da indirizzi diversi.

Pvtbox

Pro:

  • Supporto per tutti i dispositivi;
  • Server Turn veloci;
  • Possibilità di scaricare file senza installare l'applicazione;
  • Servizio di supporto adeguato, compreso quello telefonico.

Contro:

  • Progetto giovane (poche recensioni e buone recensioni);
  • Interfaccia del sito molto 'tecnica' e non sempre comprensibile;
  • Non c'è documentazione dettagliata, su molte questioni si è costretti a contattare il supporto.

Cosa ha scelto il cliente

La sua prima domanda: qual è il senso di sviluppare qualcosa gratuitamente? Hanno subito rifiutato Syncthing. Gli argomenti non hanno funzionato.

Dopo un paio di giorni, il cliente ha categoricamente scartato Resilio Sync per mancanza di supporto, poiché non è chiaro a chi rivolgersi in una situazione non standard. Inoltre, una sfiducia nei confronti della registrazione americana dell'azienda.

Per ulteriori analisi è rimasto Pvtbox, il salvadanaio elettronico. Abbiamo condotto un audit tecnico completo di questa piattaforma, concentrandoci sulla possibilità di intercettazione, decifratura dei dati e accesso non autorizzato al deposito di informazioni.

Processo di audit

Abbiamo effettuato un'analisi delle connessioni all'avvio del programma, durante il funzionamento e in stato di inattività. Il traffico, secondo gli standard moderni, inizialmente circola in forma crittografata. Proveremo a condurre un attacco MITM e sostituire il certificato "on the fly" con l'aiuto di Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Per questo, inseriremo un intermediario tra l'applicazione Pvtbox e il server pvtbox.net (si sono scambiati dati con il server pvtbox.net tramite connessione https).

Avviamo l'applicazione per assicurarci che il programma e la sincronizzazione dei file stiano funzionando. In Linux è possibile osservare immediatamente il logging, se si avvia il programma dal terminale.
Cloud privato. Stiamo cercando alternative a soluzioni open-source.

Spegnere l'applicazione e sostituire l'indirizzo host pvtbox.net nel file /etc/hosts con i privilegi di superutente. Sostituiamo l'indirizzo con quello del nostro server proxy.
Cloud privato. Stiamo cercando alternative a soluzioni open-source.

Ora prepariamo il nostro server proxy per un attacco MITM su un computer con indirizzo 192.168.1.64 nella nostra rete locale. A tale scopo, installeremo il pacchetto mitmproxy versione 4.0.4.

Avviamo il server proxy sulla porta 443:
$ sudo mitmproxy -p 443

Avviamo il programma Pvtbox sul primo computer, osserviamo l'output di mitmproxy e i log dell'applicazione.
Cloud privato. Stiamo cercando alternative a soluzioni open-source.

Mitmproxy riporta che il cliente non si fida del certificato sostitutivo fornito dal server proxy. Nei log dell'applicazione osserviamo anche che il certificato del server proxy non supera la verifica e il programma si rifiuta di funzionare.

Installiamo il certificato del server proxy mitmproxy sul computer con l'applicazione Pvtbox per rendere il certificato "fidato". Sul computer installeremo il pacchetto ca-certificates. Poi copieremo il certificato mitmproxy-ca-cert.pem dalla cartella .mitmproxy del server proxy sul computer con l'applicazione Pvtbox nella cartella /usr/local/share/ca-certificates.

Eseguiamo i comandi:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates
Cloud privato. Stiamo cercando alternative a soluzioni open-source.

Avviamo l'applicazione Pvtbox. Il certificato non ha nuovamente superato la verifica, il programma si rifiuta di funzionare. Probabilmente, l'applicazione utilizza un meccanismo di protezione Certificate pinning.

Un attacco simile è stato effettuato sull'host signalserver.pvtbox.net, e anche sulla connessione peer-to-peer stessa tra i nodi. Lo sviluppatore indica che l'applicazione per stabilire connessioni peer-to-peer utilizza il protocollo aperto webrtc, che usa la crittografia end-to-end tramite il protocollo DTLSv1.2.

Le chiavi vengono generate per ogni stabilimento di connessione e vengono trasferite attraverso un canale crittografato tramite signalserver.pvtbox.net.

Teoricamente sarebbe possibile catturare i messaggi offer e answer di webrtc, sostituire le chiavi di crittografia e avere la possibilità di decrittografare tutti i messaggi inviati tramite webrtc. Tuttavia, non è stato possibile effettuare un attacco mitm su signalserver.pvtbox.net, quindi non ci sono opportunità di catturare e sostituire i messaggi inviati tramite signalserver.pvtbox.net.

Di conseguenza, non è possibile effettuare tale attacco sulle connessioni peer-to-peer.

È stato anche scoperto un file con i certificati fornito con il programma. Il file si trova nel percorso /opt/pvtbox/certifi/cacert.pem. Questo file è stato sostituito da un file che contiene un certificato fidato del nostro server proxy mitmproxy. Il risultato non è cambiato: il programma si rifiutava di connettersi al sistema e nel log si è osservato lo stesso errore,
che il certificato non supera la verifica.

Risultati dell'audit

Non sono riuscito a effettuare la cattura o la sostituzione del traffico. I nomi dei file, e tanto meno il loro contenuto, vengono trasmessi in forma crittografata, si utilizza una crittografia end-to-end. L'applicazione implementa una serie di meccanismi di protezione che ostacolano l'ascolto e l'inserimento.

Di conseguenza, l'azienda ha acquistato due server dedicati (fisicamente in luoghi diversi) per un accesso permanente alle informazioni. Il primo server è utilizzato per la ricezione, l'elaborazione e l'archiviazione delle informazioni, il secondo – per il backup.

Al cloud individuale ottenuto è stato collegato il terminale di lavoro del direttore e un telefono mobile iOS. Altri dipendenti sono stati collegati dall'amministratore di sistema e dal supporto tecnico di Pvtbox.

Nel frattempo, non ci sono state lamentele da parte del conoscente. Spero che la mia recensione possa aiutare i lettori di Habr in una situazione simile.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster