Modelo de Seguridad
Documento sin título
INFOTEC SemanticWebBuilder
(
SWB)
Es una plataforma para el desarrollo de portales en Internet, que se compone de tres partes importantes:
El núcleo.
La aplicación de administración.
El sitio que se está construyendo.
El núcleo
Provee los servicios de manejo de contenidos, plantillas, secciones, usuarios, reglas, seguridad, registro de eventos, control de errores y en algunos casos el manejo de conexiones a base de datos.
Esta plataforma es una aplicación Web que se conforma a la especificación J2EE 1.3, por lo que depende de un servidor de aplicaciones java y hace uso de la especificación JAAS para la autenticación de los usuarios.
La aplicación de Administración
Es un sitio construido sobre la plataforma y que da acceso a poder configurar y crear elementos que formarán parte de un sitio.
Está ligada a un repositorio de usuarios, quienes al contar con los atributos suficientes, podrán hacer uso de las interfaces de esta aplicación.
El sitio que se está construyendo
Es el sitio que se mostrará a los usuarios, este se puede basar en los componentes prediseñados de la plataforma, los cuales siguen los mismos principios de seguridad de la plataforma ó con componentes propietarios.
Como parte de la construcción de SemanticWebBuilder se integraron pruebas de seguridad basadas en los ataques más comunes de acuerdo al Open Web Application Security Project(OWASP).
En las siguientes secciones se detallará para cada parte importante, que aspectos de seguridad provee, que ataques le incumben y como los contrarrestar. Y por último se proveerán de sugerencias a aplicar en el desarrollo y operación de portales utilizando la plataforma SemanticWebBuilder.
Componentes de un sistema basado en INFOTEC SemanticWebBuilder

SemanticWebBuilder se diseño para centralizar los accesos a la plataforma, esto es con la intención de contar con un único punto de acceso a los sitios soportados por la plataforma, simplificando las acciones de seguridad y validación de accesos, como se ilustra en la figura.
El núcleo de SemanticWebBuilder se encarga de generar las páginas que se entregan a los usuarios, realiza las validaciones necesarias para mostrar sólo aquellos recursos a los que el usuario actual tiene acceso y registra los accesos y errores en las bitácoras.
Seguridad en el núcleo operativo de INFOTEC SemanticWebBuilder
Disponibilidad
Contiene un sistema de cache basado en el tipo de contenido que está proporcionando cada recurso, este sistema elimina tiempos de IO para los recursos más utilizados y que se sabe que difícilmente cambian en el tiempo, como es el caso de contenidos estéticos, formas de captura, reportes predefinidos.
Cada recurso de SemanticWebBuilder tiene la capacidad de informar a la plataforma si su contenido puede o no ser almacenado en el cache o incluso controlar sus propias versiones de cache para diversas situaciones.
En cuanto el tráfico hacia un sitio soportado sobre SemanticWebBuilder rebase la capacidad que puede brindar un solo equipo, es posible reconfigurar el sitio agregando equipos para soportar la demanda, en esquemas de clúster o balanceo de cargas.
La información que SemanticWebBuilder necesita referente a las secciones, recursos, relaciones, permisos y que se almacena en base de datos; se carga en memoria al momento de iniciar la plataforma, por lo que esta información está disponible incluso en los momentos donde la base de datos pudiera verse afectada por una baja en su rendimiento..
Cuando SemanticWebBuilder identifica que el cliente soporta compresión en línea, SemanticWebBuilder entregará las páginas HTML generadas con una compresión, lo que reduce el consumo de ancho de banda.
Confidencialidad
Cuenta con un punto de acceso único, llamado distribuidor, que es el objeto que se encarga de procesar los requerimientos de los usuarios; aquí se identifica al usuario, sus atributos, permisos y solicitudes hechas.
Se asegura de entregar los recursos exclusivamente a los usuarios con los permisos adecuados, de acuerdo a las reglas declaradas para el sitio que se visita.
Todos los URLs de secciones y recursos de SemanticWebBuilder forzosamente hacen uso de este distribuidor, por lo que no es posible usar directamente un URL de una sección interna para tratar de saltar la seguridad.
En el caso de que se use el repositorio de usuarios por defecto de WebBuilder,las contraseñas se almacenan digeridas por un sha, por lo que no es factible obtener las contraseñas desde los valores almacenados en la base de datos.
Integridad
Todas las páginas HTML generadas por el distribuidor son construidas dinámicamente de acuerdo al usuario que la solicita, evaluando las reglas que le aplican; esto implica que no existe una estructura de directorios equivalente a la estructura del sitio en el disco duro del servidor, lo que reduce las posibilidades de suplantación en el caso de que el servidor fuese comprometido.
Medidas implementadas contra ataques de estilo inyecciones
Como SemanticWebBuilder es una aplicación Web, y estar sobre la plataforma Java, existen una menor cantidad de posibles ataques de inyección dentro del núcleo todas las llamadas a base de datos se realizan bajo el esquema de preparedStatemens, es decir, la información se precompila y las sentencias no se forman de datos que directamente provengan de Internet, por lo que no sepuede realizar una inyección SQL desde los elementos del núcleo.
Medidas implementadas contra ataques que buscan evadir la autenticación y URLs mal formados
Los URLs generados siempre enviarán la solicitud al distribuidor, el distribuidor se encarga de evaluar las reglas que aplican para cada recurso, por lo que siempre verificará si el usuario tiene o no acceso al recurso solicitado.
Medidas implementadas contra ataques que buscan hacer un perfilado de la aplicación
Se capturan los mensajes de error y se muestran en la aplicación de administración, sin dejar que estos lleguen al usuario. Al usuario se le muestra una pantalla de error genérica, para evitar que al ocurrir un error, el usuario pueda conocer información interna del sistema.
Seguridad en la aplicación de Administración de INFOTEC SemanticWebBuilder.
Como consecuencia de que la administración es un sitio construido con la plataforma WebBuilder, hace uso y está protegida por los aspectos que cubren la plataforma, pero adicionalmente provee:
Confidencialidad:
En esta aplicación se define de manera declarativa los niveles de acceso, roles y reglas que se evaluarán para permitir o negar el acceso a los recursos.
Cuando la plataforma SemanticWebBuilder se instala en esquemas de clúster o balanceo de cargas, es conveniente aprovechar la capacidad del sitio de administración de operar de forma separada a los sitios que se presentan a los usuarios, en una instancia independiente, que puede restringirse también por elementos de red a IPs designadas para ser usadas por los administradores del sitio, agregando con esto una capa más de separación.
Seguridad en los recursos base de INFOTEC SemanticWebBuilder
Los recursos base de SemanticWebBuilder están construidos siguiendo los principios del núcleo y el sitio de administración, por lo que proveen del mismo nivel de protección a cada recurso en particular se le proporciona la información referente a quien lo está invocando, y en qué modo lo están invocando, para que cada recurso en específico pueda tomar decisiones de seguridad.
¿Olvidaste tu contraseña?