soluciÓn tecnolÓgica facturaciÓn electrÓnica dian

44
MODELO DE DISEÑO Arquitectura Solución tecnológica de Facturación Electrónica Proceso: Servicios Informáticos Versión 01 Página 1 de 16 http://www.dian.gov.co SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN Arquitectura de Software Versión 01

Upload: others

Post on 10-Jul-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 1 de 16

http://www.dian.gov.co

SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

Arquitectura de Software

Versión 01

Page 2: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 2 de 16

http://www.dian.gov.co

Contenido

1. Introducción ................................................................................................................... 4

2. Alcance .......................................................................................................................... 4

Diagrama de contexto sin PA ......................................................................................... 5

Diagrama de contexto con PA ........................................................................................ 6

Modelo de domino .......................................................................................................... 7

3. Representación Arquitectónica ...................................................................................... 7

4. Metas y Restricciones .................................................................................................... 8

5. Vista de Procesos .......................................................................................................... 8

Diagrama BPMN Proceso de Autenticación .................................................................... 9

Diagrama BPMN Proceso Emisión y recepción de documentos electrónicos ............... 10

6. Vista de Despliegue ..................................................................................................... 10

Diagrama de despliegue ............................................................................................... 11

7. Vista de Implementación .............................................................................................. 12

Diagrama de componentes Microsoft Azure ................................................................. 13

8. Vista de Datos ............................................................................................................. 14

Diagrama de Base de datos SQL ................................................................................. 15

9. Tamaño y Desempeño (opcional) ................................................................................ 16

10. Calidad ...................................................................................................................... 16

Confiabilidad ................................................................................................................. 16

Usabilidad ..................................................................................................................... 16

Eficiencia ...................................................................................................................... 16

Mantenibilidad .............................................................................................................. 16

11. Documentos Relacionados ........................................................................................ 16

Page 3: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 3 de 16

http://www.dian.gov.co

Ilustraciones

Ilustración 1. Diagrama de contexto sin PA ........................................................................ 5

Ilustración 2. Diagrama de contexto con PA ...................................................................... 6

Ilustración 3. Modelo de dominio ....................................................................................... 7

Ilustración 4. Estilos arquitecturales ................................................................................... 8

Ilustración 5. BPMN Autenticación ..................................................................................... 9

Ilustración 6. BPMN emisión y recepción de documentos electrónicos ............................ 10

Ilustración 7. Diagrama de despliegue. ............................................................................ 11

Ilustración 8. Relaciones entre componentes de Microsoft Azure .................................... 14

Ilustración 9. Base de datos SQL ..................................................................................... 16

Page 4: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 4 de 16

http://www.dian.gov.co

1. Introducción

El diseño de la arquitectura de un sistema es el proceso por el cual se define una

solución para los requisitos técnicos y operacionales del mismo. Este proceso define

qué componentes forman el sistema, cómo se relacionan entre ellos, y cómo mediante

su interacción llevan a cabo la funcionalidad especificada, cumpliendo con los criterios

de calidad indicados como eficiencia, confiabilidad, mantenibilidad, usabilidad entre otros.

Durante el diseño de la arquitectura se tratan los temas que pueden tener un impacto

importante en el éxito o fracaso del sistema. Es importante tener en cuenta los intereses

de los usuarios del sistema, el propio sistema y los objetivos del negocio.

Para la Solución tecnológica de facturación electrónica para la Dian, se define una

arquitectura N-Capas con orientación al dominio. El objetivo de una arquitectura basada

en Domain Driven Design (DDD) es conseguir un modelo orientado a objetos que refleje

el conocimiento de un dominio dado y que sea completamente independiente de cualquier

concepto de comunicación, ya sea con elementos de infraestructura como de interfaz

gráfica. Buscamos construir un modelo a través del cual podamos resolver problemas

expresados como la colaboración de un conjunto de objetos.

2. Alcance

Se propone una Solución Tecnológica de Facturación Electrónica, con fines de control

fiscal que incorpore funciones de validación de facturas electrónicas y gestión de

Proveedores Autorizados y Tecnológicos para realizar estas validaciones en tiempo real.

Con este documento se da a entender en detalles cómo opera el sistema a desarrollar.

Los usuarios del sistema son aquellas empresas asociadas a representantes legales que

independientemente pueden ser proveedores autorizados, proveedores tecnológicos o

facturadores.

Para operar como facturador este tiene tres opciones; un facturador puede operar a

través de un proveedor tecnológico o proveedor autorizado, un software propio o el

Page 5: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 5 de 16

http://www.dian.gov.co

Facturador gratuito. Una vez que el facturador decida la forma en la que va a facturar

este podrá emitir los documentos electrónicos.

Diagrama de contexto sin PA

Ilustración 1. Diagrama de contexto sin PA

En el caso de que un facturador decida operar a través de un proveedor autorizado el flujo

de datos sería de la siguiente forma.

Page 6: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 6 de 16

http://www.dian.gov.co

Diagrama de contexto con PA

Ilustración 2. Diagrama de contexto con PA

Un proveedor autorizado o tecnológico tiene un software a través del cual debe operar

para emitir documentos electrónicos. Este software debe ser aprobado, por lo que para

hacerlo debe cumplir con las restricciones que se le imponen en un set de pruebas

especificado por el administrador Dian.

Para mayor comprensión de la solución se realizó un modelo de dominio, que está

compuesto por los conceptos fundamentales de la misma. Representándose cada

concepto como clase del sistema y las relaciones asociadas entre ellas.

Page 7: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 7 de 16

http://www.dian.gov.co

Modelo de domino

Ilustración 3. Modelo de dominio

3. Representación Arquitectónica

Una aplicación puede usar varios estilos arquitecturales para dar forma al sistema

dependiendo del aspecto que tenga la misma (Ver Ilustración 4). Por tanto, una aplicación

será una combinación de muchos de ellos y de soluciones propias. La arquitectura N-

Capas basada en DDD no es la excepción.

Aspecto Estilos

Comunicaciones SOA, Message Bus, Tuberías y filtros.

Despliegue Cliente/Servidor, 3-Niveles, N-Niveles.

Page 8: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 8 de 16

http://www.dian.gov.co

Dominio Modelo de dominio, Repositorio.

Interacción Presentación separada.

Estructura Componentes, Orientada a objetos,

Arquitectura en capas.

Ilustración 4. Estilos arquitecturales

El sistema está desarrollado siguiendo varios de estos estilos, por lo que es un sistema

implementado por capas, orientado al dominio, usando repositorios y servicios.

4. Metas y Restricciones

[Para el diseño tipo arquitectura: Esta sección describe los requerimientos y objetivos del software que tienen un impacto significativo sobre la arquitectura; por ejemplo, protección, seguridad, privacidad, uso de software comercial, portabilidad, distribución y reutilización.] [Para todos los tipos de diseño: También se incluyen restricciones especiales relacionadas con: estrategias de diseño e implementación, herramientas de desarrollo, estructura del equipo, tiempos del proyecto, código legado, etc.]

[Para todos los tipos de diseño: Enuncie y describa las metas y restricciones del diseño respectivo]

5. Vista de Procesos

La solución cuenta con dos componentes fundamentales Solución web y Servicios web.

En esta sección se describirán dos procesos importantes Autenticación y Envío y

recepción de documentos electrónicos.

El proceso de autenticación para ambos componentes varía. Para ingresar vía web

tendríamos dos formas de hacerlo: Autenticación por un certificado digital y Autenticación

por usuario y contraseña con información proveniente del sistema Muisca. Mientras que

para ingresar vía web service se usaría Autenticación por un certificado digital.

En la siguiente imagen se muestra un diagrama BPMN (Business Process Model and

Notation, Modelo y Notación de Procesos de Negocio) que modela ambas opciones de

autenticación.

Page 9: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 9 de 16

http://www.dian.gov.co

Diagrama BPMN Proceso de Autenticación

Ilustración 5. BPMN Autenticación

Se utilizó la misma notación para modelar los procesos de Emisión y recepción de

documentos electrónicos, así como también Validación y Consulta del estado de estos

documentos electrónicos. En este caso se refiere al flujo que sigue de forma asíncrona el

envío de un documento electrónico a través de un Proveedor autorizado o tecnológico

(PA/PT), recepción y validación del mismo.

Page 10: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 10 de 16

http://www.dian.gov.co

Diagrama BPMN Proceso Emisión y recepción de documentos electrónicos

Ilustración 6. BPMN emisión y recepción de documentos electrónicos

Para ver el resto de los procesos Ver diagramas adjuntos a la documentación generada

por Enterprise Architect.

6. Vista de Despliegue

La comunicación ente los clientes y el sistema se realiza a través del protocolo HTTPS

(Hyper-Text Transfer Protocol Secure, Protocolo de transferencia de hipertexto). Este

Page 11: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 11 de 16

http://www.dian.gov.co

protocolo permite establecer una conexión segura entre el servidor y el cliente,

brindándole integridad y confidencialidad de los datos manejados entre sus ordenadores y

los sitios web. Para la comunicación por medio de intercambio de datos XML se utiliza el

protocolo SOAP (Simple Object Access Protocol, Protocolo estándar de comunicación entre

objetos) utilizado para el envío de documentos electrónicos por facturadores.

Se desarrolló un sitio web y varios servicios cada uno de ellos con objetivos a fines para

gestión y control de la solución propuesta. Ambos implementan Azure Functions.

Diagrama de despliegue

Ilustración 7. Diagrama de despliegue.

La comunicación entre el servidor y las bases de datos se establece mediante los

protocolos TCP / IP (Transmission Control Protocol / Internet Protocol), (Protocolo de

Control de Transmisión / Protocolo de Internet). El uso de estos protocolos permite el

transporte de datos fiable entre bases de datos y servidores web, así como también para

los servicios que se han desarrollado.

El sistema utiliza tres tipos de bases de datos para almacenar y gestionar la información.

Ver la sección Vista de datos para mayor detalle sobre este tema.

Page 12: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 12 de 16

http://www.dian.gov.co

7. Vista de Implementación

La solución Gosocket.Dian está estructurada en 6 capas: L0 Infrastructure, L1 Data, L2

Domain, L3 Application, L4 Presentation y L6 Functions.

L0 Infrastructure: Esta capa está directamente ligada a tareas de persistencia de los

datos, específicamente a los componentes de Azure tales como: Tables, Storages,

Queue, Event hub y Certificados.

L1 Data: Esta capa define el uso de tecnologías de acceso a datos con las clases

Cosmos DB Manager y SQL DB Context.

L2 Domain: Esta capa debe representar conceptos de negocio, información

sobre la situación de los procesos de negocio e implementación de las reglas del

dominio. Las clases del dominio implementadas están agrupadas de la siguiente forma:

Cosmos, Domain, Entity y Utils.

L3 Application: Esta capa define las tareas que debe hacer el

software, como tal, lo cual normalmente está ligado finalmente a realizar llamadas a la

Capa de Dominio e Infraestructura. Se realiza coordinación de transacciones y

persistencia de datos, validaciones de datos y aspectos de seguridad como

requerimientos de autenticación y autorización para ejecutar componentes concretos. Los

Servicios de aplicación son los elementos más comunes en esta capa.

L4 Presentation: En esta capa se presentan aspectos lógicos de diseño (patrones) y

posteriormente la implementación de estos con diferentes tecnologías. En esta capa se

encuentra la aplicación web que se implementó siguiendo un patrón MVC y el Servicio

web.

L6 Functions: Esta capa contiene la implementación de las Azure Functions que no es

más que tareas de alta demanda desplegadas en un ambiente serverless.

La siguiente ilustración muestra la relación entre cada componente de la solución con los

componentes de Microsoft Azure.

Page 13: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 13 de 16

http://www.dian.gov.co

Diagrama de componentes Microsoft Azure

Page 14: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 14 de 16

http://www.dian.gov.co

Ilustración 8. Relaciones entre componentes de Microsoft Azure

8. Vista de Datos

Los datos del sistema se almacenan en tres tipos de bases de datos: SQL Server, Azure

Table y Cosmos DB.

En SQL Server se almacenan los datos de las empresas, proveedores, facturadores,

representantes legales, softwares y las relaciones entre estos.

En Azure Table se almacenan las reglas, esquemas, categorías, los resultados de

validación de reglas, los números secuencial único (NSU), la relación entre

representantes legales y empresas con permisos, las referencias y estadísticas de

documentos entre otros, ya que el flujo de datos es mayor y no es conveniente

almacenarlos en SQL.

En Cosmos DB se almacenan los documentos electrónicos.

Para mayor detalles sobre este tema, puede ver además el documento Descripción del

modelo de datos.

Page 15: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 15 de 16

http://www.dian.gov.co

Diagrama de Base de datos SQL

Page 16: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

MODELO DE DISEÑO Arquitectura

Solución tecnológica de Facturación

Electrónica

Proceso: Servicios Informáticos Versión 01 Página 16 de 16

http://www.dian.gov.co

Ilustración 9. Base de datos SQL

9. Tamaño y Desempeño (opcional) [Una descripción de las principales características de dimensionamiento del software que afectan a la arquitectura, así como las restricciones de rendimiento objetivo.]

[Verifique que las especificaciones suplementarias relacionadas con tamaño y desempeño se satisfacen con la solución propuesta]

10. Calidad

La arquitectura responde a Atributos de calidad

Confiabilidad

El sistema cumple con los requerimientos funcionales y no funcionales que se

especificaron para la realización de la Solución tecnológica de Facturación electrónica.

Usabilidad

El sistema cuenta con una interfaz intuitiva y fácil de usar. Solo se necesita que el

usuario conozca el proceso de facturación de la Dian para tener una experiencia positiva

con el software.

Eficiencia

Para lograr este atributo de calidad se utilizaron varios recursos de Microsoft Azure

además de que los tiempos de respuesta son los recomendados.

Mantenibilidad

El sistema se implementó siguiendo una arquitectura en capas permitiendo que cada

fallo o error pudiera ser solucionado sin afectar otro componente del mismo.

11. Documentos Relacionados

Documento Descripción /Razón por la cual se relaciona

Descripción del modelo de datos

Este documento contiene las descripciones y detalles del modelo de datos del sistema.

Page 17: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 1 -Página 1 de 28

Facturación Electrónica DIAN

Arquitectura de Seguridad

Page 18: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 2 -Página 2 de 28

Page 2

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Tabla de Contenido

1 ........................................................................................................................................................................... 4

2 Objetivos .................................................................................................................................................. 4

2.1 Audiencia ......................................................................................................................................................... 4

3 Arquitectura y Consideraciones de Seguridad ........................................................................... 5

3.1 Arquitectura de la solucion ....................................................................................................................... 5

3.2 Seguridad de la Plataforma Microsoft Azure ..................................................................................... 6

4 Seguridad en los modulos de la solucion .................................................................................. 11

4.1.1 Interfaces Web aseguradas con ASP.NET Identity ...................................................... 11

4.1.2 Webservices asegurados con WS-Security ................................................................... 12

4.1.3 Validador de documentos y comunicación de facturas auditable .......................... 13

5 Seguridad en los modulos de la solucion .................................................................................. 14

5.1.1 Azure Traffic Manager ....................................................................................................... 14

5.1.2 Azure App Service .............................................................................................................. 14

5.1.3 Azure App Service .............................................................................................................. 15

5.1.4 Azure Monitor ..................................................................................................................... 16

5.2 Almacenamiento de Datos ..................................................................................................................... 16

5.2.1 Azure App Service .............................................................................................................. 16

5.2.2 Azure Key Vault ................................................................................................................... 17

5.2.3 Azure SQL Database ........................................................................................................... 17

5.2.4 Azure Cosmos DB ............................................................................................................... 19

6 Seguridad a nivel de administración............................................................................................ 22

6.1 Seguridad a nivel administrativo de Microsoft Azure .................................................................. 22

6.2 Control de acceso basado en rol ......................................................................................................... 24

6.3 Directivas y Auditoría ............................................................................................................................... 26

6.4 Lineamientos generales de seguridad en los despliegues que se realicen en Microsoft

Azure ........................................................................................................................................................................ 27

Page 19: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 3 -Página 3 de 28

Page 3

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

6.4.1 Capacidades de seguridad para la administración y monitoreo de la operación. 27

Page 20: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 4 -Página 4 de 28

Page 4

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

1 Objetivos

El presente documento tiene como objetivo entregar información detallada de seguridad sobre

los componentes Azure que conforman la solución tecnológica de Facturación Electrónica para

la DIAN.

A lo largo del documento se irán describiendo los siguientes temas:

Diagrama de Arquitectura de la solución validación previa.

Seguridad Global de Azure.

Descripcion de los diferentes modulos que soporta la solución.

Descripcion detallada de la seguridad de los componentes utilizados.

Seguridad a nivel de administración

1.1 Audiencia

Este documento esta orientado para ser utilizado, principalmente, como guía para conecer la

arquitectura de la solución por arquitectos, desarrolladores y personal técnico de DIAN

Page 21: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 5 -Página 5 de 28

Page 5

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

2 Arquitectura y Consideraciones de Seguridad

2.1 Arquitectura de la solucion

Page 22: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 6 -Página 6 de 28

Page 6

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

2.2 Seguridad de la Plataforma Microsoft Azure

La seguridad de la plataforma hace referencia a las capacidades que como parte del servicio ofrece

Microsoft Azure. Al ser parte del servicio, estas capacidades no pueden ser personalizadas o

ajustadas a la necesidad de cada cliente, aunque si consideran los requerimientos base de todas

las organizaciones y la demanda del mercado, asegurando su aplicabilidad a nivel mundial. Para

entender los componentes básicos de seguridad en la plataforma Microsoft divide esta dimensión

en 4 categorías, que cubren las capacidades principales de seguridad de la plataforma. Como se

puede apreciar en la imagen, dichas categorías son:

Ciclo de vida del desarrollo de la seguridad

Controles de seguridad de la infraestructura

Controles de seguridad operacional

Cumplimiento

Page 23: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 7 -Página 7 de 28

Page 7

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

El ciclo de vida del desarrollo de la seguridad comprende el conjunto de procesos y

herramientas diseñadas por Microsoft para minimizar el número de severidades y

vulnerabilidades sobre sus productos a través de un enfoque metodológico que se puede

apreciar en la siguiente imagen. La imagen que se muestra a continuación, resumen dicho ciclo

de vida el cual Microsoft habilitó públicamente en el siguiente link:

https://www.microsoft.com/en-us/sdl para que los clientes entiendan el proceso que aplica

Microsoft durante el proceso de implementación de los constantes releases y funcionalidades

que se van habilitando de cada uno de los componentes de la plataforma. Es importante

considerar que aunque algunos de los servicios habilitados por la plataforma tienen

actualizaciones semanales, siempre aplican esta metodología de desarrollo para garantizar que

dichos despliegues cumplan con los requerimientos y estándares de seguridad.

Por otro lado, los controles de seguridad de la infraestructura son el conjunto de procesos,

controles y herramientas diseñadas por Microsoft, para garantizar la seguridad física sobre la

infraestructura y los Datacenter (DC)1 que habilitan el servicio de Microsoft Azure. Como se

puede apreciar en la imagen, la seguridad en la infraestructura se divide en 3 categorías,

1 Como se aclaró en el documento de Microsoft Azure – Gobierno 100, Microsoft Azure cuenta a la fecha

del presente documento con 50 regiones que a su vez cuentan con más de 1 Data Center en cada una de

ellas.

Page 24: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 8 -Página 8 de 28

Page 8

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

seguridad perimetral, seguridad de los edificios y seguridad de los cuartos de servidores.

En la imagen también se pueden apreciar las capacidades básicas que se ofrece en cada

categoría para garantizar la seguridad de la infraestructura física de los Data centers. Para

asegurar que dichas capacidades cumplen con los estándares de seguridad soportados a nivel

mundial, Microsoft Azure cuenta con un amplio grupo de certificaciones de cumplimiento que

se describirán al final de esta sección.

Los controles de seguridad operacional comprenden los procesos y herramientas que habilita

Microsoft para la prevención de la penetración de la plataforma, la gestión de la respuesta a

incidentes, los controles de acceso, la detección de virus y amenazas, y los análisis forenses. La

síntesis de la seguridad operacional que habilita Microsoft para todos sus servicios en línea

(incluyendo Microsoft Azure) está disponible en el documento Operational Security for Online

Services, disponible (en inglés) en el siguiente link: https://www.microsoft.com/en-

us/download/details.aspx?id=40872

Como parte de la seguridad operacional, Microsoft habilita el proceso de trabajo en equipo rojo

equipo azul, el cual es una práctica mundialmente probada y orientada a definir un equipo

orientado a defender los ataques informáticos y un equipo orientado a generar ataques

informáticos. A través de este constante ejercicio, Microsoft pone a prueba su plataforma para

identificar posibles brechas de seguridad. El detalle de como implementa Microsoft esta práctica

como parte de su seguridad operacional está disponible en el documento Microsoft Enterprise

Cloud Red Teaming, disponible en:

Page 25: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 9 -Página 9 de 28

Page 9

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

http://download.microsoft.com/download/C/1/9/C1990DBA-502F-4C2A-848D-

392B93D9B9C3/Microsoft_Enterprise_Cloud_Red_Teaming.pdf

Por último, está la categoría de cumplimiento en donde Microsoft enfoca sus esfuerzos por

obtener y mantener las certificaciones más importantes y relevantes a nivel mundial que

garantizan y certifican todo lo que anteriormente se ha descrito. Actualmente, Microsoft es el

proveedor de Cloud con más certificaciones a nivel mundial, las cuales se pueden consultar en la

siguiente imagen y en el link: https://www.microsoft.com/en-us/trustcenter/default.aspx.

Aunque durante el transcurso de esta sección se hizo una síntesis general de las capacidades de

seguridad que ofrece Microsoft Azure como parte del servicio existe mucho más nivel de detalle

Page 26: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 10 -Página 10 de 28

Page 10

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

de estas y muchas más capacidades en la documentación pública de la plataforma. Para facilitar

el proceso de entendimiento y profundización de dichas capacidades, se recomienda acceder a

la tabla de resumen de capacidades de la plataforma, disponible en el siguiente link

https://docs.microsoft.com/es-es/Microsoft Azure/security/Microsoft Azure-security#summary-

Microsoft Azure-security-capabilities. En dicha tabla, están desglosadas las categorías que aquí

se presentaron, en subcategorías, y a su vez, cada subcategoría tiene un hipervínculo a

documentación detallada de la misma.

Page 27: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 11 -Página 11 de 28

Page 11

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

3 Seguridad en los modulos de la solucion

3.1.1 Interfaces Web aseguradas con ASP.NET Identity

ASP.NET Identity se encarga de almacenar las cuentas de usuario, el hash y el almacenamiento

de las contraseñas y la administración de roles para los usuarios. Es compatible con el inicio de

sesión de correo electrónico / contraseña, autenticación multifactorial, inicio de sesión social

con proveedores como Google y Facebook, así como la conexión a otros servicios mediante

protocolos como OAuth 2.0 y OpenID Connect.

Los aspectos mas importantes que se usaron y que conforman ASP.NET Identity son los

siguientes:

Role Provider: funcionalidad para gestionar roles para tus usuarios.

Claims Based: permite guardar información adicional a nuestro usuario autenticado.

Entre las características de seguridad que se desarrollaron se encuentran:

- Desinfección de entrada de datos para evitar ataques de inyección de SQL.

- Prevención de ataques de falsificación de petición en sitios cruzados(CSRF) en formularios

- Utilizando HTTPS (cifrado de conexión) para que los datos no puedan ser interceptados

mientras viaja a través de Internet

- Proporcionar a los usuarios una forma segura de iniciar sesión de modo que se garantizara la

seguridad integrada de datos del Muisca con el sistema.

Pruebas

https://gtpa-web-prototype-hab.azurewebsites.net/<script>_q_q=%27)(%27</script>

Page 28: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 12 -Página 12 de 28

Page 12

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

3.1.2 Webservices asegurados con WS-Security

WS-Security define la forma de conseguir integridad, confidencialidad y autenticación en los

mensajes SOAP. Se realiza de la siguiente manera:

- La autenticación se ocupa de identificar al llamador.

- WS-Security utiliza tokens de seguridad para mantener esta información mediante un

encabezado de seguridad del mensaje SOAP.

- La integridad del mensaje se consigue mediante firmas digitales XML, que permiten

garantizar que no se han alterado partes del mensaje desde que lo firmó el originador.

- La confidencialidad del mensaje se basa en la especificación XML Encryption y garantiza

que sólo el destinatario o los destinatarios a quien va destinado el mensaje podrán

comprender las partes correspondientes.

- Se apoya en WS-Adressing para asegurar el no repudio.

Page 29: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 13 -Página 13 de 28

Page 13

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

3.1.3 Validador de documentos y comunicación de facturas

auditable

Todos los procesos, estados y reglas se encuentran almacenados en distintas fuentes, ya sea

Azure Storages o CosmoDB que permiten tener un registro de todas las acciones, estados o

reglas con sus resultados por los que fue pasando un documento.

Para proteger los datos almacenados se utilizó encriptación de datos en las BD que usa el

sistema, las mismas son CosmosDb , SQL, Azure Storages

Page 30: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 14 -Página 14 de 28

Page 14

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

4 Seguridad en los modulos de la solucion

Los usuarios externos o procesos que interactúan con la solución se consideran iniciadores, ya

que inician el flujo del proceso de la solución. Los componentes de la solución, protocolos,

funcionalidades y prácticas de seguridad asociados los iniciadores son los siguientes:

4.1.1 Azure Traffic Manager

Azure Traffic Manager, es un balanceador de carga basado en DNS que permite dentro de la

solución distribuir el tráfico de forma óptima hacia el resto de los servicios de Azure que

componen la solución de Facturación Electrónica.

Esto permite utilizar DNS para redirigir y monitorear las solicitudes de usuario hacia el punto de

conexión adecuado, de acuerdo con un método de enrutamiento. Adicionalmente, provee alta

disponibilidad al monitorear dichos puntos de conexión, de manera de que, al detectar el no

funcionamiento de alguno de ellos se gatille failover automático.

Traffic Manager proporciona una serie de métodos de enrutamiento del tráfico para satisfacer las

necesidades de distintas aplicaciones, la supervisión del estado de los puntos de conexión y la

conmutación automática por error.

Para más información, véase: https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-

manager-overview

4.1.2 Azure App Service

Servicio Azure que hospeda front-end Web y API REST de la solución. Desde un punto de vista

de acceso a la aplicación se consideran las siguientes características:

Cumplimiento

Azure App Service cumple con certificaciones ISO, SOC y PCI.

Page 31: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 15 -Página 15 de 28

Page 15

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

HTTPS y Certificados

La aplicación es accedida a través de internet utilizando el protocolo de comunicación HTTPS,

adicionalmente se utilizan SSL Certificados para autorizar el acceso desde el cliente web.

Autentificación y Autorización

Permite gestionar el proceso de autenticación y autorización a través de un módulo que se

ejecuta en el mismo ambiente aislado de la aplicación web, pero donde cada solicitud pasa a

través de este módulo antes de que el código de la aplicación puede acceder a él.

Este módulo permite gestionar la autenticación de usuarios, a través del proveedor definido;

valida, almacena y gestiona tokens; administra la sesión autenticada e inyecta encabezado de

identidad a la solicitud HTTPS.

4.1.3 Azure App Service

Servicio Azure que hospeda front-end Web y API REST de la solución. Desde un punto de vista

del flujo de información se consideren las siguientes características:

Claves y Secretos

La comunicación de claves y secretos, como por ejemplo cadenas de conexión, entre la

aplicación y otros recursos de Azure, permanecen siempre dentro de Azure y se mantienen

encriptados al ser almacenados.

Conexiones remotas

Todas las conexiones con herramientas de administración remota, tales como, Azure PowerShell,

la CLI de Azure, API REST y SDK de Azure, son cifradas.

Monitoreo de Aplicaciones

Azure App Service proporciona funcionalidades integradas de monitoreo que disponibilizan

métricas asociadas al uso de la aplicación, algunas de ellas son:

- Tiempo de Respuesta Promedio

- Cantidad media de memoria utilizada

- Número de sockets enlazados (llamadas API)

- Cantidad de CPU utilizada

Page 32: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 16 -Página 16 de 28

Page 16

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

- Número de librerías (assemblies) cargadas

- Cantidad de ancho de banda consumido (entrante y saliente)

- Cantidad total de solicitudes HTTP por código de estado devuelto

- Velocidad a la que el proceso esta realizando operaciones de E/S

4.1.4 Azure Monitor

Azure Monitor permite recopilar, analizar y administrar datos asociados al rendimiento y

funcionalidad del código de las aplicaciones implementado en este caso en Azure App Service y

Azure Functions.

Monitoreo de Aplicaciones

Azure Monitor cuenta con varias herramientas y características que proporcionan información

sobre aplicaciones y recursos implementados, una de ellas es Application Insight.

Application Insight monitorea la disponibilidad, el rendimiento y el uso de las aplicaciones

implementadas. Algunos de los datos supervisados son:

- Tasas de solicitud, tiempos de respuestas y tasas de error

- Tasas de dependencias con otros servicios

- Excepciones

- Vistas de páginas y rendimiento de carga

- Llamadas AJAX

- Número de usuarios y sesiones

- Diagnóstico del host

- Métricas y eventos personalizados, escritas directamente en el código

4.2 Almacenamiento de Datos

4.2.1 Azure App Service

Servicio Azure que hospeda front-end Web y API REST de la solución. Desde un punto de vista

del almacenamiento de información se consideren las siguientes características:

Cifrado

El contenido de archivos de la web es almacenado en Azure Storage, el cual automáticamente

encripta el contenido en reposo.

Page 33: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 17 -Página 17 de 28

Page 17

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Los secretos y certificados son almacenados en Azure Key Vault (ver sección 4.2.2)

4.2.2 Azure Key Vault

Azure Key Vault, está orientado a almacenar y proteger; claves y secretos utilizadas por

aplicaciones y servicios en la nube. Permitiendo cifrar calves de autenticación, claves de cuentas

de almacenamiento, claves de cifrado de datos, archivos .pfx y contraseñas mediante el uso de

claves que están protegidas por módulos de seguridad de hardware (HSM).

Administración de certificados

Azure Key Vault como componente de la solución de Facturación Electrónica para la DIAN,

almacena y controla el acceso de forma segura a certificados, permitiendo administrar e

implementar certificados SSL/TLS para su uso con otros recursos de Azure.

Algunos de los atributos de seguridad asociados a este servicio son:

- Cifrado en reposo de los objetos almacenados

- Toda la comunicación se realiza a través de llamadas a la API cifradas (HTTPS)

- HSM de FIPS nivel 2 protege la clave, el certificado o el secreto almacenado

- La autenticación se realiza a través de Azure Active Directory

- La autorización se realiza a través de la directiva de acceso definida en Azure Key Vault

4.2.3 Azure SQL Database

Azure SQL Database es un servicio administrado de base de datos relacional, implementado

dentro de la solución de Facturación Electrónica de la DIAN como instancia de base de datos

única.

SQL Database comparte su código base con el motor de base de datos de Microsoft SQL Server.

Seguridad de Red

Para proteger los datos almacenados, los firewalls del servidor de base de datos impiden el

acceso de red a dicho servidor, hasta que se defina explícitamente la dirección IP o la red virtual

de Azure donde se originará el tráfico.

Page 34: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 18 -Página 18 de 28

Page 18

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Autenticación y Autorización

Azure SQL Database admite dos tipos de autenticación: Autenticación de SQL y Autenticación

de Azure Active Directory.

Los permisos se controlan mediante la creación de cuentas de usuarios y la asignación de

permisos a nivel de objetos SQL.

Adicionalmente, existe la funcionalidad de seguridad a nivel de fila, permitiendo controlar el

acceso a las filas de una tabla en función de las características del usuario que ejecuta la

consulta.

Auditoría

La funcionalidad de SQL Auditing permite hacer un seguimiento de las actividades realizadas

sobre la base de datos, para identificar posibles amenazas o infracciones de seguridad.

Protección Avanzada contra Amenazas

Existe la opción de habilitar de Protección Avanzada contra Amenazas para analizar los registros

de SQL y detectar comportamientos poco habituales o intentos de acceso no autorizados a la

base de datos.

Por medio de la creación de alertas es posible detectar actividades sospechosas, tales como,

inyección de código SQL, anomalías de acceso, infiltración de datos o ataques de fuerza bruta.

Cifrado

En SQL Database los datos en tránsito entre el cliente y el servidor son protegidos mediante el

cifrado SSL/TLS.

Para el cifrado de datos en reposo, todas las bases de datos recién creadas se cifran de forma

predeterminada, mediante un algoritmo de encriptación AES. Azure SQL Database administra el

mantenimiento y validez de los certificados, por lo que no se requiere ninguna acción por parte

del usuario.

Datos Sensibles

SQL Database ofrece características adicionales para proteger información confidencial

almacenada en la instancia. Por ejemplo, la funcionalidad de Always Encrypted permite cifrar

columnas específicas de manera de que aquellos usuarios que realizan tareas administrativas

Page 35: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 19 -Página 19 de 28

Page 19

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

sobre la base de datos no tengan acceso a esta información, sino que estos datos solo se descifran

para el procesamiento por parte de las aplicaciones cliente con acceso a la clave de cifrado.

Por otro lado, la característica de enmascaramiento dinámico de datos permite ocultar datos

confidenciales del conjunto de datos del resultado de una consulta. Esta característica,

adicionalmente, proporciona recomendaciones y detecta automáticamente información

potencialmente confidencial.

Cumplimiento

Adicional a las características antes mencionadas, el servicio de Azure SQL Database forma parte

de auditorias regulares y ha obtenido certificaciones de diferentes entidades de normas de

cumplimientos.

4.2.4 Azure Cosmos DB

Azure Cosmos DB es un servicio de base de datos multi modelo que ofrece características de

escalado y rendimiento, para aplicaciones distribuidas que requieren baja latencia y alta

disponibilidad.

Seguridad de Red

Azure Cosmos DB controla el acceso a través de un firewall de entrada, donde es posible definir

directivas basadas en direcciones IP.

Autenticación y Autorización

Mediante la cuanta de administrador de Cosmos DB es posible gestionar la creación de usuarios

y permisos por base de datos o un recurso de aplicación (contenedores, documentos, datos

adjuntos, procedimientos almacenados, desencadenadores y UDF). Un token de recurso se

asocia con un permiso en una base de datos, el cual determina si el usuario tiene acceso.

Adicionalmente, Azure Cosmos DB utiliza el código de autenticación de mensajes basado en

hash (HMAC) para la autorización, donde cada solicitud se cifra mediante la clave de cuenta

secreta, y el hash codificado en base64.

Tambien es posible proporcionar o restringir el acceso mediante la integración con Azure Active

Directory.

Page 36: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 20 -Página 20 de 28

Page 20

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Replicación

Cosmos DB ofrece replicar los datos en cualquiera de los centros de datos de Azure, de manera

de contar con un escalado a nivel global y proporcionar un acceso de latencia baja a datos de

todo el mundo, de ser necesario.

Si se han replicado los datos en más de un centro de datos, Azure Cosmos DB sustituirá

automáticamente las operaciones en caso de que se desconecte un centro de datos.

Incluso dentro de un solo centro de datos, se replica automáticamente los datos para lograr una

alta disponibilidad. Esta replicación garantiza un 99,99% de SLA.

Cifrado

Todas las bases de datos de Cosmos DB se cifran en reposo de forma predeterminada, al igual

que los datos en tránsito.

Todas las comunicaciones con Azure Cosmos DB de cliente a servicio son compatibles con los

protocolos SSL o TLS 1.2.

Copias de Seguridad

Azure Cosmos DB realiza copias de seguridad frecuentes y automáticas, las cuales se almacenan

en una cuanta de almacenamiento con redundancia geográfica.

Dichas copias de seguridad se pueden utilizar para recuperar los datos que hayan sido

eliminados accidentalmente hasta unos 30 días después del suceso.

Datos Sensibles

Los datos confidenciales se pueden aislar en contenedores específicos y se puede limitar el

acceso de escritura/lectura o de solo lectura a usuarios concretos.

Auditoría

Existen registros de auditoría para monitorear la actividad normal o anómala de la cuenta. Es

posible ver que operaciones se realizaron en los recursos, quién inició la operación, cuando se

produjo, y su estado.

Page 37: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 21 -Página 21 de 28

Page 21

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Cumplimiento

Adicional a las características antes mencionadas, el servicio de Azure Cosmos DB forma parte de

auditorías regulares y ha obtenido certificaciones de diferentes entidades de normas de

cumplimientos.

Page 38: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 22 -Página 22 de 28

Page 22

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

5 Seguridad a nivel de administración

5.1 Seguridad a nivel administrativo de Microsoft Azure

En la sección anterior, se compartieron los lineamientos generales de seguridad que ofrece

Microsoft Azure como parte del servicio que provee la plataforma. En esta sección se cubrirán los

aspectos y políticas se seguridades básicas que aplican para los usuarios que acceden y

administran la plataforma.

Para dar a entender a que se hace referencia con este tipo de usuarios, es importante aclarar los

tipos de usuarios que acceden a la plataforma. En términos generales, los usuarios que la acceden

se podrían categorizar en:

Consumidores: Son aquellos tipos de usuarios que utilizan 1 o más servicios desplegados

dentro de Microsoft Azure como usuario final. Estos usuarios suelen ser los clientes de las

entidades (para aplicaciones que están habilitadas hacia los usuarios finales como lo pueden ser

los portales informativos y transaccionales de las entidades, aplicaciones móviles) y los

empleados o contratistas de las entidades (para aplicaciones que están

habilitadas para usuarios internos, como los portales de elearning, de gestión de

archivos de la intranet, entre otros). Este tipo de usuario no requiere acceso a nivel

administrativo de Microsoft Azure y por ende, los lineamientos de seguridad que aplican

para ellos están asociados a lo que se describirá en la siguiente sección.

Administradores de los servicios: Son aquellos usuarios que administran 1 o más

componentes desplegados dentro de Microsoft Azure. Por ejemplo, usuarios del equipo

de infraestructura que administran las máquinas virtuales habilitadas en Microsoft Azure,

los desarrolladores que acceden a los despliegues de las aplicaciones móviles o páginas

web habilitadas dentro de Microsoft Azure, o las DBA que deben administrar bases de

datos habilitadas en Microsoft Azure. Este tipo de usuario podrá considerar los

lineamientos que están descritos en esta sección, siempre y cuando dichos servicios

(máquinas virtuales, bases de datos, servicios de despliegue de aplicaciones) estén

integrados a nivel de autenticación con el directorio Activo de Microsoft Azure (el cual se

detallará a lo largo de esta sección). En caso de no estar integrado el servicio con el

directorio activo de Microsoft Azure, este tipo de usuario debe considerar los

lineamientos que se describirán en la siguiente sección.

Administradores de la plataforma: Son aquellos usuarios que administran los

componentes desplegados en Microsoft Azure. Dentro de sus funciones están las de

Page 39: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 23 -Página 23 de 28

Page 23

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

crear, eliminar, y actualizar los despliegues de los servicios y de monitorear su correcto

funcionamiento. Este es el grupo de usuarios sobre el que está enfocado

principalmente la sección que se desarrolla a continuación.

Para la administración de la plataforma, Microsoft Azure habilita 3 mecanismos para que estos

usuarios puedan realizar las labores propias de la gestión:

Portal de Microsoft Azure: Tal y como se hace referencia en el documento de Microsoft

Azure – Gobierno 100, la plataforma cuenta con una interfaz gráfica web, conocida como

el Portal de Microsoft Azure. Esta puede ser accedida a través de la url

https://portal.Microsoft Azure.com y en ella (dependiendo del nivel de acceso que

tienen) podrán visualizar los recursos desplegados y realizar las labores administrativas.

El portal de Microsoft Azure es recomendado para realizar labores de administración y

seguimiento de la salud y estado de los recursos desplegados, para hacer despliegues

sencillos, o para usuarios que aún no tengan conocimiento de las otras dos herramientas

de gestión.

PowerShell: Microsoft Azure habilita un paquete de extensión sobre Microsoft Powershell, que

permite a través de línea de comando, ejecutar labores administrativas sobre la plataforma. Esta

herramienta de gestión es recomendada para aquellos usuarios que estén familiarizados con

Powershell, y requieran realizar aprovisionamiento o borrado de despliegues y servicios a gran

escala y con una aproximación mucho más automatizada y ágil que la que ofrece el portal.

• Command Line: Microsoft Azure habilita un paquete de extensión sobre Microsoft

Command Line (CLI), que permite ejecutar labores administrativas sobre la plataforma. Esta

herramienta de gestión es recomendada para aquellos usuarios que estén familiarizados con

Linux Shell o Microsoft Command Line, y requieran realizar aprovisionamiento o borrado de

despliegues y servicios a gran escala y con una aproximación mucho más automatizada y ágil

que la que ofrece el portal.

Ahora bien, la capacidad administrativa que cada usuario tendrá, dependerá del acceso que

tenga a las suscripciones de la entidad (El concepto de suscripciones se explica en la sección 4,

del documento Microsoft Azure – Gobierno 100) ya que estas son las que agrupan los servicios

desplegados dentro de la plataforma para cada entidad (cada entidad puede definir cuantas

suscripciones va a habilitar, siguiendo las recomendaciones de los estándares de nomenclatura

descritos en la sección 3 del presente documento, y sobre cada suscripción, puede brindar

acceso a 1 o más usuarios administrativos). De esta forma, Microsoft Azure permite separar las

capacidades administrativas que va a tener cada usuario según el tipo de ambiente o tipo de

despliegue que sobre esta se realicen.

Page 40: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 24 -Página 24 de 28

Page 24

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Para habilitar todas estas capacidades de administración de usuarios y privilegios, Microsoft

Azure integra dentro del acceso habilitado para cada entidad, un Tenant de Microsoft Azure

Active Directory, tal y como se estipula en la sección “Cuentas de usuario” de la documentación

oficial de Microsoft: https://docs.microsoft.com/es-es/office365/enterprise/subscriptions-

licenses-accounts-and-tenants-for-microsoft-cloud-offerings, tal y como se cita a continuación:

Cuentas de usuario

Las cuentas de usuario para todas las ofertas de la nube de Microsoft se almacenan en un espacio

empresarial de Microsoft Azure Active Directory (AD), que contiene cuentas de usuario y grupos. Un

espacio empresarial de Microsoft Azure AD se puede sincronizar con las cuentas existentes de

Windows Server AD con Microsoft Azure AD Connect, un servicio basado en Windows Server. Esto

se conoce cómo sincronización de directorios (DirSync).

En la ilustración 3, se muestra un ejemplo de varias suscripciones de una organización con un

espacio empresarial de Microsoft Azure AD común que contiene las cuentas de la organización.”

Fragmento 1. Cuentas de Usuario. Tomado de la documentación oficial de Microsoft Cloud

Es así como, dentro de Microsoft Azure, la seguridad a nivel administrativo está relacionada con

las capacidades de seguridad y autenticación que ofrece Microsoft Azure Active Directory. Aunque

el detalle de las capacidades completas de este servicio están descritas en la documentación

oficial (disponible en https://docs.microsoft.com/es-es/Microsoft Azure/active-directory/active-

directory-whatis), en esta sección se sintetizarán dos capacidades fundamentales, relacionadas

con el otorgamiento de los niveles de acceso a los recursos, grupos de recursos y la gestión sobre

los mismos. Dichas capacidades son:

Control de acceso basado en rol

Directivas y Auditoría

En las dos subsecciones que se desarrollarán a continuación, se describirán dichas características.

5.2 Control de acceso basado en rol

Microsoft Azure Active Directory define los accesos que tendrán los usuarios administradores de

la plataforma a través de un esquema de perfiles basado en roles. A través de este esquema, cada

usuario de Microsoft Azure puede tener asignado uno o varios roles sobre la suscripción (la cual

Page 41: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 25 -Página 25 de 28

Page 25

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

extiende dicho rol sobre todos los grupos de recursos y los recursos asociados a la suscripción),

o sobre uno o varios grupos de recursos específico (extendiendo dicho rol sobre los recursos

asociados a ese grupo) o sobre uno o varios recursos específicos.

Imagen 1. Jerarquía de privilegios en Microsoft Azure

Para facilitar dicha asignación, Microsoft Azure habilita un grupo de roles preconfigurados que

sirven de línea base para la asignación de privilegios a los usuarios administradores, dichos roles

están listados en el siguiente link: https://docs.microsoft.com/es-es/Microsoft Azure/role-based-

access-control/built-in-roles, donde hay más de 50 roles documentados y listos para utilizar. De

esa lista, se resaltan los 3 roles más utilizados de la plataforma como base de administración:

Propietario/Owner: Permite administrarlo todo, incluso el acceso a los recursos.

Contribuyente/Contributor: Permite administrarlo todo, excepto el acceso a los recursos.

Lector/Reader: Permite ver todo el contenido, pero no realizar cambios.

Adicionalmente, si las entidades optan por generar roles personalizados lo pueden hacer,

siguiendo las indicaciones descritas en el siguiente link: https://docs.microsoft.com/es-

es/Microsoft Azure/role-based-access-control/custom-roles.

Finalmente, la asignación de roles a los usuarios se puede realizar siguiendo los pasos que se

describen a continuación: https://docs.microsoft.com/es-es/Microsoft Azure/billing/billing-add-

change-Microsoft Azure-subscription-administrator.

Suscripción

Grupo de Recursos

Recurso

Page 42: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 26 -Página 26 de 28

Page 26

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

5.3 Directivas y Auditoría

Las directivas son una funcionalidad y pilar fundamental que permiten gestionar los riesgos en

Microsoft Azure. Corresponden a un sistema de permisos para controlar las acciones sobre los

recursos y grupos de recursos. El ámbito de acción puede ser: suscripción, grupo de recursos o

recurso.

Las directivas tienen varias acciones y son las siguientes:

Denegar: bloquea la solicitud del recurso

Auditar: permite la solicitud, pero agrega una línea de registro de actividad el cual puede

ser usado para generar alertas o desencadenar acciones por medio de runbooks

Anexar: agrega información específica al recurso con un valor por defecto en caso de que

el recurso no tenga una etiqueta. Un ejemplo muy útil es agregar al recurso la etiqueta

CostCenter:Unknown (valor por defecto)

Algunos usos comunes están relacionados con:

Soberanía de datos y cumplimiento geográfico: determinar en cuales regiones de

Microsoft Azure se permiten crear recursos

Administración de costos: determinar cuáles recursos no se pueden crear por el costo que

pueden generar en caso de que se habiliten por error. Por ejemplo: no permitir crear

recursos de máquinas virtuales correspondientes a la familia G de High Performance

Computing (HPC), no permitir crear recursos de HDInsigths como clusters para proyectos

de BigData.

Gobierno predeterminado con etiquetas obligatorias: Asegurarse que los recursos tengan

como mínimo las siguientes etiquetas: Department, ManagedBy (Owner), Environment,

BillTo

En lo referente a Auditoría, se captura la actividad de los usuarios aprovechando que la mayoría

de los tipos de recursos de Microsoft Azure crean registros de diagnóstico, los cuales se pueden

analizar con una herramienta de registro e incluso con el servicio de Microsoft Azure Log Analytics.

Los registros de auditoría constituyen una herramienta de diagnóstico clave pues permiten

determinar las operaciones que se realizaron y los usuarios responsables de tales acciones.

Para más información de las directivas y auditoría, véase la documentación oficial disponible en:

https://docs.microsoft.com/es-es/Microsoft Azure/Microsoft Azure-policy/

Page 43: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 27 -Página 27 de 28

Page 27

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

5.4 Lineamientos generales de seguridad en los

despliegues que se realicen en Microsoft Azure

Para finalizar con este capítulo, se realizará una síntesis de las capacidades de seguridad que

habilita Microsoft Azure para que se tomen en consideración durante el diseño y habilitación de

despliegues de servicios en la plataforma. Es importante resaltar que:

Muchas de estas capacidades son servicios propios de la plataforma.

Algunas de estas capacidades generan consumo/utilización, y otras son de uso gratuito.

En línea con lo anterior, es importante realizar la estimación de estos servicios durante el

proceso de construcción de la arquitectura, donde el equipo de Microsoft-Vision puede

apoyar a las entidades (Tal y como se describió en el documento de Microsoft Azure –

Gobierno 100)

Dependiendo cada escenario de implementación, se debe evaluar que capacidades se

deben tener en cuenta, y cuáles no. No todas las capacidades deben ser utilizadas en todo

despliegue.

En esta sección solo se sintetizarán las capacidades, el detalle de cada capacidad o servicio

se puede encontrar y buscar en la documentación oficial de Microsoft Azure.

La síntesis aquí presentada, está basado en el resumen de capacidades de seguridad

descrito en: https://docs.microsoft.com/es-es/Microsoft Azure/security/Microsoft Azure-

security#summary-Microsoft Azure-security-capabilities

5.4.1 Capacidades de seguridad para la administración y monitoreo

de la operación.

En esta sección se sintetiza la información acerca de los servicios y capacidades que habilita

Microsoft Azure para monitorear la operación de los servicios desplegados de la plataforma, e

identificar posibles brechas u oportunidades de mejora de seguridad.

5.4.1.1 Panel Seguridad y auditoría de Operations Management Suite - OMS

La solución Seguridad y auditoría de OMS proporciona una vista completa de la plataforma en

operación de Microsoft Azure que tenga habilitado este servicio. Esta vista cuenta con información

para el equipo de seguridad de TI, habilitando con consultas de búsqueda integradas para

problemas importantes que requieran atención y un panel de seguridad y auditoría, que

proporciona información de alto nivel sobre el estado de seguridad de los equipos. También

incluye la capacidad de ver todos los eventos de las últimas 24 horas, 7 días o cualquier otro

intervalo personalizado.

Page 44: SOLUCIÓN TECNOLÓGICA FACTURACIÓN ELECTRÓNICA DIAN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Componentes de Azure

Solución Tecnológica

Facturación

Electrónica

Versión del documento: 01 - 28 -Página 28 de 28

Page 28

Arquitectura de Seguridad, Facturación Electrónica DIAN, Versión 0.1

Preparado por Sonia Bravo

"DIAN - Arquitectura de Seguridad en Azure.docx", Template Version 4

Adicionalmente, esta solución permite configurar políticas de seguridad y cumplimiento para

llevar a cabo acciones específicas y automatizadas cuando se detecte un evento concreto.

Para mayor información, véase: https://docs.microsoft.com/es-es/Microsoft Azure/operations-

management-suite/operations-management-suite-overview