<< Clic para mostrar Tabla de Contenidos >> 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).
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):
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:
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:
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:
Dé clic en Ok para guardar la configuración.
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:
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):
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
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.
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.
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:
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):
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.
•Action type (tipo de acción): rewrite
•Value (valor): EMPTY.
•Replace existing server variable value (reemplazar el valor existente de la variable): On
Al finalizar la creación de reglas, podrá ver que se listen las mismas para las tres variables:
De igual manera, con un navegador podrá hacer la inspección de los valores que envía el servidor para estas variables:
Personalizar el formulario de preferencias del usuario
Por defecto, los usuarios tienen acceso a las preferencias del usuario:
Este formulario incluye la función Delegado. Esta función enumera todos los usuarios en el Portal de Trabajo.
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