Formación escrita en DevOps
¿Cómo garantizar la seguridad de la información en DevOps?
En la mayoría de las organizaciones, la seguridad de la información es una de las objeciones más frecuentes a la adopción de DevOps. Sin embargo, DevOps es una de las mejores técnicas para entregar sistemas de máxima seguridad.
En muchas organizaciones, quizá también en la suya, hay un especialista en seguridad de la información por cada 100 integrantes de los equipos de ingeniería de software. En otras palabras, en un equipo de 100 personas suele haber un solo especialista en seguridad de la información. Esto alarga el tiempo necesario para resolver cualquier problema de seguridad del software, retrasa las entregas y, peor aún, ofrece a los clientes un nivel de seguridad inferior al óptimo.
Si algo habrá aprendido al entregar software es que encontrar un impedimento grave al final de un proyecto es malo, y que es aún peor si se trata de seguridad. Por eso, todo el equipo de DevOps debe incorporar la seguridad de la información al trabajo diario de ingeniería en lugar de tratarla como una casilla que se marca o se deja sin marcar al final del proyecto.
Involucre a especialistas en seguridad de la información desde las primeras etapas de la ingeniería de software
Para evitar que un problema de seguridad se convierta en un obstáculo grave o un cuello de botella justo antes del despliegue, involucre a especialistas desde las primeras etapas. Invítelos a demostraciones y sesiones iniciales de planificación y revisión para que conozcan el negocio al que sirve el software. Así podrán evaluar mejor los posibles riesgos y problemas y ayudar a su equipo de DevOps a definir los objetivos de seguridad y cumplimiento que se deben abordar durante el proceso de ingeniería.
La seguridad de la información forma parte del trabajo diario
Haga un seguimiento tanto de las funcionalidades de seguridad como de los incidentes con las herramientas habituales de planificación de tareas y gestión de incidencias, en vez de relegarlos a herramientas de cumplimiento a las que el equipo de DevOps apenas presta atención. Cuando aparezca un problema de seguridad en la arquitectura, el diseño o los sistemas en funcionamiento, enseñe al equipo en qué consiste. Ayúdele a entender las causas raíz y cómo debe analizar y abordar situaciones parecidas en el futuro para no reproducir el problema.
El enfoque táctico del equipo de DevOps en seguridad de la información consiste en:
- Evitar que se repitan los errores de seguridad.
- Integrar los objetivos de seguridad en las metas, la planificación y las herramientas de seguimiento del proyecto.
- Incorporar las pruebas de seguridad a las pruebas automatizadas de la canalización de despliegue.
- Definir herramientas de autoservicio reutilizables y bibliotecas de software que combinen las mejores prácticas de seguridad de la información de la organización, tras analizar exhaustivamente la seguridad de determinadas funcionalidades de productos y servicios desde todos los ángulos.
- Formar a los desarrolladores y a los ingenieros de operaciones de DevOps y confiar en ellos, aunque la seguridad de la información no sea necesariamente su competencia principal.
Cree bibliotecas, procedimientos, modelos, arquitecturas y diseños seguros para su software
Con estos recursos reutilizables, el equipo de DevOps debe estandarizar aspectos de la seguridad del software en varias áreas críticas, como:
- Comunicación y transferencia de datos entre clientes y software.
- Almacenamiento de datos.
- Entornos seguros.
- Sistemas operativos, bases de datos y configuración de herramientas de terceros, componentes y otras interfaces para evitar vulnerabilidades.
- Almacenamiento de contraseñas.
- Gestión de contraseñas olvidadas.
- Gestión del registro de información confidencial de los clientes.
- Prevención del scripting entre sitios (XSS).
- Inyecciones SQL.
- Otras vulnerabilidades de seguridad de la información específicas del negocio y del marco legislativo en que opera.
Técnicas de seguridad de la información recomendadas en DevOps
- Análisis estático: Análisis de código para identificar puertas traseras y vulnerabilidades de seguridad.
- Análisis dinámico: Análisis de puertas traseras y vulnerabilidades mientras se ejecuta el sistema. Monitorización y análisis continuos de las operaciones de CPU, RAM, E/S de red y E/S de disco tanto en producción como en otros entornos.
- Análisis de dependencias: Análisis estático y dinámico de herramientas y dependencias externas cuyo código fuente no controla. Al utilizar herramientas, bibliotecas o servicios de terceros, la organización hereda también sus problemas de seguridad. Revise los incidentes de seguridad abiertos de los componentes externos y el historial del proveedor para saber con qué rapidez los corrige.
- Seguridad del acceso al código fuente: El equipo de DevOps debe utilizar una infraestructura de clave pública, en la que cada persona tenga una clave pública y otra privada. Así se autorizan y monitorizan todos los registros, extracciones y lecturas del repositorio de código, y cada cambio queda firmado por quien lo realiza.
- Integre la monitorización de seguridad (telemetría) en sus entornos: Revise los detalles de uso del sistema para detectar infracciones de seguridad. Suelen manifestarse en un número excesivo de eventos críticos generados por los usuarios, como intentos fallidos de iniciar sesión, solicitudes de recuperación de contraseña o compras de una misma persona con varias tarjetas de crédito distintas.
CONCLUSIÓN
En este capítulo ha encontrado algunas recomendaciones sobre cómo aborda DevOps la seguridad de la información. La seguridad es a la vez un arte y una ciencia. El objetivo del capítulo es explicar el enfoque que sigue la metodología de desarrollo y entrega de software con DevOps, sin pretender convertirle en especialista.
DevOps facilita que los objetivos de seguridad de la información y cumplimiento de la organización se integren bien en el trabajo diario de sus ingenieros al hacer que la seguridad sea responsabilidad de todos. Las empresas más dinámicas del mundo ya han demostrado que esta forma de atender a sus clientes es segura.
