Attualmente sto sviluppando un plugin per Discourse e ho riscontrato una sfida specifica relativa alla sicurezza. Il mio plugin richiede l’archiviazione e l’accesso a dati sensibili e sto esplorando modi per garantire che questi dati rimangano sicuri, in particolare dall’accesso di altri plugin nello stesso ambiente Discourse.
Potreste fornire approfondimenti o raccomandazioni sulla seguente domanda:
È possibile isolare un plugin di Discourse in modo che il file dei segreti o i dati sensibili utilizzati dal mio plugin non possano essere letti o accessibili da altri plugin installati sulla stessa istanza di Discourse? In tal caso, quali sono le best practice o gli approcci consigliati per raggiungere questo livello di sicurezza?
Sono particolarmente interessato a metodi che mi consentano di archiviare e accedere in modo sicuro chiavi di crittografia o dati sensibili simili all’interno del mio plugin, senza esporli ad altri plugin o parti del sistema Discourse.
Grazie in anticipo per la vostra assistenza e suggerimenti!
A parte questo, non ne sono a conoscenza di altri.
Naturalmente, come applicazione RoR, Discourse gestisce correttamente l’autorizzazione degli utenti, quindi, ad esempio, non è possibile accedere alle risorse di amministrazione come utente normale.
Ma un plugin ha uno scopo amministrativo (oltre la fase iniziale di inizializzazione), quindi la tua ipotesi di base deve essere che sia possibile per un plugin accedere ai dati di un altro plugin (anche se molto improbabile - un plugin di reazioni trasmetterà i tuoi dati a Facebook?! Ne dubito!! )
L’onere spetta all’installatore (cioè all’amministratore umano) di verificare tutto il codice aggiunto a un’istanza in modo che non abusi di alcun dato.
Se sei avverso al rischio, semplicemente non installare plugin di terze parti che non comprendi appieno - attieniti solo all’installazione di base.
Ma alla fine della giornata, assicurati di avere uno sviluppatore RoR senior nello staff per rivedere tutto ciò che viene aggiunto a un’istanza?