Onde armazenar com segurança chaves de API e senhas no WordPress?

11

Estou procurando usar algumas APIs e muitas vêm com chaves, chaves secretas e senhas necessárias para funcionar. Onde no WordPress você pode armazenar essas informações? Supondo que alguém possa invadir seu banco de dados, existe alguma maneira de o WordPress tornar a salvaguarda dessas informações mais segura? Além disso, considere a capacidade de alterar essas chaves sempre que necessário, para que eu precise atualizar as chaves em uma página de opções.

ATUALIZAR

jgraup
fonte

Respostas:

9

Não existe uma maneira absolutamente segura de armazenar essas informações permanentemente.
Você tem duas opções para aumentar um pouco a segurança:

  1. Use a tabela de opções e criptografe os dados

    Use um método de criptografia forte e vincule-o a:

    • sua senha quando desejar usar a chamada da API somente quando estiver conectado ou
    • uma chave secreta armazenada no seu wp-config.php- então um invasor precisa de ambos, o código PHP e o banco de dados
  2. Armazene as informações de acesso fora do WordPress

    Se você estiver usando um sistema para implantação automática, por exemplo, com base no Composer e no wpstarter , provavelmente terá algum tipo de servidor de implantação como o Envoyer, que cria um arquivo com importantes variáveis ​​de configuração armazenadas fora da raiz de documentos do servidor do site .
    Em seguida, você pode usar o back-end do servidor de implantação em vez do back-end do WordPress para alterar esses dados.

Ambas as opções não são completamente seguras. Você ainda precisa monitorar o uso real da API para detectar atividades não intencionais. Verifique se há um log que não possa ser comprometido por alguém com acesso total ao seu site.

fuxia
fonte
Existe uma maneira de integrar algo como o Azure Key Vault ao WP?
PoorInRichfield
4

A resposta é não. Se seu banco de dados puder ser espionado, seu código provavelmente também o será, mesmo se você criptografar os dados, ele poderá ser descriptografado.

Se você deseja armazenar dados confidenciais, não existe uma solução de baixo nível para ajudá-lo e você só precisa proteger todo o aplicativo para tornar a questão do armazenamento irrelevante.

Na verdade, eu tive um requisito para criptografar dados, portanto, se a segurança do aplicativo for violada e você tiver acesso apenas ao banco de dados, não poderá usá-los, mas na vida real é mais provável que você seja hackeado no nível wordpress do que no nível do banco de dados .

Mark Kaplun
fonte