rvlsoft - Fotolia

Resolver Problemas Consiga ayuda para problemas específicos con sus proyectos, procesos y tecnologías.

Cinco mejores prácticas de DevSecOps que priorizar

DevSecOps exitoso no se trata solo de código seguro, sino de asegurar los flujos de datos a través de código, métodos y herramientas. Revise estos cinco consejos de seguridad para mejorar su trabajo de DevOps.

Las organizaciones adoptan DevOps porque acerca las disciplinas de desarrollo y operaciones. Este modelo de desarrollo crea una forma eficaz y receptiva de lograr la entrega continua de código al mundo real, al tiempo que se preservan los controles y equilibrios vitales.

Una de las comprobaciones que no siempre se gestiona de forma eficaz es la seguridad de DevOps. Específicamente, las organizaciones a menudo luchan por mantener los niveles adecuados de seguridad cuando el código se mueve rápidamente del desarrollo a las operaciones. Una forma de contrarrestar esta vulnerabilidad es adoptar el enfoque DevSecOps, que garantiza que la carga de seguridad no se deje en manos de uno o dos participantes. En cambio, la seguridad está entretejida en todas las facetas del proceso, confiando en la responsabilidad compartida desde el desarrollo hasta las operaciones, la automatización de pruebas, la comunicación efectiva y otras técnicas.

Para gestionar la seguridad de forma eficaz en el modelo DevOps, considere estas cinco importantes prácticas recomendadas de DevSecOps.

1. Determine lo que debe asegurarse

Es notable cuántas empresas luchan con la cuestión básica de qué es exactamente lo que debe asegurarse. Hasta cierto punto, la seguridad del código en sí puede no ser lo que necesita para concentrarse. El código es código; a menos que tenga un valor específico como propiedad intelectual para la empresa, no tiene valor. Sin embargo, los datos con los que trata el código son los que diferencian a una organización de sus competidores. Y aquí es donde reside el valor.

Por lo tanto, el enfoque debe ser proteger los datos. Un servicio bien codificado debería poder separar diferentes flujos de datos dentro de sí mismo. Cualquier servicio moderno que funcione como jardín vallado en el que los usuarios, una vez dentro del servicio, puedan acceder a datos que no son los suyos ya ha fallado. Por lo tanto, es imperativo que el servicio aisle cada flujo de datos y lo proteja de otros usuarios que utilicen el mismo servicio subyacente. El desarrollo debe garantizar que este sea el caso a través de un código que mantenga la seguridad del flujo de datos, y las operaciones deben monitorear continuamente todos los movimientos de datos y, si es necesario, acelerar o bloquear la actividad sospechosa. Cuando se observe tal actividad, los administradores deben proporcionar comentarios de inmediato al grupo de desarrollo para sustituir el código seguro, evitando así una repetición.

2. Mantenga la seguridad entre servicios

Una arquitectura basada en microservicios dependerá de las interfaces de programación de aplicaciones (API) entre los diversos servicios involucrados. La seguridad de las API, tanto en la forma en que el equipo de desarrollo escribe el código de servicio, como en los servicios externos a los que se llama, debe mantenerse y comprobarse continuamente. Los desarrolladores deben incluir la seguridad adecuada en todo el código de servicio. El equipo de operaciones debe asegurarse de que las API sean monitoreadas para mantener comunicaciones seguras en todo momento.

Tenga en cuenta que las API llamadas por un servicio pueden cambiar con poco o ningún aviso. Como tal, el personal de operaciones debe identificar cuándo y dónde ocurren los cambios de API y tomar las medidas adecuadas para mantener la seguridad de los datos. El uso de herramientas de administración de API puede automatizar y administrar esto, a menudo solucionando el problema en tiempo real y minimizando el efecto en la propia organización.

3. Implemente las herramientas adecuadas

No asuma que las herramientas DevOps existentes administrarán la seguridad por usted. Muchas o no tienen funciones de seguridad en sí mismas, o se enfocan solo en la seguridad de los flujos de trabajo entre el personal de desarrollo y operaciones. Para adherirse a las mejores prácticas de DevSecOps, busque herramientas que puedan verificar la seguridad del código frente a problemas conocidos y, preferiblemente, problemas de día cero en tiempo real. También busque las capacidades de prueba de penetración; estas le permiten automatizar en gran medida las pruebas de seguridad. Las pruebas de penetración (pen testing) deben proporcionar informes completos y conectarse a los circuitos de retroalimentación del desarrollo para que los problemas se puedan solucionar rápidamente.

4. Garantice la seguridad entre el dispositivo de acceso y los servicios de back-end

Si bien el enfoque en DevSecOps debería estar en la creación y el consumo de datos, asegúrese de observar cómo el dispositivo de acceso y su cliente acceden a los servicios de back-end. Los métodos simples de seguridad de desafío y respuesta ya no son lo suficientemente fuertes para el uso general. En su lugar, haga lo siguiente:

  • Adopte la autenticación multifactor.
  • Utilice cifrado para flujos de datos.
  • Vincule la identificación del usuario a un sistema de directorio granular basado no solo en el nombre y la función de la persona, sino también en dónde se encuentra, el tipo de conexión que se utiliza y el nivel de valor definido en cuanto a los datos a los que se accede.

El equipo de desarrollo de software debe asumir la responsabilidad de implementar esos controles de seguridad. El equipo de operaciones debería poder utilizar el sistema de directorio para denegar el acceso en cualquier etapa mediante la moderación inmediata o el rechazo del acceso.

5. Informe, informe, informe

Un elemento clave en las mejores prácticas de DevSecOps es darse cuenta de que el trabajo de seguridad nunca se termina. El código tendrá defectos. Lo que ayer estaba seguro puede ser inseguro hoy. Implemente herramientas para monitorear la seguridad en todos los niveles a lo largo de la ruta de DevOps e informe sobre lo que se encuentre.

Identifique herramientas que brinden retroalimentación de manera visual como un semáforo. Además, puede resultar útil si una herramienta calcula el impacto empresarial de un problema de seguridad en relación con un conjunto de políticas. Cuando un problema da como resultado un semáforo en rojo, su proceso debe remediarlo automáticamente y enviar comentarios a los desarrolladores, o debe llevar el asunto a la atención del equipo de operaciones para que puedan tomar medidas.

Una organización que implementa DevOps debe aceptar que necesitará una seguridad dinámica continua. Una aplicación comprometida se puede reemplazar fácilmente mediante la activación de una nueva instancia, pero los datos comprometidos es donde radica el problema. El personal de desarrollo y operaciones debe centrarse en los flujos de datos entre servicios propios y de terceros a través de una plataforma de tecnología híbrida moderna.

Investigue más sobre Desarrollo de aplicaciones

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

Close