fbpx
InicioCiberseguridad¿Un buen diseño equivale a un correcto nivel de seguridad?

¿Un buen diseño equivale a un correcto nivel de seguridad?

Tom Madsen, especialista en Ciberseguridad, plantea una pregunta técnica frecuente y ofrece su respuesta proporcionando un ejemplo práctico.

Tom Madsen
Tom Madsen tiene más de veinte años de experiencia en Ciberseguridad. Es el autor de «The Art of War for Cybersecurity» (Springer, 2019) y «Security Architecture – How and Why» (River Publishers, 2022). Actualmente está terminando su tercer libro sobre zero-trust. Cuenta con las certificaciones en Ciberseguridad (ISO 27001, ISACA e ISC2), además de Microsoft, Cisco y Oracle.

En el titular de este artículo se plantea una pregunta oportuna. ¿Un buen diseño equivale a un correcto nivel de seguridad? Estamos ante una de esas dudas irritantes que no tienen una respuesta correcta. Por ello, intentaré contestar. 

¿Qué es un buen diseño?

Si nos referimos a un diseño de base de datos, su desarrollo se construye para la aplicación y es de esperar que sea rápido y adecuado para la misma. Si se trata de una red, estará diseñada para la carga de trabajo que deberá acomodar. Es importante tener en cuenta la diferencia de los dos diseños que acabo de mencionar. Uno está relacionado con el diseño de la aplicación y el otro con el diseño de la infraestructura

Considerar la ciberseguridad como parte de los esfuerzos de diseño para estas dos áreas es muy diferente, pero no menos importante si la aplicación y la red deben proporcionarnos seguridad, así como valor a nivel empresarial. 

Desafortunadamente, existen muy pocas orientaciones sobre cómo incorporar la seguridad al diseño. El Centro Nacional de Ciberseguridad del Reino Unido (NCSC) ofrece algunas orientaciones sobre cómo enfocar el diseño teniendo en cuenta la seguridad. El resto de este artículo y el ejemplo que ilustraremos están relacionados con estas guías. 

Indicaciones del NCSC

La guía completa del NCSC es demasiado extensa para un solo artículo, por lo que la he reducido a los puntos más destacados. Debido a la cantidad de información que se encuentra en cada uno de los puntos que mencionaré, he dejado al final del artículo el enlace a la información completa. 

  1. Establecer el contexto antes de diseñar un sistema. 
  2. Dificultar las amenazas.
  3. Dificultar las interrupciones. 
  4. Facilitar la detección de amenazas
  5. Reducir el impacto de las amenazas.

Como profesionales de ciberseguridad que sois estoy seguro de que estamos todos de acuerdo con los puntos establecidos anteriormente. Las dificultades surgen cuando intentamos aplicar/incorporar estos puntos en un diseño, y estoy seguro de que vosotros habéis estado en esa situación. ¿Cómo lo hacemos? O lo que es aún más difícil, implementarlo en una infraestructura o aplicación ya existente, porque los despliegues de cero o Greenfield son pocos y distantes entre sí, al menos para mí. 

Creo firmemente en el buen diseño, puesto que nos proporciona una base sólida para la ciberseguridad, si incorporarla se incluye en su proyecto. 

La seguridad debe ser parte integral de cualquier diseño para que se pueda construir un sistema de protección básico. A continuación, se presenta un ejemplo que he visto varias veces, con uno de los cambios de diseño que propuse para hacerlo más resistente y seguro. 

Un ejemplo práctico

En la siguiente imagen se muestra una implementación que he observado muchas veces en despliegue cloud. El ejemplo que estoy usando, tanto el diseño original como el rediseño se hicieron con Microsoft Azure. Observemos la primera iteración:

2EyU8JGlufUzpKrGR5fBGWmdRPjIVcJyqyovr7Kfz39WQWgAzHbZHlgjFuBTScvy7zOCYnUHtyKIpUWmrolvvqdp71jfMm 4gsJgH6k0rOMGPhXy9 ogYqgCCiNvck12XO2VOwZuguqUtEbnelvE

En este caso, la entera aplicación multinivel se ejecuta en una única subred con todas las direcciones IP individuales capaces de verse y comunicarse entre sí. Este diseño incumple los puntos 2,3 y 5 de la guía del NCSC, así como muchas de las mejores prácticas que hemos desarrollado a lo largo de los años. Con este diseño, comprometer a uno de los servidores web hará que la comunicación con los servidores de aplicaciones y base de datos sea muy fácil, dando cabida a un posible escenario de amenazas

Suelo decirles a los clientes que la ventaja de Azure es la facilidad de despliegue de recursos, pero su desventaja radica en esa misma facilidad de despliegue.

Por lo general, la imagen propuesta arriba la suelo ver cuando los desarrolladores crean un sistema para hacer una prueba de conceptos y, en poco tiempo, lo que se suponía que iba a ser una creación rápida de prototipo, se ha convertido en una aplicación crítica para el negocio. Esto no es culpa del desarrollador; yo mismo lo he experimentado varias veces. 

Entonces, ¿cuál es la mejor opción de diseño sobre el escenario presentado anteriormente? Para ello, he rediseñado la red como se muestra en la imagen propuesta a continuación. 

En este caso, cada uno de los niveles de la aplicación ha sido segmentado en sus propias subredes/VLAN individuales. Con este diseño podemos usar el Network Security Groups (NSG) para controlar el tipo de tráfico que queremos permitir entre cada uno de los VLAN. De esta forma, podemos controlar los protocolos y puertos de comunicación permitidos entre cada uno de los VLAN. Así, logramos seguir los puntos 2,3 y 5 que se incumplieron en el diseño inicial. 

El simple hecho de cambiar el diseño de la estructura por niveles de una aplicación no es algo que «se haga sin más», sino que conlleva importantes retos y posibles cambios en la aplicación. Esto me traslada de nuevo al punto que señalé al final de la sección de diseño de NCSC de este artículo.

Conclusiones

Es posible afirmar que un buen diseño puede proporcionar un buen nivel de seguridad, si la seguridad se ha incorporado al proceso de diseño. 

Para más información técnica, puedes leer las recomendaciones del NCSC en este enlace.


Traducción al castellano de Arlet Portal del artículo original en inglés, publicado en Cybersecurity Magazine, cuya divulgación en Cuadernos de Seguridad ha sido autorizada por el autor.

Autores

Tom Madsen tiene más de veinte años de experiencia en Ciberseguridad. Es el autor de «The Art of War for Cybersecurity» (Springer, 2019) y «Security Architecture – How and Why» (River Publishers, 2022). Actualmente está terminando su tercer libro sobre zero-trust. Cuenta con las certificaciones en Ciberseguridad (ISO 27001, ISACA e ISC2), además de Microsoft, Cisco y Oracle.

artículos relacionados

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí