linkedin

Mejores prácticas de seguridad DevOps

La seguridad es de vital importancia en DevOps. Según Business Insider, el año pasado se violaron más de 1.200 millones de cuentas de usuario en Estados Unidos. Como resultado, Facebook todavía está tratando de remediar su reputación, y Google tuvo que cerrar por completo su red social Google Plus. Estos ejemplos deberían bastar para animar a una empresa de cualquier calibre a establecer y seguir las mejores prácticas de seguridad DevOps para evitar un fiasco.

¿Por qué se producen los fallos de seguridad DevOps? ¿Quién debería ser responsable de ellos? ¿Cuáles son las respuestas a estos retos de seguridad DevOps? Y lo que es más importante: ¿Por qué debería importarle? Respondemos a estas y otras preguntas relacionadas con la seguridad de DevOps para ayudarle a ofrecer aplicaciones a prueba de manipulaciones a sus clientes.

Revelación: lo que este post no va a ser sobre DevSecOps porque DevSecOps es una palabra de moda sin sentido (incluso sin una página dedicada en Wikipedia) que simplemente significa DevOps seguro. No es como si pudieras venir a tu CEO y preguntarle: “Jefe, ¿qué tipo de sabor de Ops te gustaría: ¿DevOps o DevSecOps o SecDevOps?” La respuesta es siempre DevOps, y siempre seguro.

¿Por qué es un problema la seguridad de DevOps?

Vamos a recapitular rápidamente lo que es DevOps - sólo para asegurarnos de que estamos en la misma página. La definición de DevOps del gigante del software Amazon suena bastante creíble:

O, en términos sencillos, DevOps es la mentalidad colaborativa de un equipo de proyecto más las herramientas para automatizar el desarrollo, las pruebas, la entrega y el mantenimiento de productos digitales.

Ágil - Rápido

DevOps forma parte de Agile, un marco de desarrollo de software muy popular que promueve iteraciones de desarrollo rápidas y frecuentes y hace especial hincapié en la colaboración entre los miembros del equipo. Algunas empresas entregan múltiples actualizaciones de sus productos digitales semanalmente, otras diariamente. En cualquier caso, este ritmo no deja mucho tiempo para realizar pruebas rigurosas. Y, por supuesto, las vulnerabilidades acaban colándose en este tipo de proyectos.

Seguridad: ¿lenta?

Existe la idea errónea de que un mayor número de comprobaciones de seguridad alarga los ciclos de entrega y, en consecuencia, los plazos. Y aunque nadie quiere retrasos adicionales en sus proyectos, el daño que puede provocar un solo fallo de seguridad puede ser devastador para una empresa que sacrifica la seguridad en aras de la agilidad.

Ya en 2012, una aplicación social para iOS, Path, era inmensamente popular hasta que alguien descubrió que la aplicación subía los contactos de los usuarios a sus servidores a través de un protocolo inseguro y sin permiso. Como resultado, ya no existe la aplicación Path, a pesar de los dos millones de usuarios y todo el bombo y platillo sobre una esperada red social móvil solo para amigos íntimos y familiares.

Open-source & Containers - Da miedo

Para acelerar el desarrollo, los equipos de DevOps pueden recurrir a soluciones de código abierto que a menudo omiten las pruebas de seguridad. Incluso una sola biblioteca o un componente de servidor de una fuente no verificada puede causar una cascada de errores y, finalmente, hacer que su servicio o producto no esté disponible para los clientes.

Los contenedores representan otra parte indispensable de una configuración DevOps moderna, además del código fuente abierto y las herramientas. Los desarrolladores, administradores de sistemas e ingenieros de control de calidad utilizan contenedores para hacer que un proyecto esté disponible casi instantáneamente en una nueva máquina, o para volver a una versión de desarrollo anterior de un producto. Sin embargo, los contenedores ofrecen poca visibilidad de su contenido y con frecuencia no se analizan adecuadamente. Un informe de Threat Stack reveló que el 94% de los encuestados veían los contenedores como una amenaza para la seguridad.

Estrategias para proteger DevOps

Conseguir que todo el mundo esté a bordo

Las empresas gestionan DevOps de forma diferente. Algunas hacen que sus desarrolladores de software lleven a cabo todas las operaciones posteriores a la codificación, por ejemplo, crear, probar y desplegar aplicaciones. Otras empresas tienen equipos de desarrollo y operaciones separados. Pero para un entorno DevOps seguro, la mejor práctica es conseguir que absolutamente todo el mundo esté a bordo, independientemente del grupo al que pertenezcan. De hecho, las empresas que han establecido con éxito políticas de seguridad en DevOps empezaron desde lo más alto -la dirección-, al tiempo que implicaban activamente en la conversación a sus departamentos jurídico y de TI.

Elabore una política de seguridad concisa

El objetivo de tener una política de seguridad es permitir que su equipo responda rápidamente en caso de emergencia. La regla de oro es preparar un WISP (plan escrito de seguridad de la información) y un DIRP (plan de respuesta a incidentes de datos) que sean lo suficientemente breves y claros como para tomar medidas inmediatas cuando sea necesario. Un buen punto de partida es la Enumeración de Debilidades Comunes (Common Weakness Enumeration), una lista de debilidades comunes en la seguridad del software elaborada por la comunidad. Una política decente también debería hacer hincapié en patrones de codificación seguros que no dejen lugar a exploits.

Forme a su personal

Por supuesto, todo el personal del proyecto debe conocer las políticas y requisitos de seguridad en función de su función. Por ejemplo, los ingenieros de software deben evitar guardar credenciales en el código fuente por comodidad, los miembros del equipo de control de calidad no tienen por qué tener acceso al entorno de desarrollo y los administradores de sistemas deben configurar correctamente los cortafuegos, entre otras muchas cosas. Así que asegúrate de que tu proceso de incorporación cubra los aspectos básicos de la seguridad.

Automatice los procesos y herramientas de seguridad DevOps

DevOps siempre ha tenido que ver con la automatización. Para que los productos de software se publiquen a un ritmo rápido, es necesario configurar correctamente las canalizaciones de integración continua (CI) y entrega continua (CD), en las que las nuevas versiones de los productos se compilan, comprueban y supervisan automáticamente. Es vital incluir la verificación automática de la seguridad en estos procesos DevOps.

Una cadena de herramientas DevOps bien implantada ayuda a detectar el código vulnerable antes de que llegue al entorno de producción. Una cadena de herramientas de este tipo también supervisará su producto a medida que pasa por los ciclos de prueba, integración, despliegue y lanzamiento, proporcionándole información sobre las posibles amenazas a la seguridad.

Tome el control de la gestión de accesos privilegiados

jonathon-young-492918-unsplash.jpg

Aproximadamente la mitad de las brechas de seguridad se producen como resultado de una mala gestión de accesos privilegiados (PAM), según un estudio de Beyond Trust. No se trata de un intruso externo, sino de miembros de su equipo con buenas intenciones que tienen más derechos de acceso de los que deberían o que gestionan mal estos derechos. Los tres pasos que pueden dar las empresas para tener bajo control la PAM son los siguientes:

  • Hacer balance de las cuentas y activos privilegiados

Un entorno DevOps puede ser a veces un lío enmarañado. Aún así, es necesario ir a fondo y desenterrar todas las cuentas de usuario privilegiadas y todos los lugares a los que tienen acceso.

  • Prohibir las cuentas compartidas y las contraseñas codificadas

Los ingenieros de DevOps pueden a veces codificar las credenciales en una herramienta que utilizan para su comodidad o utilizar cuentas compartidas, lo que complica la auditoría.

  • Aplicar el principio del menor privilegio

Por ejemplo, una cuenta con la herramienta que recopila métricas sobre errores en un entorno de pruebas probablemente no necesite acceso a los entornos de producción y desarrollo.

Establezca un programa de vulnerabilidad

La gestión de vulnerabilidades puede ayudarle a asegurar sus productos y clientes observando sus activos digitales a través de los ojos de un hacker y realizando después pruebas de penetración (o simplemente pen tests). Existen dos variantes principales de pen tests que utilizan las empresas:

Pruebas de penetración externas

Cuando una empresa busca vulnerabilidades en su perímetro de defensa exterior: configuraciones erróneas, nombres de usuario y contraseñas por defecto, software sin parchear, puertos abiertos, etc.

Pruebas de penetración internas

Cuando una empresa quiere comprobar cuántos estragos puede causar un hacker o un empleado deshonesto si ya tiene acceso al sistema. ¿Pueden acceder a las partes críticas de su producto, incluidos los datos de los clientes?

Divida el entorno DevOps en capas seguras

La lógica de la aplicación y la base de datos no tienen por qué vivir en el mismo servidor. De hecho, desde el punto de vista de la seguridad, es mejor ejecutar servidores separados para cada uno y agrupar estos elementos y otros activos DevOps en unidades lógicas que no confíen entre sí de forma predeterminada. Añade un servidor de salto con autenticación multifactor y autorización de acceso adaptable para conectar las unidades, luego aplica sesiones… y ya está todo listo. Ahora, si un hacker irrumpe en un segmento, al menos el resto permanecerá seguro.

¿Es su DevOps seguro como el de Uber o Tesla?

Si vendes un servicio o producto digital, la seguridad de DevOps debería ser tu máxima prioridad. En ese sentido, ninguna empresa es una excepción. Empresas como Tesla y Uber parecen ser lo suficientemente grandes y maduras como para ser presa de brechas de seguridad. Sin embargo, la primera dejó que los hackers utilizaran los servidores de la empresa para minar una criptomoneda, y la segunda expuso información personal de unos 57 millones de clientes y conductores. La razón en ambos casos es una mala configuración de DevOps.

La buena noticia es que hoy en día se pueden encontrar fácilmente muchas empresas de consultoría y desarrollo que pueden ayudar a las empresas a asegurar sus procesos DevOps, incluso si una empresa está empezando a implementar DevOps. Contacte con nosotros hoy mismo

¿Necesita más ayuda?

¿Crees que podría ser el momento de traer ayuda adicional?

Door3.com