
Lo que estoy buscando es alguna forma de, en mi propia computadora, ejecutar algún tipo de comando que "hornee" mis scripts PHP y algún tipo de archivo de configuración en una caja negra de un solo archivo, algo así como My server.abc
, lo cual es imposible para cualquiera para "echar un vistazo", y que simplemente subo al sitio web de alguna empresa y que luego va a su gran "computadora en la nube" o lo que sea, y luego se ejecuta mientras pago las facturas, y no tienen ni idea de lo que está dentro de esta "caja" cifrada; todo lo que ven es que envía paquetes de datos y recibe paquetes de datos. El archivo de configuración sería simplemente una lista muy abstracta del software que quiero dentro de él, como: "PHP 8, PostgreSQL 13, nginx 123, sshd", y un simple nombre de usuario/contraseña para poder acceder a él a través de SFTP. /SSH.
Reconozco plenamente que estopodríasertécnicamente imposible, pero según mi comprensión de las computadoras, parece que sería posible, incluso si en realidad no lo esdisponiblepor otras razones.
No puedo alojar un servidor en casa. Especialmente no un servidor web que se espera que esté disponible la mayor parte del tiempo. (De hecho, solía hacer esto durante muchos años, pero era una pesadilla cuando Internet se caía, había un corte de energía, peligro de incendio, el hardware fallaba o había un ataque DDoS).
No puedo usar un "webhost" donde pago a alguna empresa para que me permita tener un pequeño inicio de sesión SFTP donde coloco mis archivos y un panel de control web. Casi ninguno de ellos es compatible con PostgreSQL (la base de datos que uso), pero incluso si lo hicieran, este entorno simplemente no es seguro en absoluto.
No puedo pagarle a ninguna empresa por mi propio servidor dedicado que administro y administro yo mismo. Bueno, en realidad, yopodríaNo hago eso, pero como lo hice durante muchos años y casi me volví loco por el estrés, quiero evitar esto si es posible. Además, aunque es "dedicado", está fuera de mi control y normalmente utilizan soluciones de gestión remota muy inseguras. Además, si por alguna razón no puedo estar cerca y cuidar el servidor y aplicar parches en medio de la noche, rápidamente se vuelve inseguro. Además, me gustaría mucho no volver a utilizar FreeBSD, Linux o Windows Server en mi vida si puedo evitarlo...
(Una máquina virtual es lo mismo que lo anterior, con los problemas adicionales de ser una máquina virtual, con relojes a la deriva y toda esa basura).
No puedo pagar a ninguna empresa para que me proporcione un servidor dedicado "administrado", donde ellos manejan todo el estrés. Principalmente por el hecho de que no confío en que sean competentes, habiendo tratado tantas veces con "profesionales" de TI en el pasado, pero también porque, por supuesto, cuesta mucho más dinero.
No puedo pagarle a ninguna empresa por un servicio de "nube" difuso, porque nuevamente esto simplemente no es seguro. No está muy claro dónde y cómo existe mi "servidor", y también podría ser una cuenta de VM/webhost. Además, y tal vez simplemente tenga mala suerte, pero en realidad intenté usar la solución en la nube de AWS, Azure e IBM hace unos años, y ni siquiera pude registrarme/iniciar sesión en dos de ellos, y Azure estaba ridículamente roto. ¡Que ni siquiera era posible configurar un "servidor" de prueba!
soy consciente de laexistenciade "Docker" y cosas similares, pero nunca he podido descubrir cómo usarlo. Realmente le dediqué mucho tiempo. En realidad, no parece ser lo que quiero en absoluto.
Por favor, no me digan que tengo que hacer el 100% del procesamiento de datos en mi computadora de escritorio, generando archivos HTML estáticos todo el día que sincronizo con una cuenta de servidor web a través de SFTP. Porque ese es el "último recurso" desesperado en el que estoy pensando si no puedo ejecutar mis cosas de forma segura. Por supuesto, esto significará que mi sitio web no tendrá interactividad ni forma de "iniciar sesión". Todo se vuelve mucho más difícil de esa manera, pero simplemente no puedo confiar a otros mis datos y los de mis usuarios si no puedo hacerlo de una manera verdaderamente segura.
Respuesta1
La simplificación generalmente aceptada es que cualesquiera que sean las salvaguardas y el cifrado que haya incorporado a su software, no lo protegerán de un adversario determinado que tenga control total sobre el hardware donde se ejecuta su software.
Si ese es el caso: ¿cómo y por qué incluso las grandes empresas siguen utilizando soluciones en la nube, donde no tienen control sobre el hardware físico, ni siquiera para aplicaciones y datos valiosos y sensibles que necesitan mantener seguros?
¿Confían simplemente en el proveedor de alojamiento para mantener seguro el hardware y, finalmente, sus datos y aplicaciones?
En esencia sí, pero eso no tiene nada de "simple".
Existen análisis de costos-beneficios y riesgos, así como procesos de gestión de riesgos.
Generalmente esas empresas están tomandomedidas técnicas controlar los riesgos (o al menos debería hacer todo lo posible) para garantizar que incluso cuando un adversario tome el control del hardware no será fácil o trivial usar ese acceso, por ejemplo implementando el uso de cifrado (de disco completo) para almacenar restos de datos, cifrado de transporte para todas las comunicaciones entre sistemas y usuarios, firmas y no repudio para transacciones, etc.
Entonces no dependen únicamente del software y las soluciones de cifrado para su gestión de riesgos; ellos hacen sudebida diligenciaen la selección de partes confiables para administrar el hardware y hacer que firmen estrictascontratos, con SLA's y cláusulas penalespara mantenerlos honestos.
Y las empresas en generalauditar y verificarsi su propio personal y equipos, así como sus proveedores, realmente cumplen lo que prometieron y deberían estar haciendo.