Proteger Node.js Código del servidor

0

Situación / Medio ambiente:

Tengo un proyecto escrito cuyo núcleo es un servidor web y API de NodeJs. Me gustaría venderlo a varios clientes, ellos alojarán el servidor en su sistema.

Problema:

El servidor NodeJs se ejecuta con código fuente y, por lo tanto, es muy vulnerable a ser compartido, manipulado o copiado.

Objetivo:

Proteja el código fuente de cualquier influencia externa, de manera que compile, encierre o codifique de forma segura el código fuente para permitir que se comparta con varios clientes sin riesgo de que sea manipulado o copiado.

He aprendido sobre un enfoque para este problema, el muy prometedor enclose.js , pero posiblemente me gustaría evaluar varios métodos. para asegurar el código fuente de NodeJS, sugerido por expertos en seguridad, y finalmente encontrar una buena / mejor práctica para lidiar con esto.

    
pregunta Clemens Himmer 11.08.2016 - 19:55
fuente

2 respuestas

1

Desde un punto de vista empresarial, creo que si pudiera empaquetarlo como un servicio alojado, sería una buena manera de evitar que su código sea utilizado por personas no autorizadas.

No hay forma de garantizar que su aplicación no se distribuya, incluso si la ofusca mucho, etc. para proteger su I.P.

Le sugiero que venda el producto con el modelo SaaS o PaaS donde sus clientes usen su sitio web (una interfaz) para interactuar con el servicio / producto.

    
respondido por el theabhinavdas 11.08.2016 - 20:19
fuente
0

Estoy de acuerdo con @ 0x23212f's respuesta . Ofuscar o precompilar JavaScript tiene un potencial limitado. Si fuera C, podría tener mejor éxito, pero los lenguajes de alto nivel, incluido Java, pueden fácilmente ser descompilados o desenfocados.

Teniendo esto en cuenta, tendrá que controlar el espacio del servidor en el que está almacenado. Una buena ventaja de hacerlo de esta manera, es que los rastros de tu pila estarán intactos.

Supongo que, como todavía no ha resuelto este problema, debe ser un producto nuevo. Los nuevos productos tienden a tener errores incluso en la producción, por lo que los seguimientos completos de la pila serán útiles.

Si debe precompilar, sigue algunos pasos, como

  • Uso de Google Closure Compiler (que probablemente le proporcionará un mapeo al original para propósitos de seguimiento de la pila) Esta es una forma confiable de ofuscar nombres de variables, pero la estructura del programa permanece intacta.
  • Distribuir el archivo como una cadena Base64 cifrada con algún tipo de método de descifrado. (fácilmente burlado)
  • Algún tipo de autoinspección para avisarte si se cambian los archivos (requiere acceso a Internet)
respondido por el George Bailey 11.08.2016 - 21:58
fuente

Lea otras preguntas en las etiquetas