Password SMTP salvata come testo in chiaro?

Ciao,

sono nuovo nell’installazione di Discourse e recentemente l’ho configurato su un Droplet di Digital Ocean per utilizzarlo come forum/pagina della community della nostra azienda.

Durante l’installazione, ho notato che la voce della password SMTP non è protetta ed è archiviata come testo semplice nel file app.yml.

Sembra un potenziale problema di sicurezza. Tuttavia, non sono un esperto di rete o sicurezza, quindi potrebbe andare bene per diverse ragioni. Ma per tenere soddisfatto il nostro responsabile IT, mi aiuterebbe capire meglio perché è gestito in questo modo.

So che Discourse è ampiamente utilizzato da molte aziende, quindi sospetto che questo argomento sia già stato affrontato a sufficienza.

Qualsiasi aiuto è apprezzato.

Grazie!
Jason

Se una persona di cui non ti fidi ha accesso al tuo file app.yml, la tua password SMTP è il minimo dei tuoi problemi.

Come proporresti di proteggerlo?

Gli hash sono unidirezionali: non possono essere invertiti per recuperare i dati originali.

Le password degli utenti vengono hashate perché non devono essere reversibili. L’hash della password nel database viene consultato solo quando l’utente tenta di accedere. L’hash della password fornita viene confrontato con l’hash della password archiviato nel relativo record utente.

È abbastanza comune che password SMTP e chiavi API vengano archiviate in testo semplice. Devono essere trasmesse nella loro forma originale, quindi l’hashing ne impedirebbe l’uso. Se il servizio di terze parti accettasse un hash della password, non ci sarebbe alcun vantaggio nell’usare l’hashing come forma di protezione.

Come ha detto Jay sopra, se l’integrità fisica del tuo server viene compromessa e il file app.yml viene accessibile, hai problemi molto più gravi di cui preoccuparti rispetto alla necessità di reimpostare una password SMTP.

Un’importante avvertenza: non dovresti utilizzare la password SMTP altrove, ma questo non è specifico di Discourse. È una buona pratica di sicurezza per tutti i sistemi e per ogni account.

Come ha detto Jay, se qualcuno ottiene accesso al tuo file app.yml, hai altri problemi. Questo significa che probabilmente hanno accesso root completo al tuo server, incluso il tuo database di produzione.

La migliore pratica in questo caso è assicurarsi che il tuo server sia sicuro.

Ciao a tutti, grazie per le risposte.

Concordo sul fatto che proteggere il server sia la prima linea di difesa. Tuttavia, in questo caso non ho alcun controllo, dato che ho installato Discourse su un Droplet di Digital Ocean.

@Stephen - grazie per le informazioni di contesto sulle password SMTP. Non sapevo che fosse comune memorizzarle in testo semplice per questo tipo di utilizzo. Come ho detto, questo è al di fuori della mia area di competenza. È solo qualcosa che ha attirato la mia attenzione e volevo chiedere.

Grazie!
Jason

Non esattamente :slight_smile: Puoi limitare gli accessi solo a una chiave SSH, avere un firewall attivo e assicurarti che le patch di sicurezza vengano applicate regolarmente. Questo rappresenta una percentuale significativa nella sicurezza di un droplet.

Esatto. E a meno che tu non abbia crittografato il file system, cosa difficile da realizzare, devi fidarti anche di loro. Hanno accesso fisico ai server e alla rete.

Come spiegato, ti basta avere la password per poterlo utilizzare.