Sergey Nivens - Fotolia
Qué se necesita para ser un ingeniero DevSecOps
Para abordar la seguridad al principio del proceso de desarrollo de aplicaciones, DevSecOps requiere una letanía de habilidades y conocimientos tecnológicos. Aprenda lo que se necesita para ser un ingeniero DevSecOps.
Convertirse en un ingeniero de DevSecOps efectivo requiere un conjunto distintivo de habilidades y experiencia práctica. Los ingenieros de DevSecOps deben tener una comprensión profunda de cómo la seguridad impacta cada etapa de la secuencia de desarrollo y el producto o servicio final. Igual de importante es su capacidad para ser jugadores de equipo con buenas habilidades de comunicación.
Ciertamente no es un papel para aquellos que disfrutan trabajar en su propio silo. Identificar brechas e integrar la seguridad en los procesos de DevOps a menudo implica trabajar con colegas escépticos o desinformados sobre el papel del ingeniero de DevSecOps. Para ganar respeto y cooperación se requiere un buen conocimiento de los procesos y principios de DevOps, no solo el conjunto de habilidades técnicas de un profesional de seguridad de TI. El ingeniero ideal de DevSecOps participa y aprecia cada etapa del ciclo de vida del proyecto de software, desde el diseño inicial y la construcción hasta la implementación y el mantenimiento. En un entorno de integración continua/entrega continua (CI CD), esto implica trabajar bajo presión con tiempos de tarea críticos.
Para trabajar con éxito con los equipos de DevOps, un ingeniero de DevSecOps necesita un conocimiento profundo de los lenguajes de programación populares, como PHP, Java, JavaScript, Ruby y Python. Es importante familiarizarse con herramientas populares de CI/CD, como Jenkins, GitLab CI/CD, CircleCI, Puppet, Chef y Spinnaker. Un candidato a DevSecOps debe estar al día con Docker y Kubernetes, junto con proveedores de alojamiento en la nube, como AWS y Microsoft, dependiendo de las herramientas y servicios que utilice la organización.
Para proporcionar seguridad en DevSecOps, es esencial contar con conocimientos actualizados sobre modelado de amenazas, técnicas de evaluación de riesgos, revisiones de códigos, mejores prácticas actuales y las últimas amenazas de ciberseguridad. Los ingenieros de DevSecOps eligen e implementan las herramientas de prueba de seguridad de aplicaciones automatizadas apropiadas. Es su responsabilidad informar a los usuarios sobre cómo aprovechar al máximo las funciones de seguridad de las aplicaciones.
Los proyectos de software se han convertido en una mezcla compleja de diferentes partes móviles, tanto humanas como mecánicas. Sí, se pueden adquirir conocimientos y habilidades en el trabajo. Pero la capacitación formal, como la certificación estándar de la industria, es esencial para obtener una comprensión práctica de los principios y métodos de DevOps. Obtenga una calificación acreditada o certificación DevOps para destacarse de un grupo de candidatos ingenieros. Se recomienda la certificación de la Fundación DevOps y la certificación de Ingeniería DevSecOps del Instituto DevOps o la certificación Profesional Certificada DevSecOps de Practical DevSecOps. Otras calificaciones relevantes incluyen Certified Ethical Hacker, Certified Secure Software Lifecycle Professional, GIAC (Global Information Assurance Certification) Mobile Device Security Analyst e ISO 27001. Microsoft, AWS y Cisco también ofrecen valiosas certificaciones. Si son relevantes para un proyecto DevSecOps, puede ser una forma inteligente de convertirse en un mejor candidato para ingeniero. Además, el Instituto SANS ofrece cursos de codificación segura en .NET y Java/Java Enterprise Edition, que enseñan cómo crear aplicaciones de forma segura y cómo identificar las deficiencias de seguridad en otros programadores.
En una empresa en proceso de pasar de DevOps a DevSecOps, el desafío de un ingeniero de DevSecOps es convencer a los desarrolladores potencialmente escépticos de que la seguridad no los ralentizará. Garantizar que los desarrolladores entiendan que una revisión del código de seguridad es un requisito del proceso de confirmación del código requiere diplomacia. Los ingenieros deben demostrar paciencia y la capacidad de explicar cómo diversas comprobaciones y revisiones mejorarán la producción general de cada desarrollador. Esto puede ser un reto. Después de todo, el enfoque principal del desarrollador es ejecutar el código lo más rápido posible.
Cuando los desarrolladores reconocen los beneficios de encontrar debilidades en su diseño o código desde el principio, el progreso hacia un modelo DevSecOps maduro debería ser más fácil. Las métricas para medir cuántos problemas se detectan y corrigen antes de comprometer el código son una excelente manera de mostrar cómo la seguridad puede mejorar el flujo de trabajo general de cada equipo.
Una vez que los equipos de desarrollo y operación consideran el impacto de seguridad de cada decisión de diseño, y los desarrolladores en particular disfrutan el desafío de construir software seguro tanto como crear nuevas características, entonces es un trabajo bien hecho.