13 nov 2015

9 prácticas de programación segura que no puedes ignorar (II)

3. Mantener la seguridad Simple

La complejidad hace fácil ignorar la seguridad y que los controles fallen. Si hay muchas herramientas y procesos diferentes incluidos en asegurar adecuadamente una función, no todos serán implementados. Si el proceso es más sencillo, es posible para todos los involucrados lograr el conjunto de objetivos y adoptar estos principios de seguridad.

En la práctica:
  • Reutilizar componentes en los cuales se pueda confiar.
  • Evitar arquitecturas complejas y codificación con doble negativos (más información en OWASP).
  • Hacer del diseño una parte fundamental del proceso.
  • Integrar herramientas de seguridad en los entornos de desarrollo, incluyendo IDE, repositorio de origen, traking, implementación, etc.
Aquí más información sobre políticas de seguridad en el SDLC.

4. Defensa en profundidad

Al mismo tiempo que intentamos hacer que la seguridad sean tan simple como sea posible, necesitamos practicar "defensa en profundidad". Es un equilibrio que debe ser ponderado por los diversos riesgos que enfrenta la aplicación. El principio de defensa en profundidad intenta que nuestras herramientas de defensa puedan reducir al mínimo el número de agujeros en la aplicación para evitar que los diferentes ataques tengan éxito.

La idea de defensa en profundidad es que si una capa de seguridad falla, la siguiente estará allí para detener el ataque que pasó la primera capa. Las capas y herramientas requeridas son diferentes para cada organización.

En la práctica:
InfoSec Institute ha publicado el documento Defense-in-Depth: Layered Protection and Data Security.

5. Menor privilegio

El acceso a aplicaciones y sus funciones debe diseñarse cuidadosamente para que cada cuenta tenga el apropiado así como la menor cantidad de privilegios necesarios para sus necesidades y responsabilidades.

Considere asignar un acceso distinto a cada usuario para cada aplicación. Para que sea más difícil para los atacantes, se debe asegurar que cada contraseña por defecto es diferente, compleja y sólo utilizable por un tiempo limitado.

En la práctica:
  • Crear un sistema de clasificación basado en privilegios de acceso y de la sensibilidad de los datos.
  • Realizar validaciones de control de acceso para asegurar que los usuarios están autorizados para llevar a cabo la tarea dada.
  • Controla los tiempos de vida de las sesiones.
  • Centralizar las rutinas anteriores para que los errores o vulnerabilidades puedan ser corregidas través de la aplicación.

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!