Recomendaciones intermedias

<< Click to Display Table of Contents >>

Navigation:  Bizagi Engine > Administración del Sistema Bizagi > Configuración del servidor Bizagi > Configuración de Bizagi Engine .NET > Recomendaciones de seguridad en la configuración >

Recomendaciones intermedias

Introducción

Esta sección presenta unas recomendaciones de seguridad para el Portal de trabajo de Bizagi, en cuanto a los aspectos relevantes de la configuración misma de Bizagi (hardening a nivel de aplicación).

 

Para llevar a cabo las recomendaciones de esta sección, usted debe haber llevado a cabo las recomendaciones presentadas en Recomendaciones básicas.

 

note_pin

Las recomendaciones presentadas a continuación aplican cuando Bizagi se ejecuta sobre una plataforma de .NET, de manera independiente a la versión del servidor Web IIS sobre el cuál se ejecute.

En esta sección se ilustra a manera de ejemplo la configuración específicamente sobre un servidor Web IIS versión 7.5, donde dichas configuraciones se realizan de acuerdo a las capacidades propias del IIS.

 

Recomendaciones intermedias

Esta configuración aplica también al ambiente de pruebas o de pre-producción (cuando se opta por utilizarlo).

 

note_pin

Para los pasos descritos a continuación, debe asegurarse de tener habilitado el componente del IIS llamado World Wide Services -> Security -> Basic Authentication, y también IP and Domain restrictions al realizar la instalación del IIS.

 

1. Configuración de cifrado de información usando HTTPS

Incluya el siguiente elemento en el archivo de configuración web.config de su Portal de trabajo (por defecto, ubicado en C:\Bizagi\Projects\[su_proyecto]\WebApplication\) para que las cookies queden cifradas al usarse HTTPS.

 

Incluya esta definición dentro del elemento <system.web>:

<httpCookies httpOnlyCookies="true" requireSSL="true" />

 

SecurityS_Webconfig01

 

Para verificar la correcta configuración, una vez autenticado en el Portal de trabajo, podrá usar la herramienta de su elección que le permita visualizar cómo son las cookies obtenidas (p.e través de las opciones de desarrollador de Google Chrome):

 

SecurityS_Cookies02

 

 

En el mismo archivo de configuración web.config de su Portal de trabajo, edite la definición del elemento <pages>, de manera que la variable ViewState quede cifrada siempre. Lo que se busca con esto es asegurar ese diccionario de información, como se indica en https://msdn.microsoft.com/en-us/library/ms178199(v=vs.85).aspx.

 

Para hacerlo, ubique el elemento pages que contiene:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />

Incluya el atributo y valor:

ViewStateEncryptionMode="Always"

 

SecurityS_Webconfig02

 

Guarde los cambios y cierre el archivo de configuración.

 

2. Protección adicional a los servicios web de Bizagi

Por defecto Bizagi incluye sus servicios web preconstruidos en la carpeta .\WebApplication\WebServices\ (por defecto, dentro de C:\Bizagi\[Bizagi_edition]\Projects\[su_proyecto]\).

Bizagi incluye 2 tipos de servicios web en esta ruta: los que son una API orientados al negocio, y los que son proveen funcionalidad de Bizagi netamente para uso interno.

 

Se recomienda enfáticamente que se provea una capa de seguridad adicional en estos, de manera que se restringa su acceso mediante el uso de carpetas separadas para cada tipo de servicio web.

Podrá incluso dejar totalmente restringido el acceso a los servicios web orientados al negocio en caso de que su proyecto no los necesite usar.

A pesar de que se recomiende el uso de HTTPS, también se debe explícitamente configurar la carpeta y acceso de los servicios Web con las medidas que se describen en la siguiente tabla.

 

Tipo de servicio

Acciones

Servicios web internos de Bizagi

Definir una lista autorizada de direcciones IP (IP whitelist), la cual en este caso solo contiene la dirección local del mismo servidor de Bizagi, ya que será el único usando el servicio de manera interna.

 

Servicios web del API de Bizagi (orientados al negocio)

Definir una lista autorizada de direcciones IP (IP whitelist), la cual en este caso comprende las direcciones IP (o rango de direcciones) consideradas por la aplicación externa desde donde se vaya a invocar a Bizagi.

Configurar la autenticación básica para acceder a esos servicios web que van a ser invocados por aplicaciones externas (de manera que estas aplicaciones externas deban autenticarse antes de invocar servicios en Bizagi).

 

Para llevar a cabo lo anterior, siga estos pasos:

 

Separar los servicios Web

Primero deberá separar aquellos servicios internos usados por Bizagi, de los que proveen capacidades de integración.

Los servicios Web que se usan por Bizagi son: Cache.asmx, WFEQuery.asmx yWFAsynch.asmx.

 

Para separalos, cree una nueva carpeta en la estructura de la aplicación Web del Portal de trabajo (por defecto en C:\Bizagi\[Bizagi_edition]\Projects\[su_proyecto]\WebApplication\).

Podrá nombrar esta carpeta como SOAPservices (o un nombre de su elección):

 

SecurityS_SOAP00

 

Mueva todos los archivos ubicados en .\WebApplication\WebServices\, excepto Cache.asmx, WFEQuery.asmx y WFAsynch.asmx, hacia la nueva carpeta que ha creado en el paso anterior:

 

SecurityS_SOAP01

 

Una vez que haya movido los archivos, podrá verificar que solo Cache.asmx, WFEQuery.asmx y WFAsynch.asmx, se encuentren en la carpeta original .\WebApplication\WebServices\.

 

 

Asignar la autenticación básica para los servicios Web de integración

Configure en el IIS la autenticación básica para la carpeta .\WebApplication\SOAPservices\ que contiene los servicios web que otras aplicaciones podrán invocar (p.e, los servicios de WorkflowEngineSOA, EntityManagerSOA, QuerySOA, RenderSOA).

A través de esta configuración, los aplicativos externos que utilicen estos servicios deberán proporcionar credenciales válidas para la autenticación básica (usuario, contraseña).

 

Para hacerlo, habilite la opción Basic Authentication y deshabilite la opción que permite autenticación anónima (Anonymous authentication) para esa carpeta:

 

SecurityS_SOAP03

 

Seguidamente, asegúrese que los usuarios autorizados tengan privilegios sobre la carpeta física y su contenido (de acuerdo a los usuarios permitidos de su dominio).

Para este escenario, se deben otorgar permisos a la carpeta SOAPservices:

 

SecurityS_SOAP05

 

Dé clic en Ok para guardar la configuración.

 

note_pin

Recuerde que podrá incluso dejar totalmente restringido el acceso a los servicios web orientados al negocio (o eliminarlos), solo en caso de que su proyecto no los necesite usar.

Al utilizar autenticación básica o de otro tipo sobre estos servicios, deberá asegurarse que sus aplicativos que invoquen estos servicios consideren una autenticación previa.

 

Definir una lista autorizada de IP para acceder a los servicios

Asegúrese de configurar a nivel del IIS, que:

oLa carpeta .\WebApplication\WebServices\ que contiene los servicios provistos por Cache.asmx, WFEQuery.asmx y WFAsynch.asmx, sea accesible solo por direcciones IP permitidas (en este caso, únicamente por el servidor local).

oLa carpeta .\WebApplication\SOAPservices\ que contiene el API de los servicios orientados al negocio, sea accesible solo por direcciones IP permitidas (o rango de direcciones), en este caso, las asignadas a sus aplicaciones externas.

 

Para hacerlo, incluya de manera explícita las direcciones IP que pueden acceder a la carpeta (nótese que podrá especificar un dominio también), utilizando la opción de IP Address and Domain restrictions:

 

SecurityS_SOAP02

 

 

Para que la lista autorizada funcione, asegúrese de configurar que el manejo por defecto a las direcciones no-incluidas sea de carácter de negación de servicio (en edit feature settings, especifique Deny para el acceso no específicado):

 

SecurityS_SOAP04

 

Dé clic en Ok para guardar la configuración.

 

3. Eliminar las carpetas no utilizadas en producción

Se recomienda eliminar las carpetas cuyo uso está orientado a los ambientes de desarrollo.

Se busca evitar que se divulgue información del código (vulnerabilidad conocida como Source code leakage).

 

Usted podrá eliminar las siguientes carpetas ubicadas dentro de la carpeta de jQuery (por defecto en C:\Bizagi\Projects\[su_proyecto]\WebApplication\jquery):

automatictesting

editor

rendering

renderingflat

reporting

testmobility

workportal

workportalflat

 

SecurityS_RemoveFolders

 

Elimine también:

El archivo Readme.txt que se ubica en la carpeta de plantillas para desktop (por defecto en C:\Bizagi\Projects\[your_project]\WebApplication\jquery\overrides\templates\desktop\Readme.txt).

El archivo Login.aspx que se ubica en la carpeta Admin (por defecto en C:\Bizagi\Projects\[your_project]\WebApplication\Admin\Login.aspx).

 

 

Importante

Para Bizagi, la seguridad es un aspecto de crítica importancia.

Por ello, Bizagi libera periódicamente nuevas versiones las cuáles cuentan con múltiples mejoras, y fixes para problemas detectados en versiones anteriores.

Los fixes de problemas reportados podrán incluir soluciones definitivas a vulnerabilidades de seguridad.

 

Por lo tanto, se recomienda enfáticamente considerar la actualización periódica de su solución a las nuevas versiones de Bizagi, siguiendo siempre las directrices usuales en este procedimiento como lo son:

Planear, coordinar y probar adecuadamente dichas actualizaciones.

Apoyarse en los diferentes ambientes (desarrollo, pruebas, pre-producción cuando aplique, y producción).

Tomar las medidas de contingencia necesarias antes del procedimiento (p.e backups).

Evaluar las personalizaciones o configuraciones de seguridad como las listadas en esta sección, de forma que se tenga claro para los involucrados (stakeholders) que como parte del plan, hay aspectos que se deben re-configurar posterior a la actualización.

 

note_pin

Cuando se cuenta con personalizaciones o algunas de las configuraciones de seguridad de esta sección, una de estas 2 alternativas debe tomarse al momento de actualizar de versión de Bizagi:

 

1. Si se lleva a cabo por medio de Bizagi Management Console, usted deberá re-configurar y verificar que dicha configuración esté aplicada aún después de la actualización.

Nótese que por defecto, la actualización realizada por Bizagi Management Console no considera las modificaciones hechas a los archivos originales o la estructura de archivos (por lo que se sobreescriben cambios).

 

2. Podrá optar por llevar a cabo una actualización de versión manual a su vez (sin utilizar Bizagi Management Console).

De hacerlo así, asegúrese de considerar todos los componentes relevantes de la solución, para que pueda reemplazar los archivos nuevos del Portal de trabajo y del servicio Programador, mientras conserve las personalizaciones o configuraciones anteriores.

 

Para aspectos muy críticos de seguridad, Bizagi podrá considerar la emisión de hot fixes recomendados para aplicarse sin necesidad de esperar a una nueva versión.

 

note_pin

También es usual configurar el Portal de trabajo de Bizagi en un sitio web del IIS de su elección, y no necesariamente en el de por defecto (llamado Default Web site).

Esto obedece a una medida adicional de seguridad por oscuridad que usted puede llevar a cabo de manera enteramente opcional.

Para mayor información sobre esta posibilidad, consulte la Configuración del portal por fuera del sitio por defecto.

 

Para evaluar o considerar aspectos adicionales de hardening de aplicación, consulte las Recomendaciones avanzadas.