Skip To Content

Examinar las prácticas recomendadas de seguridad de ArcGIS Server

ArcGIS Server incorpora una herramienta de secuencia de comandos de Python, serverScan.py, que detecta algunos de los problemas de seguridad más habituales. La herramienta comprueba si hay problemas basándose en algunas de las prácticas recomendadas para configurar un entorno seguro para ArcGIS Server. Analiza doce criterios o propiedades de configuración y los divide en tres niveles de gravedad: Critical, Important y Recommended. Las descripciones de estos criterios son las siguientes:

Id.GravedadPropiedadDescripción

SS01

Critical

Comunicación web

Determina si HTTPS está habilitado para ArcGIS Server. Para impedir la interceptación de cualquier comunicación, se recomienda configurar ArcGIS Server y ArcGIS Web Adaptor (si se ha instalado) para que apliquen el cifrado SSL.

SS02

Critical

Consultas estandarizadas

Determina si se aplican las consultas estandarizadas. Es fundamental que esta opción esté habilitada para que proteja contra los ataques por inyección de SQL.

SS03

Critical

Solicitudes de token

Determina si las solicitudes de token generadas a través de GET son compatibles. Cuando se generan tokens a través de GET, las credenciales del usuario se envían como parte de la dirección URL y pueden capturarse y exponerse mediante el historial del navegador o los registros de la red. Esto debería deshabilitarse, salvo que se requiera para otras aplicaciones.

SS04

Critical

Solicitudes de token

Determina si se permite generar solicitudes de token con credenciales a través de POST en el parámetro de consulta. Al generar tokens, las credenciales del usuario se podrían proporcionar como parte de la dirección URL y podrían quedar expuestas mediante el historial del navegador o los registros de la red. Esto debería deshabilitarse, salvo que se requiera para otras aplicaciones.

SS05

Critical

Filter web content habilitado

Genera una lista de servicios de entidades donde la propiedad filter web content está deshabilitada. Deshabilitar esta propiedad permite al usuario introducir cualquier texto en los campos de entrada, lo que expone el servicio a posibles ataques de script de sitios cruzados (XSS). Esta propiedad está habilitada de manera predeterminada; a menos que se requieran entidades HTML o atributos no compatible, no debe deshabilitarse.

SS06

Critical

Permisos de la carpeta Sistema

Determina si los permisos no predeterminados se aplican a la carpeta Sistema en Server Manager. De manera predeterminada, solo los administradores y editores deben tener acceso a los servicios de la carpeta Sistema.

SS07

Important

Directorio de servicios REST

Determina si se puede acceder al directorio de los servicios REST mediante un navegador web. A menos que los usuarios lo utilicen activamente para buscar servicios, debe estar deshabilitado para reducir las posibilidades de que sus servicios se puedan buscar, encontrarse en una búsqueda web o hacer consultas en ellos a través de formularios HTML. Esto también proporciona mayor protección frente a ataques de script de sitios cruzados (XSS).

SS08

Important

Limitaciones de dominio cruzado

Determina si las solicitudes de dominio cruzado se limitan a dominios específicos. Para reducir la posibilidad de que una aplicación desconocida envíe comandos malintencionados a sus servicios web, se recomienda restringir el uso de sus servicios a aplicaciones alojadas únicamente en los dominios de su confianza.

SS09

Important

Espacio de trabajo dinámico

Genera una lista de servicios donde se puede acceder a la base de datos a través de un espacio de trabajo dinámico. A menos que estén adecuadamente protegidos, esto expone a la base de datos o al espacio de trabajo a que terceros malintencionados puedan tener acceso a través de REST. Los espacios de trabajo dinámicos deben habilitarse únicamente si el servicio y la capacidad de capa o espacio de trabajo dinámicos están diseñados para su uso activo en una aplicación web. En estos casos, es importante asegurarse de que la conexión de base de datos utilizada por el servicio de mapas para conectarse al espacio de trabajo o a la base de datos tiene al menos los privilegios necesarios para la aplicación, por ejemplo, el acceso de solo lectura exclusivamente a aquellas tablas adicionales del espacio de trabajo que se necesitan.

SS10

Recommended

Web Adaptor a través de HTTPS

Determina si uno o más Web Adaptors están registrados a través de HTTPS. Para facilitar que Server Manager se redirige correctamente a HTTPS, todos los Web Adaptors deben registrarse a través de HTTPS.

SS11

Recommended

Cuenta PSA deshabilitada

Determina si la cuenta del administrador del sitio principal está habilitada. Se recomienda deshabilitar esta cuenta para asegurarse de que hay otra forma de administrar ArcGIS Server aparte del grupo o rol especificado en el almacén de identidades.

SS12

Recommended

Permisos del servicio de entidades

Devuelve una lista de servicios de entidades que tienen las operaciones update o delete habilitadas y están abiertos al acceso anónimo. Esto permite cambiar o eliminar los datos de los servicios de entidades sin autenticación.

La serverScan.py secuencia de comandos se encuentra en el directorio <ArcGIS Server installation location>\tools\admin. Ejecute la secuencia de comandos desde la línea de comandos o shell. Al ejecutar la secuencia de comandos tiene la opción de especificar parámetros.

Parámetros de serverScan.py

Parámetro Descripción

-n

El nombre de dominio completo del equipo donde está instalado el servidor (por ejemplo, gisserver.domain.com). El valor predeterminado es el nombre de host del equipo donde se ejecuta la secuencia de comandos.

-u

El nombre de usuario de una cuenta de administrador.

-p

La contraseña de una cuenta de administrador.

-o

El directorio donde se puede guardar el informe de escaneado de seguridad. El directorio predeterminado es la misma carpeta donde ejecuta la secuencia de comandos.

-t

Se puede generar un token y utilizarlo en lugar del nombre de usuario y la contraseña. Si se genera un portal para un servidor federado, se debe introducir el nombre de dominio completo del servidor que se va a escanear en el campo 'Dirección URL de aplicación web'. Si se genera un token para un servidor no federado, el token se debe generar a través del directorio del administrador (arcgis/admin/generateToken) y el cliente debe ser 'IP de solicitud'. Cuando se proporciona un token, este invalida cualquier nombre de usuario o contraseña proporcionados.

-h o -?

Genera una lista de los parámetros que se pueden especificar al ejecutar la secuencia de comandos.

Ejemplo: python serverScan.py -n gisserver.domain.com -u admin -p my.password -o C:\Temp

Si la secuencia de comandos serverScan.py se ejecuta sin especificar parámetros, se le pedirá que los introduzca manualmente o que seleccione un valor predeterminado. Si desea utilizar un token, este se debe proporcionar como un parámetro al ejecutar la secuencia de comandos.

El análisis genera un informe con formato HTML en el que se muestra una lista de los problemas anteriores que se han encontrado en el sitio de ArcGIS Server.

De forma predeterminada, el informe se guarda en la misma carpeta donde ejecutó la secuencia de comandos y se llama serverScanReport_[hostname]_[date].html.