Gestionar datos sensibles en Microsoft Dynamics NAV 2016

Clara Camprovin Blog, Microsoft Dynamics NAV

Cifrado de contraseñas (y la manipulación de los datos sensibles)

Hoy nos hacemos eco de un articulo  (en ingles) publicado en el Blog de la Comunidad de Microsoft Dynamics que nos ha parecido interesante por la preocupación creciente que existe en las empresas por la seguridad de los datos. Veremos como proteger los datos como contraseñas, números de la seguridad social, números de tarjetas de crédito, etc mediante el cifrado y gestionando estos datos desde una sola tabla con acceso restringido.

Planteamiento del problema

Cuando los datos sensibles se almacenan dentro de la base de datos NAV, si se manejan con negligencia, puede hacerlos vulnerables. En particular, la ubicación, el acceso y el estado de los datos son críticos.

Imagine que en lugar de almacenar tarjetas de crédito en la cartera, se dispersan alrededor en su entorno: encima de la mesa, en el bolsillo,  algunas incluso a plena vista.¿Qué fácil sería perderlas accidentalmente o que alguien hiciera  mal uso de una tarjeta de crédito? La declaración es válida para los datos electrónicos sensibles, como contraseñas, identificaciones personales, números de tarjetas de crédito – que son más fáciles de manejar, si se almacena en un solo lugar.

Podríamos almacenar datos sensibles en un solo lugar, una especie de  «billetera» electrónica, pero luego hay que controlar quién tiene acceso a ella. Si varias entidades pueden acceder ¿cuál es la garantía de que todas ellos se manejan correctamente?

Ahora almacenamos las contraseñas en un solo lugar, y que sólo se accede a ellos a través de una API de seguridad. Sin embargo, las contraseñas no están encriptadas, por lo que una brecha en la base de datos inmediatamente les expondrían a la parte exterior.

Solución

Proteger los datos como contraseñas, números de la seguridad social, números de tarjetas de crédito, etc mediante el cifrado y colocándolo en una sola tabla con acceso restringido.

Hay algunas ideas detrás de este patrón

  1. Encapsular los datos. No mezclar los datos confidenciales (contraseñas, números de pasaporte, números de tarjetas de crédito) con datos de la empresa del usuario. Almacenar datos sensibles en una ubicación central (a continuación, en el tercer bloque, central de datos cifrados tienda)
  2. Proporcionar un único punto de acceso. A pesar de que varias personas pueden beneficiarse / obtención de piezas de contenido de su cartera, sólo una única entidad (usted) debe acceder a él, y almacenar o distribuir su contenido, según sea necesario.
  3. Cifrar los datos. NAV ofrece y la estructura de cifrado fácil, para ser utilizados por el desarrollador C / AL sin tener que implementar explícitamente.
  4. Dejar que el cifrado turno de usuario de encendido / apagado de la instalación:

Seguridad acceso y contraseñas microsoft dynamics nav

El escenario de usuario

Un ejemplo NAV para  hacer frente a los datos sensibles es: permitir la integración de CRM. En este caso, el usuario tendrá que introducir información de configuración, que incluye una contraseña. En la página Configuración de la conexión de CRM, el usuario (vamos a llamarla Nancy) puede entrar en la URL, nombre de usuario y contraseña:

1 CRM connection setup.PNG-550x0

Después de introducir la contraseña, necesita ser almacenada en la base de datos NAV. Si el cifrado de datos no está habilitado, entonces Nancy ve el siguiente mensaje de confirmación:

modelo Seguridad acceso microsoft dynamics nav

Nancy ahora se da cuenta de que no esta habilitado el cifrado de datos y  tiene la oportunidad de hacerlo. Si hace clic en «Sí», Nancy será llevada a la página de datos de gestión de cifrado:

Encriptacion Seguridad acceso microsoft dynamics nav

Nancy ahora puede elegir la opción «Habilitar cifrado» y guardar la clave de cifrado en un lugar seguro. … Y para protegerlo con una contraseña segura (que requiere 8 caracteres con al menos un carbón mayúsculas, minúsculas y con un carácter un dígito):

… Antes de que finalmente sea almacenado el archivo en el disco:

guardar contraseña en disco nav

Implementación Cifrado

A partir de Microsoft Dynamics NAV 2015, si se abre el menú C / AL símbolo en el editor, se puede encontrar las siguientes llamadas de cifrado del sistema [1] :

sistema encriptacio NAV

Esta API de cifrado se utiliza en el patrón actual, como se describe a continuación.

Pero no es necesario utilizar de manera directa, ya que ofrecemos una API para que, en DQO 1266 Gestión de cifrado. Estas funciones proporcionan funcionalidad adicional. Por ejemplo, en el cifrado, la función comprueba si el cifrado EnableEncryption ya está encendido, para evitar la doble encriptación. Se recomienda el uso de las funciones de COD1266 en lugar de las llamadas al sistema de nivel inferior.

9 encryption management codeunit.PNG-550x0

Si bien existe un mecanismo de cifrado, el siguiente paso es animar al usuario a activar el cifrado.

Enchufe este código en el gatillo OnValidate del campo de datos. Por ejemplo, si el usuario está introduciendo una contraseña, a continuación, añadir una llamada a este procedimiento para contraseña – OnValidate trigger ():

  1. LOCAL PROCEDIMIENTO CheckEncryption @ 6 ();
  2. EMPEZAR
  3. SI NO ENTONCES ENCRYPTIONENABLED
  4. SI CONFIRM ( EncryptionIsNotActivatedQst ) ENTONCES
  5. PÁGINA . RUN ( PÁGINA :: «Gestión de Cifrado de datos» );
  6. FIN ;

«Texto enmascarado» -> al entrar en la información sensible (por ejemplo, una contraseña), a veces tiene sentido para no mostrar a los personajes reales en la interfaz de usuario, pero en vez de mostrar un punto para cada carácter. Para ello, en el NAV abrir la página de propiedades para el campo de que se trate, y establecer ExtendedDatatype = enmascarado .

10 masked text.png-550x0

El único punto de almacenamiento de datos

El «monedero electrónico» puede ser tan simple como la tabla de contraseñas.

   13 service pass table.png-550x0

 El único punto de datos de acceso

Utilice las funciones ya presentes en la tabla de contraseñas de servicio, para acceder a la contraseña.

12 save and get pass.png-550x0

Visión de conjunto

Estos son los puntos de integración de este patrón

  • cifrado
  • texto enmascarado
  • Un único punto de acceso
  • encapsulación de datos

 Uso en una configuración multi-empresa

Si se  tienen varias empresas en el mismo servidor,  recordar que el cifrado debe ser habilitado ni en todos, o deshabilitados en todos. En otras palabras, evitar la situación en la siguiente imagen, donde una empresa se cifra y otra no.

En la figura siguiente, el NAV Cliente 1 (que trabajan en la empresa 1) solicita el cifrado de la instalación de la mesa. Escribió el código C / AL para activar el cifrado para esta empresa. NAV N cliente no cifrar su tabla de configuración, pero cuando se trata de obtener datos de él, el NAV del servidor observa que el cifrado se activa, y trata de leer de la tabla de configuración N como si estuviera encriptado, lo que falla.

14 multi company encryption.PNG-550x0

La solución es: cada vez que se desea activar el cifrado, recuerde que debe recorrer todas las empresas y cifrar todos. Para ello, como se ha mencionado antes, no escriba su propia solución para cifrar, pero utilizar y extender DQO 1266 Gestión de cifrado, funciones y EnableEncryption DisableEncryption. Estas funciones se aseguran de que la consistencia se mantiene sobre todas las empresas. Básicamente, para el cifrado, lo que sucede detrás de las cortinas es:

     Company.FINDSET;

     REPETIR

       EncryptServicePasswordData (Company.Name);

     HASTA Company.NEXT = 0

Los objetos de la aplicación que implementan la funcionalidad de acceso cifrado son:

  • Codeunit Gestión 1266 Encryption
  • La página de Gestión de Cifrado de Datos 9905
  • Tabla 1.261 contraseña Servicio

Azure 

Cuando la configuración incluye varios de NST en máquinas diferentes, por ejemplo en Azure, puede ser difícil de manejar todos los certificados en las máquinas, por lo que, por lo tanto Dynamics NAV también (opcionalmente) apoya el Azure Key Vault que es un servicio Azure que se puede administrar los certificados.

Se puede configurar a través de la consola de administración (este es el valor por defecto, no está configurado):

Azure Key Vault.png-750x0

 Usos NAV

ejemplos de cifrado se pueden encontrar en el NAV en los siguientes lugares:

  • Página 1260 Banco de Datos Conv. Configuración de servicio
  • La página de configuración de la conexión CRM 5330
  • Disposición del vector de 1270 Servicio de OCR
  • Tabla 1275 Doc. Exch. Configuración de servicio

Limitaciones conocidas

Hay un límite de cuánto tiempo puede ser el texto cifrado. Este límite se impone por el servicio de cifrado OS y depende de la composición del texto, así como de las características específicas del sistema. En NAV, que habíamos implementado el texto cifrado para valores de texto de un máximo de 250 caracteres, lo cual es suficiente para cubrir las contraseñas, números de ID de la persona, información de tarjeta de crédito, pero podría resultar insuficiente en otros escenarios futuros.

Temas relacionados – SSL

Ahora pequeños fragmentos de datos sensibles de los clientes están codificadas en la base de datos NAV. Pero ¿qué pasa con la protección de los datos, antes de que llegue a la base de datos? Cuando el cliente y el servidor se encuentran en diferentes máquinas, a considearar : Se está enviando información confidencial en texto claro, desde el cliente al servidor, a través del cable (o aire)? Para proteger sus datos antes de que llegue el servidor, recuerdar que debe configurar SSL (Secure Sockets Layer) ( detalles aquí ).

Referencias

  1. MSDN ayuda en Microsoft Dynamics NAV 2015 funciones de cifrado .
  2. Azure clave Bóveda

¿Conectamos?

La tecnología bien aplicada suele facilitar las cosas. Si sospechas que también puede ser de ayuda para ti, concédenos la oportunidad de conocerte y demostrarte hasta qué punto es así.

¿Por qué Ibermática?

Somos uno de los principales implantadores de Microsoft Dynamics a nivel nacional, casi 400 clientes han confiado en nosotros la implantación de Dynamics 365, Business Central (NAV /Navision), y Dynamics 365 Finance & Supply Chain Management (AX/ Axapta), junto el despliegue de sus proyectos sobre AZURE. Además somos una compañía TIC formada por más de 3.500 personas y presencia en 10 países. Ayudamos a definir y aprovechar oportunidades en el nuevo contexto digital con un enfoque global, desde la tecnología a las personas.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  He leído y acepto la Política de privacidad de Ibermática, S.A.De acuerdo a lo establecido en la RGPD 2016/679, para ejercer su derecho al borrado de sus datos, por favor envíe un correo a: arco@ibermatica.com