asegure el código de un servidor alquilado físicamente al cliente

0

Mi empresa alquila un servidor Debian a los clientes, que tienen que conectarse a su propia red.

El servidor proporciona varios servicios, una interfaz de administración y se conecta al servicio en línea de mi empresa.

Como el cliente tiene acceso a la computadora que ejecuta estos servicios, puede leer su código fuente en el disco duro. Un usuario malintencionado puede buscar vulnerabilidades de seguridad y puede ayudar a aplicar ingeniería inversa a los servicios en línea.

¿Cómo puedo proteger el código fuente del cliente?

Editar: El código fuente está en PHP, y algunos usuarios tienen una cuenta de root en sus servidores (que pronto se eliminará)

    
pregunta tux lu 16.06.2017 - 12:12
fuente

1 respuesta

0

No estoy seguro de por qué permite que los usuarios no confiables accedan al servidor de forma root, pero el único enfoque que se me ocurre es negar a dichos usuarios el acceso al directorio que contiene el código PHP.

Esto se puede hacer mediante:

  1. Encriptar el directorio que contiene el código PHP y descifrarlo sobre la marcha con una clave que se obtiene de un servidor seguro
  2. Recuperando el código PHP desde una ubicación segura en el arranque, luego guardándolo en la memoria y usándolo
  3. Ejecutar el código PHP en un servidor diferente al que los usuarios no tienen acceso, buscar datos desde el servidor compartido (por ejemplo, a través de NFS) donde sea necesario.

Tenga en cuenta que los dos primeros enfoques son susceptibles a varias formas de que alguien eche un vistazo al código; p.ej. agregando un archivo PHP adicional que examina los otros archivos PHP y devuelve el contenido de su código. Es posible que pueda evitar eso haciendo algo inteligente con php-fpm para que el código cifrado se ejecute en una sola instancia de php-fpm y todo lo demás se ejecute en un segundo, pero no apostaría contra alguien con acceso de root sortear eso.

Iría por el tercer enfoque, ya que esa es la única manera de asegurarlo.

    
respondido por el Pak 16.06.2017 - 14:23
fuente

Lea otras preguntas en las etiquetas