¿Qué se necesita para hacer un sistema basado en la web que sea impenetrable?

Impenetrable: desde todos los aspectos es una ilusión, pero una muy buena para tener.

Usted ha enfatizado en dos cosas: piratería y vigilancia del gobierno. Puede tomar una página de Apple, que se trata más de dar a los usuarios más control sobre la privacidad que de hacer algo a favor o en contra de la vigilancia gubernamental.

El gobierno es lo último de lo que quiere preocuparse. Porque cuando almacena datos que no están encriptados, no encriptados con la clave que pertenece al usuario, cualquier persona que pueda tener acceso a su red / base de datos puede leer los datos (puede ser por medios legales o por piratería o trabajo interno).

Hackeo: tiene muchas formas, exploits tradicionales en aplicaciones web o servidores web o en su red u otras. Para ser completamente infalible, debe construir todo por su cuenta, incluido el hardware en el que se ejecutarán sus aplicaciones (los caballos de Troya no solo se encuentran en el software sino que también están ocultos en el hardware / firmware o se pueden plantar una vez que el sistema cobra vida )

Espero que te hagas una idea y es por eso que hay tantas respuestas como “no escribas la aplicación ni desconectes el cable”.

Ahora echemos un vistazo a cómo puede lograr esto en una medida que sea factible, significativa y aborde el riesgo.

Hardware / SO / Red y parches:

¿Tiene las habilidades y los recursos para construir su propio hardware, sistema operativo (o al menos una versión limpia de Linux conocido) y construir una red segura y aplicar parches en un intervalo regular? Si no es así, ¿confía en uno de los proveedores de la nube para que haga ese trabajo por usted?

Por lo tanto, aborde este riesgo utilizando un proveedor de confianza de la nube (AWS / Azure) y tome precauciones adicionales como imágenes encriptadas, reglas de firewall fuertes, elementos de seguridad de red: detección, prevención, etc.

Pila de software :

¿Va a construir una pila de software completamente nueva: DB, servidor web, lenguaje de programación, etc. Si no, tiene que elegir uno que tenga un buen soporte del proveedor o de la comunidad.

Las soluciones preempaquetadas tienen una vulnerabilidad común, un mercado para exploits, etc. A menudo escuchas gritos de ingenieros de seguridad sobre el cambio de contraseñas predeterminadas y otras cosas. Eso es muy cierto, ya que es el punto de entrada más común. No tenemos que hackear nada.

Aplicación web en sí:

¿Cómo planeas diseñar tu aplicación web? La autenticación y la autorización son lo primero para comenzar. ¿Qué se considera información confidencial que desea evitar que se filtre (ya sea intrusión pirateada o gubernamental)? ¿Cómo se encriptan y administran las claves? Echa un vistazo a OWASP que es un buen comienzo.

O tiene que construir un sistema ecológico completo donde controle todo … al igual que Apple.

Datos :

Cómo se producen, consumen, etc., los datos. Cuántas capas lógicas y físicas cruza. Debe analizar cada punto débil para abordar la seguridad de los datos en tránsito y en reposo.

Personal :

¿Confiaría en las personas que contrata o trabaja (contratistas) para hacer el trabajo en la mejor medida posible? Siempre hay una información privilegiada, ya sea un empleado descontento o alguien que hace clic en un correo electrónico por error. De cualquier manera, debe abordar todos los riesgos asociados con el personal.

Aplicación web impenetrable:

Dado que hay demasiadas partes móviles y cosas que no están bajo su control, desea establecer sus expectativas: la mejor postura de seguridad para su aplicación. No puede lograr el 100% de su objetivo, pero seguramente puede hacer que 10 o 100 veces sea más difícil para un hacker ingresar a su sistema si “simplemente sigue los datos” y busca varias formas de piratear el sistema.

Tiempo, recursos y conflictos con los desarrolladores:

Para crear una aplicación web segura y confiable, necesita tiempo y recursos (hecho conocido), pero también debe tratar con los desarrolladores. Los desarrolladores no van a pensar primero en la seguridad. Quieren que la aplicación funcione, por lo que debe intervenir constantemente y crear una cultura donde la seguridad sea lo primero. El desarrollo seguro lleva tiempo.

Buena suerte.

Lamento decir eso, pero ese sistema no existe y puede no existir. Cualquier sistema conectado de alguna manera a Internet o alguna Red puede ser pirateado, inspeccionado y penetrado. ¿Cuándo se le pregunta cuál es el sistema informático más seguro del mundo? un investigador de seguridad dijo que todavía no está conectado a Internet. PERO, por supuesto, puede hacer que su sistema basado en la web sea más seguro y muy difícil de ser penetrado, al menos, por piratas informáticos menos calificados, ya sea contratando personal de seguridad y personal de seguridad para hazlo mientras te concentras en lo que haces. Si quieres hacerlo solo aunque no sea práctico porque eso requerirá muchos esfuerzos y consumirá todo el tiempo que tengas. Pero solo para saber que debes ser muy competente con tu programación lenguaje y sus herramientas de desarrollo. Debe actualizar constantemente las actualizaciones del software que utiliza. Todos los aspectos de seguridad e incluso las actualizaciones no relacionadas con la seguridad. Debe ser muy bueno en muchos dominios informáticos, desde la seguridad hasta los lenguajes de máquina y el desarrollo de software.

No puede hacer que un sistema basado en web sea impenetrable y 100% seguro.

Así que tienes dos opciones :

  • Hazlo lo más seguro posible:
  • autenticación (marque OAuth2), HTTPS, proxy, …
  • Anticípese a los ataques (consulte OWASP para ver un buen recurso al respecto)
  • asegúrese de que su empresa de alojamiento web esté segura
  • asegúrese de que nadie pueda conectar físicamente un dispositivo USB o un teclado en su servidor
  • Cien cosas más …
  • O si desea que sea 100% seguro, simplemente no escriba el programa, para que nadie pueda piratearlo 🙂
  • Es mejor enfocarse en implementar validaciones fuertes en código y configuraciones fuertes en OS, DB, HTTP

    servidor (google para descargas de referencia de CIS)

    Gracias,

    Uday Datrak

    Habilidades de Black Hat Hacker | Codificación segura | Revisión de código seguro | Automatización de seguridad

    Youtube: Uday Datrak (Uday Datrak (Uday Datrak))

    Linkedin: https://www.linkedin.com/in/uday … ( https://www.linkedin.com/in/uday …)

    Hardware informático perfecto.

    Ingeniería de software perfecta.

    Protocolos de comunicación perfectos.

    Los humanos perfectos para operar todos estos sistemas correctamente todo el tiempo.

    Eso es todo.