Estratégias para Isolamento de Segredos de Plugin no Discourse

Olá Comunidade Discourse,

Atualmente estou desenvolvendo um plugin para o Discourse e encontrei um desafio específico relacionado à segurança. Meu plugin requer o armazenamento e acesso a dados confidenciais, e estou explorando maneiras de garantir que esses dados permaneçam seguros, especialmente contra o acesso por outros plugins no mesmo ambiente Discourse.

Vocês poderiam fornecer insights ou recomendações sobre a seguinte questão:

É possível isolar um plugin do Discourse de forma que o arquivo de segredos ou dados sensíveis usados pelo meu plugin não possam ser lidos ou acessados por outros plugins instalados na mesma instância do Discourse? Se sim, quais são as melhores práticas ou abordagens recomendadas para alcançar esse nível de segurança?

Estou particularmente interessado em métodos que me permitam armazenar e acessar com segurança chaves de criptografia ou dados sensíveis semelhantes dentro do meu plugin, sem expô-los a outros plugins ou partes do sistema Discourse.

Agradeço antecipadamente pela sua ajuda e sugestões!

2 curtidas

E aí pessoal, alguém tem alguma informação sobre o que foi dito acima?

Você pode dar uma olhada nas técnicas empregadas aqui:

mas observe a ressalva: Discourse Encrypt (deprecated)

Fora isso, não estou ciente de nenhum.

Claro, como um aplicativo RoR, o Discourse gerencia a autorização do usuário corretamente, então, por exemplo, você não pode acessar recursos de administrador como um usuário normal.

Mas um plugin tem escopo administrativo (além do estágio inicial de inicialização), então sua suposição básica deve ser que é possível para um plugin acessar dados de outro plugin (mesmo que muito improvável - um plugin de reações vai transmitir seus dados para o Facebook?! Duvido!! :sweat_smile: )

O ônus é do instalador (ou seja, o administrador humano) para verificar todo o código que é adicionado a uma instância para que ele não abuse de nenhum dado.

Se você for avesso ao risco, simplesmente não instale plugins de terceiros que você não entende completamente - atenha-se apenas à instalação principal.

Mas, no final das contas, certifique-se de ter um desenvolvedor RoR sênior na equipe para revisar tudo o que está sendo adicionado a uma instância?

2 curtidas

Olá Robert, obrigado pela resposta muito completa :+1: Levarei em consideração o que você postou, sou muito grato pela sua ajuda.

3 curtidas