¿Cómo proteger aplicaciones web disponibles?

14

Como ejercicio, tenga en cuenta lo siguiente:

Si se enfrenta a la necesidad de implementar aplicaciones web estándar que no está seguro acerca de las prácticas de codificación de seguridad de los proveedores, ¿qué técnicas o tecnologías valdrían la pena aplicar o implementar para cierta protección?

Suponiendo lo siguiente:

  • No tiene acceso al código fuente o no puede influir fácilmente en los cambios.
  • No tiene los recursos, fondos o habilidades para realizar pruebas de penetración o evaluación de vulnerabilidad de aplicaciones individuales, pero puede haber fondos disponibles para tecnologías de protección que se pueden usar en una amplia gama de aplicaciones web.
  • No tiene capacidad para vetar la implementación de las aplicaciones.

Actualizar: Piense en SysAdmin en lugar de en InfoSec profesional, es decir, tiene alguna idea acerca de la seguridad, pero no es lo principal.

¿Cuáles son los enfoques, técnicas o tecnologías que deben considerarse a nivel SysAdmin sin un equipo de seguridad al que llamar para que les ayude a dormir mejor por la noche?

    
pregunta Sim 19.05.2011 - 15:03
fuente

4 respuestas

16

Primero, mis condolencias. Eso suena como un verdadero fastidio: tener que echar mano de la seguridad después del hecho con poco o ningún tiempo de análisis, con un producto comercial de caja negra, no hay forma de obtener reparaciones y una mano forzada en cuanto a qué producto se elige y cuándo se implementa. Algo así como una pesadilla nerd de seguridad. Lo siento si esta es una situación real, no es una posición en la que me gustaría estar, y mi primer consejo sería encontrar maneras de salir políticamente de esa situación. Esto habla en voz alta para una organización donde la seguridad juega un serio papel secundario a las demandas de TI. Eso siempre es un mal caso para las buenas prácticas de seguridad y podría ser el problema de seguridad número 1 de su organización.

Al fallar un enfoque organizativo para cambiar el juego, aquí están mis pensamientos de sentido común.

  1. Sepa qué autenticación y control de acceso proporciona el producto. No es una prueba de pluma completa, solo escápela, pruébela, lea qué documentos puede obtener y tenga una idea de cómo encaja. Al menos eso dará algunas pistas sobre los puntos débiles que brindan cierta protección.
  2. Cortafuegos de nivel de aplicación que pueden ver y detectar problemas en el tráfico HTTP entrante y saliente. Reto : estos no suelen ser baratos y requieren tiempo y esfuerzo para sintonizar. Es muy probable que tengan un número inaceptable de falsos positivos de inmediato, y necesitará tiempo para configurarlo correctamente. Planifique un montón de tiempo de prueba antes de la implementación y controle tantos casos de uso válidos como sea posible para configurar escenarios de prueba, de modo que, cuando implemente, se arriesgue muy poco en términos de funcionalidad operativa.
  3. Buenas estrategias de copia de seguridad : descubra una manera de implementar rápidamente y perder la menor cantidad de datos posible en el proceso. Por lo que ha dicho, la nueva aplicación no es confiable, pero es necesaria; por lo tanto, imagínese que se hackeará y descubra una manera de recuperarse para que el tiempo de inactividad sea mínimo con el menor impacto posible en la misión de su empresa.
  4. Aísle. No coloque esta aplicación que no es de confianza en una máquina que también tiene sistemas bien examinados. De manera similar, mantenga los datos un tanto aislados si puede, y use algún tipo de mecanismo de transferencia de banda si ha unido estos datos con otros datos comerciales. Cuando tenga que hacer algo como eso, también considere que los datos pueden estar dañados y crear mecanismos de protección allí. Si se construye a partir de sistemas de control de acceso utilizados por otras áreas de la empresa, asegúrese de que la aplicación web tenga su propia cuenta para las funciones de búsqueda de privilegios, y que esta cuenta se mantenga al mínimo de capacidades sin permisos de modificación / modificación. Además, registre cualquier cosa que ocurra cuando este sistema toque algún otro sistema para que tenga un buen registro.
  5. Construya su base de conocimientos de forma lenta y segura. Puedo ver a una empresa que se opone a una revisión de seguridad si la seguridad no es una prioridad para ellos, pero nadie parece objetar que los administradores aprendan más sobre el sistema como ellos van. Comience pequeño y barato con la red de arrastre y luego vea lo que puede hacer en términos de obtener un soporte gratuito de la compañía que proporciona el producto. Algunas compañías estarán contentas con los comentarios gratuitos de los clientes y el diagnóstico de los problemas de seguridad. Me las arreglé para captar una cantidad bastante respetable de soporte técnico gratuito simplemente por ser encantador, asertivo y sin prejuicios.

Esos son mis pensamientos. Mi premisa básica es: tratar esto como un agujero potencialmente peligroso en su sistema y hacer todo lo posible para proteger el sistema, mantener todas las funciones en funcionamiento y acumular el conocimiento y los mecanismos de protección suficientes para que pueda actualizar su fe en el producto. / p>     

respondido por el bethlakshmi 19.05.2011 - 16:22
fuente
7

Creo que la acción más importante que puede tomar es ampliar / aumentar las capacidades de monitoreo y observación.

Si sabe o sospecha que existen vulnerabilidades sin controles para prevenir la explotación, lo que realmente desea es aprender lo antes posible si ha ocurrido algo malo.

Obtener gran en el registro. Planea pasar tiempo revisando los registros. Cuanto más familiarizado esté con el comportamiento de los sistemas involucrados, más rápido podrá identificar las actividades extrañas, y su cerebro será el máximo en la combinación de patrones. (por cierto, esto es bueno hacerlo de todos modos, dado que se acepta la creencia de que todas las técnicas / herramientas / productos de prevención fallan en algún momento)

Puede comenzar a aprovechar las ventajas de las herramientas populares de código abierto:

  • ModSec (ya mencionado) funciona muy bien: echa un vistazo al libro de Ivan Ristic (autor de modsec) enlace . Ivan describe a ModSec como "Otras veces lo llamaré una herramienta de detección de intrusión HTTP, porque creo que ese nombre describe mejor lo que hace ModSecurity". Le tomará tiempo ajustar y obtener habilidad en ModSec, pero puede hacer mucho para dar. usted la visibilidad que necesita.
  • OSSEC para HIDS. Incluso puede configurar OSSEC para alertar sobre eventos ModSec.
  • Almacene los registros de flujo de red para ayudarlo con la clasificación / análisis de incidentes si es necesario. Puede consultar las herramientas gratuitas de análisis de comportamiento de la red como FlowMatrix
  • Como se mencionó, la segmentación de la red para evitar que un atacante exitoso se mueva de lado es inteligente.

Básicamente, monitorear activamente la mala actividad. De lo contrario, nunca se puede saber si los sistemas están comprometidos. Hacer que los dueños de negocios estén al tanto de la cantidad de ataques (derivados del monitoreo) también puede ayudarlo a ganar el presupuesto.

    
respondido por el Tate Hansen 19.05.2011 - 18:26
fuente
3

Si debe proteger a ciegas una aplicación web, puede ser útil un servidor de seguridad de aplicación web (por ejemplo, mod_security en Apache).

Desafortunadamente, a menos que este sea un sistema central crítico que trate con transacciones financieras, probablemente no se plantee como un problema, incluso en una auditoría. Estoy con Iszi: cruza los ojos, los dedos, etc.

    
respondido por el Jeff Ferland 19.05.2011 - 15:53
fuente
2

Puede esperar hasta que ocurra una violación de datos muy grande y luego decirle a los propietarios de negocios que la única forma de proteger sus aplicaciones web es aplicar estándares de implementación de aplicaciones seguras que cubran paquetes / componentes de software de terceros, contrib y terceros.

Sí, la integración de ModSecurity con OSSEC, con una integración adicional con un SIEM como OSSIM es una excelente posición inicial. Pero este no es el juego final, tendrás que hacer mucho más.

OWASP AppSensor es una solución posible para algunos de los problemas con los que ModSecurity no puede lidiar, como la autenticación y autorización en la seguridad de aplicaciones web.

Sin embargo, sin las normas y políticas creadas por un experto en seguridad de aplicaciones en relación con el uso de componentes de software, todas las grandes organizaciones de instalación seguirán teniendo importantes violaciones de datos. La capa de aplicación es la mayor debilidad.

    
respondido por el atdre 20.05.2011 - 18:56
fuente

Lea otras preguntas en las etiquetas