Untrusted Provider (VPS Security)

Stavo ragionando sulla sicurezza delle informazioni/dati memorizzate nel server VPS

Gli insegnamenti in materia di sicurezza presenti nel corso “Introduzione al Self-hosting” sono validi se il provider è trusted.

Come avere la sicurezza che non sia possibile accedere a quei dati a persone/entità non autorizzate?

Punti da prendere in cosiderazione:

  • Il Provider VPS ha accesso fisco alla macchina fisica/virtuale
  • Anche se il provider è trusted potrebbero esserci dipendenti infedeli
  • Accesso abusivo da parte di terzi ai server fisici in presenza oppure in maniera remota
  • Criptazione completa del disco non è sufficiente, è possibile avere accesso ai dati criptati mentre il server è running, la chiave inserità dalla dashboard (Non è possibile accedere in SSH, il server non ha fatto il boot) può essere sniffata dal provider
  • Il provider può eseguire snapshot della macchina in stato running ed avere accesso ai dati in chiaro, o comunque alla chiave per decifrare il disco salvata in RAM

Soluzioni possibili

  1. Criptare i dati localmente, non sul VPS, e caricali sul server solo dopo averli criptati
  • PRO
    – Sicurezza e Memorizzazione: Il Provider VPS non conosce la chiave di criptazione eventualmente conosce solo i metadati
    – Accesso: Non è necessario comunicare la chiave al server VPS per leggere i dati, vengono decriptati in locale

  • CONTRO
    – Il client deve ricevere la chiave di decriptazione in modo sicuro, scaricare e decriptare i dati localmente

Comè possibile usare applicazioni web con database o comunque che interagiscono con dati sensibili?

Ad esempio questo forum sta girando in un server, ha un database, se qualcuno ha accesso fisico alla macchina può avere accesso a tutto, in maniera indiscriminata

Ogni idea è ben accettata

1 Like

Ciao,

si quello che dici è vero, tecnicamente parlando. Ci sono però dei trade-offs da considerare. Te ne metto uno qui a seguire:

  • Qualsiasi dato sarà esposto quando è utilizzato. Non cè altro modo. È una necessità di utilizzo. Il rischio non potrà mai essere ridotto a zero.

  • In alternativa ad un VPS uno si potrebbe mettere il server a casa. Ma è questo più sicuro? Dipende in realtà, perché uno deve analizzare la % di essere derubati a casa da un ladro, da quella di essere attacchi dal proprio provider.

Questo per dire: non c’è la soluzione perfetta. Il rischio non potrà mai essere 0. Ci sono solo rischi diversi. Se ti metti tutto a casa, i dati, come hai già detto tu, devono essere caricati nella RAM del server mentre questo esegue. E quindi il ladro può comunque rubare dei dati.

L’obiettivo ovviamente è separare i dati sensibili da quelli non sensibili e proteggere di più quelli sensibili, attraverso ad esempio l’utilizzo di funzioni hash.

Però non c’è una soluzione perfetta.

Nella soluzione che descrivi c’è bisogno per il client di avere una soluzione client-side in grado di decifrare i dati, che sarebbero comunque disponibili su quel dispositivo ad eventual malware e via dicendo. Oltre al fatto che si deve sempre scambiare una chiave di decifrazione, e se questa chiave la conosce il server, allora la conosce anche chi riesce ad attaccare il server.

Comunque ottimo spunto, mi hai fatto riflettere su una cosa, posso espandere questo pensiero di più in futuro.

1 Like