OWASP Top Ten: A6 – Defectuosa configuración de seguridad

Desde mi punto de vista, nunca había incluido esto como fallo. Para mi más bien pertenece al grupos de cosas a tener en cuenta siempre que se desarrollo y se despliega cualquier aplicación. Pero, pensándolo un poco más fríamente, aunque no es un ataque en particular, es algo que posibilita que se produzca un ataque.

En este apartado se incluiría todo aquello que ser relaciona con el despliegue de una aplicación y su entorno. Es decir, permisos, configuraciones por defecto, actualizaciones librerías, sistema operativo, servidores de aplicaciones, puertos, servicios, cuentas de usuarios, manejo de errores, y un largo etcétera de cosas relacionadas con la configuración a la hora de poner a disponibilidad del público, sea este cual sea, una aplicación.

En este punto cobran especial importancia los administradores, los planes de despliegue de aplicaciones, los procesos de instalación y configuración, la planificación y ejecución de actualizaciones, la arquitectura escogida, y una revisión periódica de auditorias y comprobaciones del sistema.

Este es uno de los fallos de la lista que más cosas englobaría, pero a su vez, es uno de los que menos claros tengo como tratar a la hora de plasmarlo en este post, ya que podría estar listando posibles errores horas y horas y aún así no abarcarlos todos. Así que, dado que el tipo de error no necesita de mucha explicación, simplemente voy a nombrar unos cuantos pasos en los siempre deberemos hacer hincapié. Evidentemente, ni son todos, ni son los más importantes, y por supuesto, cada aplicación tiene sus particularidades, pero quizás si que sea un buen punto por el que empezar.

Lo primero a tener en cuenta, será la arquitectura que vayamos a utilizar. Está claro que hay muchas arquitecturas, pero siempre, a la hora de elegir y diseñar la nuestra deberemos de intentarla hacer lo más robusta posible, estableciendo una buena separación entre los distintos componentes y su seguridad.

Otra cosa a tener en cuenta sería, los permisos tanto de la aplicación como del servidor de aplicaciones donde esta se despliega. Estos deberían ser lo menos holgados posibles. Deberemos controlar, permisos de accedo, de lectura y escritura en sistemas de fichero, de acceso y modificación a la BBDD y, por supuesto, permisos de utilización de la aplicación y sus partes. Quizás en este apartado también debamos incluir los puertos de acceso al servidor y los servicios que este tiene levantados y esperando solicitudes. En este caso, solo debería estar disponible aquello que sea imprescindible.

Otra de las cosas que tendremos que tendremos que planificar, será la metodología que vamos a emplear para el tratamiento de actualizaciones, ya sea para nuestra propia aplicación, como para los sistemas y plataformas donde está desplegada.

Otro punto a tener en cuenta siempre, es el tratamiento de errores que hará nuestra aplicación. Deberemos manejar todos lo errores que puedan salir y no volcar nunca información de los sistemas en estos errores y permitir que dicha información llegue al usuarios, ya que podría utilizar esta información para preparar un ataque. Es decir, por supuesto que hay que informar al usuarios cuando se produce un error, pero esta información habrá sido tratada y procesada por nosotros previamente, y al usuario final se le mostrará correcta y convenientemente formateada.

Por último, yo recomendaría la auditoría periódica de las aplicaciones desplegadas y los entornos donde se han desplegado, para confirmar que al menos, no lo estamos haciendo del todos mal.

Pero quizás, el mejor consejo, sería tener dos dedos de frente, pensar las cosas bien pensadas y no hacerlas a la ligera, y sobre todo, a la hora de diseñas e implementar un sistema, no solo ponerse en el pellejo del “desarrollador”, si no también en el del “usuario” y en el del “atacante”.

Si creéis que existe algún paso más que deberíamos añadir, animaros a ponerlo, y podemos debatirlo. Nos vemos.

OWASP Top Ten: A6 – Defectuosa configuración de seguridad

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.