Ho un app server che ospita un'applicazione CakePHP e un server di database che ospita i database. I server sono fisicamente separati. I database contengono informazioni sensibili crittografate. Le chiavi di crittografia per i dati crittografati sono anche memorizzate nel database (che sono a loro volta crittografate). Le chiavi vengono decodificate dall'app per l'uso nella decrittografia delle informazioni del database.
Ho l'impressione che se qualcuno dovesse compromettere il server del database e rubare i database non sarebbe in grado di decodificare i dati poiché l'app (che si trova su un server diverso) ha la chiave di crittografia. Il problema si verifica se qualcuno è in grado di compromettere il server dell'app. Se il server dell'app viene compromesso, le informazioni sulla connessione al database vengono memorizzate direttamente nell'app CakePHP come segue:
public $default = array(
'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'xxx.xxx.xxx.xxx', 'login' => 'login', 'password' => 'password', 'database' => 'database', 'prefix' => '', //'encoding' => 'utf8',
);
C'è un modo per archiviare queste informazioni di connessione in modo più sicuro o è solo questione di sapere che se l'app è compromessa, anche il database è compromesso? Ci sono cose che posso fare per mitigare le possibilità di questo tipo di compromesso a cui potrei non aver pensato? Grazie in anticipo!