Acceder Registrarme

Seguridad en Arquitectura de N-capas


Por: Percy Iván Miranda Moreano Publicado el: 2016-09-01 08:55:59 Pregunta abierta

Hola, tengo una consulta con respecto a la Arquitectura de Desarrollo de Software, quisiera saber en que parte de la arquitectura  de N-capas se encuentra la  Seguridad del Software...



Ingeniería de software MVC Seguridad Web

Kevin Arnold Arias Figueroa Marcado como mejor respuesta
por el autor de la pregunta
Usuario de (Perú)

Hola Percy. Si mencionas una arquitectura de N capas, ten en cuenta que el tema de seguridad podría ir en diferentes partes siendo que incluso al mismo tiempo puede encontrarse en diferentes capas, es decir.

Podrías tener un aplicación web en desarrollo en la cual se podría validar dependiendo de la necesidad, si fuera un sistema cerrado donde sólo accedería personal de confianza podrías limitarte a validarlo en el clientes, osea, en la capa de presentación, bajo Javascript por ejemplo. Ahora, si necesitas una seguridad aún mayor por temas obvios en una aplicaición web expuesta a muchas personas de las cuales no tengas un control directo... podrías llevar la seguridad a la capa de negocios "Lógica de negocio" donde sería mayormente adecuado trazar todo esto con la intención de que no sea alterable directamente como lo puede ser las validaciones en la capa de presentación y finalmente a nivel de desarrollo; si quisieras ser demasiado detallado y cuidadoso en la seguridad podrías llevarlo en la capa de presentación "Vistas" con Javascript, en la capa de negocio con el "lenguaje del back-end", en la capa de acceso a datos "Contratos y acceso a consultas" basado en los validaroes de los ORM que podrías obtener o manualmente sobre las entidades y finalmente en la capa de datos "Base de datos" mediante restricciones o demás; todo esto de forma simultanea redundando especificaciones de seguridad para evitar accesos indebidos en caso se rompa la seguridad de una capa.

Ten en cuenta que a eso aún se puede ampliar según cuanta seguridad desees en tu sistema desarrollado, sin embargo también cabe mencionar que existen otras capas de seguridad posiblemente físicas con la cual se estaría manejando el tema de corta fuegos, acceso mediante proxy, delimitación de acceso basado en MAC, etc.

Este tema es realmente bastante amplio de acuerdo a la magnitud y la orientación de usuarios a la cual llevará el software a desarrollar. De todas formas... espero aclarar ciertas dudas con esta respuesta.

Saludos.

  • 2016-09-01 09:31:13
  • Me gusta(2)
Usuario de (Perú)

Gracias Quevin,  sabiendo que  la arquitectura de N-capas se utiliza para un sistema complejo, inclusive  de varios niveles, entonces sería conveniente que una parte (1 o 2 desarrolladores capacitados) del grupo de desarrollo se ocupe de esta parte del sistema o sería solo trabajo del Arquiteto de Software...

  • 2016-09-01 10:07:33
  • Me gusta(0)
Usuario de (Perú)

Los temas de seguridad se pueden llevar en las diferentes capas tal como lo menciono en el comentario anterior por lo que en gran parte sería responsabilidad del programador, sin embargo, el arquitecto puede agregar seguridad al momento de realizar la comunicación entre capas a través de contratos especificados mediante interfaces entre muchos otros detalles que podría aplicarse.

En síntesis; para una validación de datos común, generalmente quien tanga mayor responsabilidad será el programador, mientras que en seguridad de acceso a servicios, repositorios o capas de seguridad física; será mayomente responsable el Arquitecto de software en conjunto del lider técnico dentro del equipo de desarrollo.

  • 2016-09-01 10:11:37
  • Me gusta(0)

  • Debes estar logueado para realizar comentarios