Estrategias para Aislar Secretos de Plugins en Discourse

Hola Comunidad de Discourse,

Actualmente estoy desarrollando un plugin para Discourse y me he encontrado con un desafío específico relacionado con la seguridad. Mi plugin requiere almacenar y acceder a datos confidenciales, y estoy explorando formas de garantizar que estos datos permanezcan seguros, particularmente del acceso por parte de otros plugins en el mismo entorno de Discourse.

¿Podrían proporcionar información o recomendaciones sobre la siguiente pregunta?

¿Es posible aislar un plugin de Discourse de tal manera que el archivo de secretos o los datos confidenciales utilizados por mi plugin no puedan ser leídos o accedidos por otros plugins instalados en la misma instancia de Discourse? Si es así, ¿cuáles son las mejores prácticas o enfoques recomendados para lograr este nivel de seguridad?

Estoy particularmente interesado en métodos que me permitan almacenar y acceder de forma segura a claves de cifrado o datos confidenciales similares dentro de mi plugin, sin exponerlos a otros plugins o partes del sistema de Discourse.

¡Gracias de antemano por su ayuda y sugerencias!

2 Me gusta

Hola chicos, ¿alguien tiene alguna idea sobre lo anterior?

Podrías echar un vistazo a las técnicas empleadas aquí:

pero ten en cuenta la advertencia: Discourse Encrypt (deprecated)

Aparte de eso, no conozco ninguna.

Por supuesto, como aplicación RoR, Discourse gestiona la autorización de usuarios correctamente, por lo que, por ejemplo, no puedes acceder a recursos de administrador como un usuario normal.

Pero un plugin tiene un alcance administrativo (más allá de la etapa inicial de inicialización), por lo que tu suposición básica debe ser que es posible que un plugin acceda a datos de otro plugin (aunque sea muy poco probable: ¿un plugin de reacciones transmitirá tus datos a Facebook? ¡Lo dudo! :sweat_smile: )

La responsabilidad recae en el instalador (es decir, el administrador humano) para verificar todo el código que se añade a una instancia para que no abuse de ningún dato.

Si eres reacio al riesgo, simplemente no instales plugins de terceros que no entiendas completamente; quédate solo con la instalación principal.

Pero al final del día, ¿te aseguras de tener un desarrollador RoR senior en plantilla para revisar todo lo que se añade a una instancia?

2 Me gusta

Hola Robert, gracias por la respuesta tan completa :+1: Tendré en cuenta lo que has publicado, estoy muy agradecido por tu ayuda.

3 Me gusta