¿Qué implica la defensa en profundidad para una aplicación web?

12

Supongo que significa diferentes niveles de seguridad, desde la seguridad a nivel de la aplicación hasta el fortalecimiento del servidor hasta la capacitación del personal, pero ¿cuáles son cada una de esas capas y cuáles son algunos buenos recursos para cada nivel de defensa?

En orden de importancia para una aplicación web, etiquete cada capa, defínala brevemente y luego enumere uno o más recursos para obtener más información.

    
pregunta VirtuosiMedia 19.11.2010 - 13:19
fuente

4 respuestas

6

El activo más importante en el paradigma de defensa en profundidad es inteligencia humana : empleando a personas con conocimientos de seguridad responsables de la defensa continua y persistente.

Las herramientas cambian, los marcos de las aplicaciones web cambian, se descubren nuevas técnicas de explotación, lo que implica la construcción de un equipo humano fuerte para ayudar a defender.

Pasando a tácticas, pero aún en alto nivel:

  

codificación segura (capa de aplicación) - > capacitando a los equipos para desarrollar aplicaciones resistentes a los atacantes - > OWASP

     

infraestructura segura - > capacitando a los equipos para implementar servidores resistentes a los atacantes y equipos de apoyo

     

enlace   El Centro para la Seguridad de Internet (CIS) es una empresa sin fines de lucro cuya División de Benchmarking and Metrics ayuda a las organizaciones a reducir el riesgo de interrupciones de negocios y comercio electrónico que resultan de controles de seguridad técnicos inadecuados. La División proporciona a las empresas estándares de mejores prácticas de consenso para configuraciones de seguridad, así como recursos para medir el estado de seguridad de la información y para tomar decisiones racionales sobre inversiones de seguridad.

     

enlace   Agencia de Sistemas de Información de Defensa (DISA)

     

enlace
enlace
  El Programa nacional de lista de verificación (NCP), definido por el NIST SP 800-70 Rev. 1, es el repositorio del gobierno de los EE. UU. De listas de verificación de seguridad (o puntos de referencia) disponibles al público que brindan una guía detallada de bajo nivel para establecer la configuración de seguridad de los sistemas operativos y aplicaciones. .

     

detección y respuesta de incidentes capaces - > facultando a los equipos para detectar, contener, responder y & corregir

     

colección de listas de verificación de respuesta a incidentes: enlace

     

Richard Bejtlich recientemente publicó un blog:

     

"Recursos para crear equipos de respuesta a incidentes   Recientemente, un colega me pidió recursos para crear equipos de respuesta a incidentes. Prometí que daría algunas ideas [...]

     

El sitio CERT.org CSIRT Development es probablemente el mejor lugar para comenzar. Desde allí puede encontrar documentos gratuitos, enlaces a clases ofrecidas por SEI sobre la creación de CIRT, y así sucesivamente. ¡No creo que puedas superar ese sitio!

     

No creo que los recursos en el sitio FIRST sean tan útiles, pero el proceso de trabajar para ser miembro es un gran ejercicio para un nuevo CIRT.

     

La página de mis libros de TaoSecurity enumera varios libros que a los CIRT les pueden resultar útiles ".

En nombre de la brevedad, ¿quizás sea suficiente lo anterior?

    
respondido por el Tate Hansen 20.11.2010 - 00:42
fuente
7

Creo que es posiblemente más importante entender lo que NO significa "defensa en profundidad". No significa "una larga lista de impresionantes controles de sonido, como firewalls y algoritmos de cifrado".

Defensa en profundidad es un término neutral desde el punto de vista tecnológico que significa que dos o más controles independientes deben tener que fallar antes de que un sistema se vea comprometido. P.ej. sosteniendo sus pantalones con cinturón y amp; llaves y amp; cadena :-)

El punto clave aquí es "independiente": si todos tus controles tienen modos de falla comunes, o si solo uno de ellos necesita fallar antes de que hayas perdido, entonces no hay "defensa en profundidad". Por ejemplo, si se puede acceder a cada uno de sus niveles desde el anterior a través de HTTP, y todos tienen la misma vulnerabilidad, entonces la configuración del firewall / DMZ se vuelve irrelevante, ya que el atacante puede usar la misma vulnerabilidad para ser propietario de todos ellos.

    
respondido por el frankodwyer 20.04.2011 - 23:31
fuente
4

Desde que empezaste a preguntar de forma especial por una aplicación web, es decir, desde el punto de vista de la aplicación, me centraré principalmente en eso. En orden de capas desde afuera hacia adentro, aquí hay una muestra:

  • Protocolo seguro (SSL / TLS)
  • cortafuegos
  • DMZ
  • WAF
  • IDS / IPS
  • SO endurecido
  • servidor web endurecido
  • código administrado con marco endurecido
  • autenticación
  • control de acceso a archivos (por ejemplo, ACL de NTFS)
  • control de acceso a URL (por ejemplo, configuración web de ASP.NET)
  • control de acceso aplicativo
  • validación de entrada
  • procedimientos almacenados
  • enlace de parámetro db (por ejemplo, objetos de comando / parámetro ADO) u ORM
  • DB endurecido
  • permisos estrictos en objetos DB
  • codificación de salida
  • etc.

Tenga en cuenta que la mayoría de estos son de naturaleza aplicativa, y la mayoría de los elementos de red / OS son de naturaleza arquitectónica ...

    
respondido por el AviD 21.11.2010 - 15:34
fuente
2

Estás pidiendo una respuesta bastante larga, así que solo voy a intentarlo.

Si nos acercamos a una aplicación web desde la perspectiva del usuario, está la:

  • Capa de red (paquetes HTTP / cables físicos / enrutadores / ISP)
    • Ver Wikipedia
  • Software de servidor (también conocido como IIS / httpd / etc)
    • Depende de la pila de su servidor (LAMP / .NET / etc.)
  • Su código de aplicación
    • Depende de qué está hecha tu aplicación
  • Más que no voy a entrar.
respondido por el Zian Choy 19.11.2010 - 22:18
fuente

Lea otras preguntas en las etiquetas