Abbiamo creato un prodotto software amatoriale correlato al monitoraggio e alla gestione di servizi specifici. È stato realizzato in Python ed esegue un servizio web come frontend per mostrare i dati in modo carino oltre ad altre cose.
Abbiamo un problema che non abbiamo ancora risolto, ed è come distribuirlo in modo che l'appliance virtuale non possa essere manipolata (in modo che il codice e le impostazioni non possano essere modificati o visualizzati). Abbiamo un sacco di opzioni:
-
Fornisci questo come SaaS, inviando i dati in remoto (completamente scartati per ovvi motivi di sicurezza)
-
Costruisci un server con hardware personalizzato che sarebbe fisicamente protetto, quindi almeno non può essere facilmente manipolato (scartato per costi elevati)
-
Crea un'appliance virtuale (vale a dire una VM preconfigurata) con dati cifrati, la console ridotta e letteralmente non c'è modo di reimpostare la password dell'utente (cioè non è in grado di accedere a qualsiasi cosa) oltre ad altri dettagli
La terza opzione è quella che mi piace di più, ma non sono sicuro di quanto sia fattibile. La mia intenzione non è di avere un dispositivo virtuale a prova di proiettile che è impossibile da manipolare, ma almeno renderlo più difficile da fare.
Il problema, non so da dove iniziare a rendere l'appliance virtuale più sicura in quanto è una sfida che non ho mai dovuto affrontare prima. Potresti darmi qualche consiglio? Sono sulla buona strada?