Mysql
 sql >> Database >  >> RDS >> Mysql

Modo sicuro per memorizzare le chiavi di crittografia - PHP

Presumo che tu stia usando Apache.

Inserisci i dati segreti in una variabile di ambiente in /etc/apache2/envvars , imposta il proprietario su root e le autorizzazioni su 400.

Un utente malintenzionato dovrà compromettere il server per mettere le mani sulla tua chiave.

Puoi anche creare uno script che chieda il segreto all'avvio di Apache (fastidioso, ma ancora più sicuro).

Tieni presente che le persone con accesso root sempre essere in grado di ottenere la tua chiave e cercare di nasconderla da loro è solo un placebo.

Soluzione placebo:

  • Rendi la tua applicazione inattiva per impostazione predefinita fino a quando non esegui il POST della tua chiave su una pagina HTTPS all'interno della stessa applicazione, salvi la tua chiave in una variabile globale e procedi con la tua attività. Devi considerare il ciclo di vita del processo PHP (al termine del processo, devi inviare nuovamente la tua chiave).