Pasando de DevOps a DevSecOps (I)
- Gestión de apps
DevOps es la unión entre desarrollo y operaciones para crear una entrega de servicios eficiente y fluida. Ha revolucionado nuestro enfoque de desarrollo y soporte. Sin embargo, es hora de considerar a la tribu de seguridad y hacer que sea fundamental para DevOps: tenemos que ir a DevSecOps.
Tradicionalmente, las pruebas de seguridad ocurren más tarde en el proceso de desarrollo. Con DevOps queremos probar e implementar continuamente. ¿Podemos hacer esto de forma segura?
Las amenazas
A medida que los datos se vuelven más valiosos y el pirateo de un sistema informático se convierte en una opción más segura que robar un banco. Esto significa que las amenazas aumentarán en sofisticación y diversidad y, en el mejor de los casos, solo podemos estar un paso por delante.
Ha llegado el momento de alejarnos del concepto de pruebas de seguridad como una actividad y comenzar a considerar la seguridad como un proceso integral que es holístico en toda la empresa y está profundamente arraigado en todo lo que hacemos.
Seguridad por diseño
La seguridad debe integrarse en todo lo que diseñamos. Para que eso suceda sin problemas, los requisitos de seguridad deben integrarse en el proceso de diseño de la misma manera que los requisitos funcionales. Esto incluye la infraestructura, la red y las aplicaciones. Deben elaborarse pautas para los desarrolladores que informen sobre prácticas seguras de ingeniería.
Cuando los desarrolladores entran en una organización de DevOps, las herramientas y los marcos deben estar en su lugar para que puedan comprender las prácticas de desarrollo y los estándares a usar. Las vulnerabilidades conocidas deben evitarse explícitamente, deben incluirse en las pautas de diseño y los estándares de codificación de los desarrolladores. El concepto clave aquí es que tenemos el control de la gestión de riesgos de seguridad desde el principio y que los creadores de políticas de seguridad y los desarrolladores toman decisiones informadas sobre la seguridad desde el principio.
Escaneo, pruebas automáticas, revisiones por pares
Necesitamos desarrollar y probar continuamente. Podemos integrar herramientas de escaneo en la tubería de DevOps y ejecutarlas de la misma manera que continuamente probamos el código funcional. Las herramientas de infraestructura en la nube y las herramientas de escaneo en la nube de terceros se pueden ejecutar y los escáneres de aplicaciones buscarán vulnerabilidades en el código de la aplicación. No es una solución total, pero identificará dónde se han infiltrado los tipos conocidos de vulnerabilidades en el proceso de desarrollo. Las vulnerabilidades se pueden tratar como cualquier otro defecto en el código.
Las pruebas de seguridad se pueden automatizar y ejecutar como parte de la canalización de DevOps de la misma manera que las pruebas funcionales.
Las revisiones periódicas entre pares y las discusiones abiertas sobre seguridad ayudarán a que los miembros del equipo se centren en la seguridad y enfaticen la importancia de mantener los patrones de construcción. Estas técnicas no son tanto como para hacer cumplir las pautas de diseño sino para mantener a todos enfocados en el objetivo de construir una aplicación segura.
Pruebas de penetración
Las pruebas de penetración o piratería ética brindan a los evaluadores de seguridad la oportunidad de buscar vulnerabilidades en la solución como un todo. Los probadores de penetración asumen el papel de hackers y realizan ataques simulados al sistema.
Sin embargo, si bien es un componente necesario en su arsenal de seguridad cibernética, es un proceso manual y no puede integrarse en la tubería DevOps tradicional. El propósito de las pruebas de penetración es demostrar que el diseño y la construcción de los requisitos de seguridad son suficientes para evitar ataques maliciosos. Se debe tomar una decisión política sobre dónde y cuándo usar esta técnica. En el mundo de la implementación continua, nuestras aplicaciones cambian, potencialmente muchas veces al día. Necesitamos determinar en qué tipo de lanzamiento utilizaremos esta técnica. Quizás una política de ciclos regulares de pruebas de penetración podría ser una opción.
Descubre la innovación
Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.