Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Maneira segura de armazenar chaves de criptografia - PHP


Estou assumindo que você está usando o Apache.

Coloque os dados secretos em uma variável de ambiente em /etc/apache2/envvars , defina o proprietário como root e as permissões como 400.

Um invasor terá que comprometer o servidor para colocar as mãos em sua chave.

Você também pode preparar um script que pede o segredo quando o Apache é iniciado (irritante, mas ainda mais seguro).

Observe que as pessoas com acesso root sempre ser capaz de obter sua chave e tentar escondê-la deles é apenas um placebo.

Solução placebo:
  • Deixe seu aplicativo ocioso por padrão até que você POSTe sua chave em uma página HTTPS dentro do mesmo aplicativo, salve sua chave em uma variável global e prossiga com seus negócios. Você deve considerar o ciclo de vida do processo PHP (quando o processo termina, você deve reenviar sua chave).