Refuerzos de seguridad opcionales

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automation Server > Automation Server - configuración y administración > Configuración del proyecto inicial > Prácticas recomendadas en el ambiente de producción > Refuerzo de seguridad >

Refuerzos de seguridad opcionales

Introducción

Esta sección presenta recomendaciones de seguridad opcionales para aplicar en el Portal de Trabajo de Bizagi que son relevantes para la configuración de Bizagi (endurecimiento de la aplicación).

 

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.

 

Estas son recomendaciones opcionales que se aplican a sus entornos de prueba o preproducción (cuando usa uno), así como a los entornos de producción. Esta sección tiene las siguientes recomendaciones:

 

Incluir protección adicional en los servicios web de Bizagi

Eliminar carpetas no utilizadas en el entorno de producción

Reescribir valores en variables de servidor

Personalizar la forma de preferencias de usuario

Cifrado de atributos en base de datos

 

Para obtener más información sobre el alcance de estas recomendaciones u otras recomendaciones, consulte Recomendaciones de configuración de seguridad.

 

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 separarlos, 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).

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_SOAP01

 

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 (especifique Deny para el acceso no especificado):

 

SecurityS_SOAP04

 

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

 

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).

 

Reescritura de valores en variables del servidor

Se recomienda configurar reglas que sobrescriban ciertos valores que puedan divulgar información del servidor (se mitiga la vulnerabilidad conocida como fuga de información).

Los valores que contienen información del servidor del IIS van por defecto en estas variables: RESPONSE_SERVER, RESPONSE_X-ASPNET-VERSION, y RESPONSE_X-POWERED-BY.

 

note_pin

Para algunos de los pasos descritos a continuación, debe asegurarse de haber instalado el módulo URL Rewrite para el IIS.

Este módulo en su versión 2.0 (para versiones de IIS 7, 7.5 y 8), se puede descargar directamente desde http://www.iis.net/downloads/microsoft/url-rewrite.

 

Para sobrescribir sus valores, realice lo siguiente:

 

Utilice la opción de URL Rewrite en el Portal de Trabajo de Bizagi (a nivel de la ubicación del sitio), y dé clic sobre View Server variables para asegurarse de tener las 3 variables que se van a sobrescribir.

 

Si la opción no está disponible en IIS, debe instalarla. Consulte la reescritura de URL.

 

SecurityS_Rewritevars01

 

Utilice la opción de Adicionar 3 veces, para incluir estas variables una por una. Al final el listado deberá verse como se enseña:

 

SecurityS_Rewritevars02

 

Seguidamente retorne a URL Rewrite (p.e dando clic sobre Back to rules) para adicionar las reglas de sobrescritura.

Para cada una de las tres variables (RESPONSE_SERVER, RESPONSE_X-ASPNET-VERSION, y RESPONSE_X-POWERED-BY), dé clic en Adicionar regla(s).. y seleccione el tipo de regla en blanco para salida de información (Outbound, blank rule):

 

SecurityS_Rewritevars03

 

Las propiedades de la regla serán las siguientes:

Name (nombre): Nombre de la regla, a su elección.

Precondition (precondición): None.

Matching scope (scope al que aplica): Server variable.

Variable name (nombre de la variable): Ingrese para cada regla, una de las 3 variables a sobrescribirse (RESPONSE_SERVER, RESPONSE_X-ASPNET-VERSION, ó RESPONSE_X-POWERED-BY).

Variable value (valor de la variable): Matches the pattern.

Using (utiliza): Regular expression.

Pattern (patrón): .+

Ignore case (ignorar mayúsculas y minúsculas): On.

 

SecurityS_Rewritevars04

 

Action type (tipo de acción): rewrite

Value (valor): EMPTY.

Replace existing server variable value (reemplazar el valor existente de la variable): On

 

SecurityS_Rewritevars05

 

Al finalizar la creación de reglas, podrá ver que se listen las mismas para las tres variables:

 

SecurityS_Rewritevars06

 

De igual manera, con un navegador podrá hacer la inspección de los valores que envía el servidor para estas variables:

 

SecurityS_Rewritevars07

 

Personalizar el formulario de preferencias del usuario

Por defecto, los usuarios tienen acceso a las preferencias del usuario:

 

UserPreferences1

 

Este formulario incluye la función Delegado. Esta función enumera todos los usuarios en el Portal de Trabajo.

 

Security_11

 

Le recomendamos que edite el formulario de preferencias para ocultar la función delegada. Consulte el formulario de preferencias del usuario. Los usuarios delegados deben ser definidos por administradores o usuarios que tienen acceso al menú de administración, como se explica en Usuario delegado.

 

Cifrado de atributos de base de datos

Recomendamos utilizar la opción de cifrado de atributos para atributos críticos en su modelo de datos, por ejemplo, números de identificación. Consulte el cifrado de atributos de la base de datos.

 

Se recomienda utilizar la siguiente configuración en la configuración de su entorno:

 

Algoritmo de hash: SHA 256

Algoritmo de cifrado: AES 256