Seguridad en instalaciones – Configuración de SQL Server

A continuación enumeraremos las características de la configuración de SQL Server según los casos que se presenten durante la instalación de IGGLOBAL Online

  • IGGLOBAL Online en la misma red del servidor de base de datos para éste caso en particular no es necesaria ninguna configuración especial de conexión. Sólo respetar la IP o nombre de servidor al configurar las connection strings del web.config e info_datos. Si el cliente así lo necesita, será necesario abrir un puerto público en el router de la red que esté redireccionado al puerto de IGGLOBAL Online configurado para permitir el acceso desde dispositivos móviles o dispositivos fuera de la red.
  • IGGLOBAL Online fuera de la red del servidor de base de datos (hosting o similar): para éste caso en particular se necesitará que se abra un puerto público en el router de la red que esté redireccionado al puerto de SQL Server. El número de dicho puerto DEBERÁ SER DISTINTO AL 1433/34 que utiliza SQL Server por defecto para evitar intentos de conexión no deseados. Además es deseable utilizar una password de SA de al menos 64 caracteres para reforzar la seguridad de dicho login.
  • Para todas las configuraciones es REQUERIDO el uso de INTERNET ya que el sistema utiliza componentes disponibles de forma online.
  • En el caso de instalaciones con imágenes de login personalizadas, ésta es la ubicación de las mismas:

Imágenes: /Images/optimized-backgrounds

Logo de empresa: ~/Content/Images/igglobal_logo.png


Login – Bloqueo de usuarios basado en Token

A partir de la versión 8.8.1 de IGGLOBAL el módulo Online contará con un control de bloqueo de usuarios basado en token.

Funciona de la siguiente manera:

  1. El usuario ingresa sus credenciales y, una vez que el sistema lo autentica de forma correcta, se almacena en la máquina actual del usuario una cookie que contiene un token de acceso (que expira a las 8 horas)
  2. Durante las 8 horas que el token es válido, el usuario podrá ingresar al sistema tantas veces lo desee pero sólo desde la máquina en la que inicialmente se autenticó.
  3. Si durante ese lapso él u otra persona desea utilizar el mismo usuario desde otra terminal el sistema indicará que el usuario se está utilizando desde otra terminal.

Configuración de balores por defecto y seguridad en campos de formularios

Asignación de valores

Al hacer click en la etiqueta del campo.

Control durante edición

Para evitar la aplicación de valores por defecto de los campos durante la edición de un registro, se deberá establecer una variable de TempData en el controlador MVC cuya clave está en el módulo FormState y su valor será Edit cuando corresponda la edición. Ejemplo:

TempData.Add(FormState.SessionKey, FormState.Edit)


Conceptos y diseño básico – Especificación escrita

Introducción

El objetivo de S2 Mobile Framework es extender los conceptos arquitectónicos y funcionales implementados en S2 Framework (backend) a dispositivos móviles a través de aplicaciones híbridas (HTML5+JS).

El presente documento tiene como objetivo detallas los conceptos básicos del diseño de S2 Framework. Se incluyen vocabularios específicos de la solución y su definición.

Componentes básicos

  • Core: contiene las funcionalidades principales relacionadas a infraestructura de la aplicación. Entre ellas se encuentran: HTTP, para acceso a la API REST expuesta por el backend; Data, para el manejo de datos de forma local y soporte de uso de la aplicación de forma desconectada (offline) y uso de rangos sobre las consultas al servidor; Security, para obtener la configuración de seguridad de la aplicación referente a visibilidad de campos, valores por defecto, ejecución de acciones; Workflow, para el consumo de los servicios de cambios de estados y ejecución de flujos de procesos.
  • UI: este módulo contiene los componentes utilizados para el armado de las interfaces gráficas de aplicaciones móviles derivadas del framework. Encontramos dos componentes principales: Explorer, el cual es utilizado para el armado de pantallas de consultas. Dicho componente integra diferentes formatos de la información: listado, calendario, mapa con geolocalización y galería de imágenes; Form, el cual encapsula el funcionamiento común a todos los formularios que se desarrollarán en la aplicación, incluyendo validaciones, estructura del modelo de datos y definiciones relacionadas al estilo de la aplicación.

Tecnologías utilizadas

S2 Mobile Framework se encuentra basado en tecnologías HTML5 y Javascript.

El desarrollo del mismo se realiza en un entorno cloud denominado Monaca, el cual provee a los desarrolladores un IDE online totalmente web el cual incluye control de versión, compilación y vista previa de la aplicación.


Configurar HTTPs en Azure usando StartSSL

Más en: The complete guide to loading a free SSL certificate into an Azure website

Comenzaremos el proceso suponiendo que:

  • El sitio web ya está online en Azure.
  • Ya se configuró un dominio personalizado en el sitio web.
  • Se utilizará un usuario que ya se registró en la página StartSSL.
  • Tener instalado OpenSSL en Windows (Win64OpenSSL 1.0.2h)
  1. En el panel de control, seleccionar la solapa “Validations Wizard”.
  2. Elegir la opición “Domain Validation” y presionar “Continue”.
  3. Colocar el dominio en cuestión y presionar “Continue”.
  4. Si el dominio no se encuentra validado, aparecerán múltiples opciones  de validación:
    • Si tenemos posibilidad de acceder al hosting onde está la aplicación, es conveniente usar el método “website control validation”.
    • Si aparece un email válido para la verificación, seleccionaremos dicho email y presionamos “Send Verification Code”.
    • NOTA: éste proceso será opcional, ya que si estamos instalando IGGLOBAL Online dentro de un subdominio de un cliente, será dicho cliente quien envíe el PFX para configurar HTTPS en el sitio.
  5. Tras realizar la validación, presionar el botón “To ORder SSL Certificate”
  6. En el recuadro con el título “Please enter the full hostname for SSL certificate” colocar el dominio personalizado del sitio web. Ejemplo: igglobal.baseglobal.com.ar
  7. En el recuadro con el título “Please submit your Certificate Signing Request (CSR)” seleccionar la opción “Generated by Myself”.
  8. Correr el comando OpenSSL que está en pantalla.
  9. IMPORTANTE: DE ÉSTA MANERA SE ESTARÁ GENERANDO UN NUEVO SET DE CLAVES PUBLICA/PRIVADA. NO PERDER LA PASSWORD INGRESADA DURANTE EL PROCESO.
  10. Copiar todo el contenido del archivo *.csr generado dentro del campo en pantalla y presionar “Submit”.
  11. Luego ir a la opción “Certificate List”, buscar el certificado deseado y presionar el botón “Retrieve”.
  12. Se descargará un archivo ZIP con los certificados para cada tipo de servidor. Continuaremos con los correspondientes a IIS.
  13. Se deberá generar un archivo PEM cuyo contenido será: el contenido del archivo nombrededominio.crt y debajo el contenido del archivo intermediate.crt. Asegúrese de incluir las etiquetas del BEGIN CERTFICATE y END CERTIFICATE de cada certificado. El resultado debe ser similar a este:—– BEGIN CERTIFICATE —–
    (El certificado Primario: nombrededominio.crt)
    —– END CERTIFICATE —–
    —– BEGIN CERTIFICATE —–
    (El certificado intermedio: Intermediate.crt)
    —– END CERTIFICATE —–
  14. Guardar el archivo con extensión .PEM
  15. Copiar el contenido del archivo nombrededominio.crt y pegarlo en otro archivo. Guardar éste último como client.cer.
  16. Correr el comando OpenSSL para generar el archivo PFX: openssl.exe” pkcs12 -export -in public.cer -inkey nombre_ssl_key.key -certfile archivo.pem -out mycert.pfx
  17. Subir el archivo PFX a Azure y asignar el certificado al dominio en cuestión.

 

 


Nuevo proceso de actualización de IGGLOBAL

Desafíos

  • Minimizar tiempos del proceso actual de actualización de los componentes de IGGLOBAL.
  • Mejorar el proceso de distribución de versiones y cambios a los clientes que utilicen IGGLOBAL.
  • Generar la infraestructura necesaria para proveer una actualización OTA de los componentes de IGGLOBAL.
  • Minimizar complejidad, y por ende mitigar riesgos de fallos en el proceso de actualización.

Características

El diseño inicial del nuevo proceso de actualización consta de:

  • Un servidor centralizado que almacenará el paquete del update, el cual incluye: cambios en bases de datos, componentes ejecutables y nuevos recursos multimedia.
  • Un servicio de actualización automática instalado en todos los servidores de bases de datos de los clientes en modalidad “Hybrid” y “On-Premise”. En caso de los clientes en modalidad “Cloud”, la infraestructura del servicio es provista por BASE GLOBAL.

Arquitectura SaaS – Multi-Tenant para IGGLOBAL

Objetivos

El presente proyecto tiene como objetivo extender la arquitectura actual de IGGLOBAL para tener la posibilidad de entregar el software en la modalidad SaaS (Software as a Service).

Dentro de las modificaciones a realizar se deberán tener en cuenta los siguientes requerimientos:

  • Los clientes del servicio podrán optar por ubicar físicamente la base de datos de la empresa (IGGLOBAL EDB) en servidores propios (on-premise) o bien alojarlos en algún proveedor de hoting/cloud.
  • Deberá darse soporte de multi-tenancy a todas las aplicaciones móviles de IGGLOBAL.
  • Se deberá poder llevar el control de acceso al servicio desde el departamento de implementación de BASE GLOBAL.
  • Será necesario optimizar y automatizar las rutinas de actualización de los componentes del software, de forma centralizada y transparente al cliente.

Implementación

Actualmente se están realizando los primeros diseños y pruebas del proyecto, las cuales implican cambios en las bases de datos existentes del sistema, generación de servicios autónomos que se instalarán en los servidores de los clientes y los ajustes a las arquitecturas de las aplicaciones.

A su vez, se están evaluando los beneficios y posibles desafíos de implementar ésta arquitectura.

Estado: En Proceso


Integración con centrales telefónicas IP DENWA

Relevamiento

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Integración-IGGLOBAL-Denwa-1.pdf” download=”all”]

Documentación API DENWA

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Contact-Center-WebServices-Schema-1.pdf” download=”all”]

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Contact-Center-REST-API-1.pdf” download=”all”]

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Contact-Center-Rest-Api-Examples-1-1.pdf” download=”all”]