Skip to main content

Rechercher les pratiques conseillées en matière de sécurité pour ArcGIS Server

ArcGIS Server est accompagné d’un outil de script Python, serverScan.py, qui recherche les problèmes de sécurité les plus fréquents. L'outil recherche les problèmes en fonction de certaines pratiques conseillées en matière de configuration d'un environnement sécurisé pour ArcGIS Server. Il analyse de nombreux critères ou propriétés de configuration et les divise en trois niveaux de gravité : Critical, Important et Recommended. Les descriptions de ces critères sont les suivantes :

ID

Gravité

Propriété

Description

SS01

Critical

Communication Web

Détermine si le protocole HTTPS est activé pour ArcGIS Server. Afin d’empêcher l’interception de communications, il est recommandé de configurer ArcGIS Server et ArcGIS Web Adaptor (le cas échéant) pour la mise en œuvre du chiffrement SSL.

SS02

Critical

Requêtes standardisées

Détermine si les requêtes standardisées sont mises en œuvre. Pour mieux vous protéger contre les attaques par injection de code SQL, il est très important d’activer cette option.

SS03

Critical

Demandes de jetons

Détermine si les demandes de jetons générées via GET sont prises en charge. Lors de la génération de jetons via GET, les informations d’identification d’un utilisateur sont indiquées dans une URL et peuvent être recueillies et affichées dans l’historique d’un navigateur ou dans des journaux réseau. Cette fonctionnalité doit être désactivée sauf si elle est requise par d'autres applications.

SS04

Critical

Demandes de jetons

Détermine si les demandes de jetons générées via POST avec des informations d'identification dans le paramètre de requête sont prises en charge. Lors de la génération de jetons, les informations d'identification d'un utilisateur peuvent être indiquées dans l'URL et peuvent être affichées dans l'historique du navigateur ou dans des journaux réseau. Cette fonctionnalité doit être désactivée sauf si elle est requise par d'autres applications.

SS05

Critical

Filter web content activé

Génère une liste de services d’entités où la propriété filter web content est désactivée. La désactivation de cette propriété permet à un utilisateur de saisir du texte dans les champs en entrée, ce qui expose le service à des attaques XSS (Cross-Site Scripting) potentielles. Cette propriété est activée par défaut et ne doit pas être désactivée, sauf si des entités ou attributs HTML non pris en charge sont requis.

SS06

Critical

Autorisations des services système

Détermine si des permissions non par défaut sont appliquées à un service dans le dossier System (Système) dans Server Manager. Pour garantir que seuls les administrateurs et éditeurs ont accès aux services du dossier System (Système), aucun rôle ne doit être attribué.

SS07

Important

Répertoire des services REST

Détermine si le répertoire des services REST est accessible via un navigateur Web. Sauf si les utilisateurs s'en servent activement pour rechercher des services, cette fonctionnalité doit être désactivée pour limiter le risque que vos services soient explorés, repérés dans une recherche Web ou interrogés via des formulaires HTML. Vous renforcez ainsi également la protection contre les attaques par exécution de scripts de site à site (XSS).

SS08

Important

Limitations entre domaines

Détermine si les requêtes entre domaines sont limitées à des domaines spécifiques. Pour réduire la possibilité qu’une application inconnue envoie des commandes malveillantes à vos services Web, il est recommandé de restreindre l’utilisation de vos services aux applications hébergées uniquement dans des domaines de confiance.

SS09

Important

Espace de travail dynamique

Génère une liste de services dans lesquels la base de données est accessible par l’intermédiaire d’un espace de travail dynamique. En cas de protection inappropriée, cela peut exposer la base de données/l’espace de travail à un accès par des tiers malveillants via REST. Les espaces de travail dynamiques doivent être activés uniquement si le service et les fonctionnalités de couche/d'espace de travail dynamique sont conçus pour être activement utilisés dans une application Web. Dans ce cas, il est important de s'assurer que la connexion à une base de données utilisée par le service de carte pour se connecter à l'espace de travail/la base de données dispose des privilèges minimum requis pour l'application, par exemple, un accès en lecture seule uniquement aux tables supplémentaires qui sont requises au sein de l'espace de travail.

SS10

Recommended

Web Adaptor sur HTTPS

Détermine si une ou plusieurs instances Web Adaptor sont enregistrées sur HTTPS. Pour assurer la redirection de Server Manager vers HTTPS, toutes les instances Web Adaptor doivent être enregistrées via HTTPS.

SS11

Recommended

Désactiver le compte PSA

Détermine si le compte administrateur du site principal est activé. Il est recommandé de désactiver ce compte pour avoir la garantie que le groupe ou rôle que vous avez indiqué dans votre magasin d’identités constitue la seule et unique méthode pour administrer ArcGIS Server.

SS12

Recommended

Autorisations des services d'entités

Renvoie une liste de services d’entités dont les opérations update ou delete sont activées et ouvertes à l’accès anonyme. Cela permet de modifier ou de supprimer les données des services d'entités sans authentification.

SS13

Recommended

Magasin d’identités LDAP

Si ArcGIS Server est configuré avec un magasin d’identités LDAP, cela détermine si la communication chiffrée est utilisée. Pour assurer la communication chiffrée entre ArcGIS Server et le fournisseur d’identités LDAP, il est recommandé d’utiliser ldaps:// dans l’URL de connexion pour la configuration LDAP User Store et la configuration LDAP Role Store (le cas échéant).

SS14

Recommended

Certificat SSL du serveur

Détermine si un certificat auto-signé est utilisé par ArcGIS Server. Pour réduire les avertissements du navigateur Web ou tout autre comportement inattendu de la part de clients qui communiquent avec ArcGIS Server, il est recommandé d’importer et d’utiliser un certificat SSL signé par une autorité de certification lié au port 6443.

SS15

Critical

Partage de services système

Détermine si certains services du dossier System (Système) ont été partagés en tant qu’élément de portail. Pour garantir les autorisations appropriées, ces services ne sont pas destinés à être partagés via un portail. Il est recommandé de supprimer l’élément de portail associé pour restaurer les autorisations de service par défaut.

Le script serverscan se trouve dans le répertoire <ArcGIS Server installation location>/tools/admin. Exécutez le script à partir de la ligne de commande ou de l’interface de commande. Vous avez la possibilité de spécifier des paramètres lors de l'exécution du script.

Le script serverScan.py se trouve dans le répertoire <ArcGIS Server installation location>\tools\admin. Exécutez le script à partir de la ligne de commande ou de l’interface de commande. Vous avez la possibilité de spécifier des paramètres lors de l'exécution du script.

serverScan.py parameters

Paramètre

Description

-n

Nom de domaine complet de la machine sur laquelle Server est installé (c’est-à-dire gisserver.example.com). La valeur par défaut est le nom d'hôte de la machine sur laquelle le script est exécuté.

-u

Le nom d'utilisateur d'un compte d'administrateur.

-p

Le mot de passe d'un compte d'administrateur.

-o

Le répertoire dans lequel le rapport d'analyse de sécurité sera enregistré. Le répertoire par défaut est le dossier dans lequel vous exécutez le script.

-t

Un jeton peut être généré et utilisé à la place du nom d'utilisateur et du mot de passe. Si un jeton Portal est généré pour un serveur fédéré, le nom de domaine complet du serveur en cours d’analyse doit être saisi dans le champ Webapp URL. Si un jeton est généré pour un serveur non fédéré, il doit l’être par l’intermédiaire du répertoire administrateur (arcgis/admin/generateToken) et le client doit être 'Request IP'. Lorsqu'un jeton est fourni, il remplace le nom d'utilisateur ou le mot de passe indiqué.

--ignoressl

Désactive la vérification du certificat SSL. À partir de la version 10.7.1, le script essaiera par défaut de vérifier tous les certificats SSL. Si Python ne juge pas l’émetteur des certificats digne de confiance, le script échoue. Si besoin, le paramètre peut être défini de manière à ignorer tous les certificats.

-h ou -?

Génère une liste de paramètres qui peuvent être spécifiés lors de l'exécution du script.

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

Si le script serverScan.py est exécuté sans spécifier de paramètres, vous êtes invité à les saisir manuellement ou à sélectionner la valeur par défaut. Si vous souhaitez utiliser un jeton, il doit être fourni en tant que paramètre lors de l’exécution du script.

L’analyse génère un rapport au format HTML qui dresse la liste des problèmes ci-dessus détectés sur le site ArcGIS Server spécifié.

Par défaut, le rapport est enregistré dans le dossier dans lequel vous exécutez le script et se nomme serverScanReport_[hostname]_[date].html.