ArcGIS Server est fourni avec 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, nous vous recommandons de configurer ArcGIS Server et ArcGIS Web Adaptor (le cas échéant) pour la mise en place du chiffrement SSL. |
SS02 | Critical | Requêtes standardisées | Détermine si les requêtes standardisées sont appliquées. Pour offrir une protection contre les attaques par injection de code SQL, il est essentiel que cette option soit activée. |
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 envoyées dans l'URL et peuvent être capturées et affichées via l'historique du navigateur ou les 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 exposées via l'historique du navigateur ou 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 des champs en entrée, ce qui expose le service à des attaques par exécution de scripts de site à site (XSS) 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 du système | Détermine si des autorisations autres que par défaut sont appliquées à un service du dossier System dans ArcGIS Server Manager. Par défaut seuls les administrateurs et les éditeurs ont accès aux services dans le dossier System ; aucun rôle ne devrait être affecté. |
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 | Limites entre domaines | Détermine si les requêtes entre domaines sont limitées à des domaines spécifiques. Pour réduire la possibilité d'une application inconnue qui envoie des commandes malveillantes à vos services Web, il est recommandé de limiter l'utilisation de vos services à des applications hébergées uniquement par des domaines que vous approuvez. |
SS09 | Important | Espace de travail dynamique | Génère une liste de services dans lesquels la base de données est accessible via un espace de travail dynamique. Sauf en cas de protection appropriée, ceci 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 | ArcGIS Web Adaptor via HTTPS | Détermine si une ou plusieurs instances d'ArcGIS Web Adaptor sont inscrites via HTTPS. Pour autoriser le gestionnaire ArcGIS Server à rediriger vers HTTPS, toutes les instances d'ArcGIS Web Adaptor doivent être inscrites via HTTPS. |
SS11 | Recommended | Désactiver un compte PSA | Détermine si le compte d'administrateur de site principal est activé. Il est recommandé de désactiver ce compte pour garantir que le groupe ou rôle que vous avez indiqué dans votre magasin d'identifiants 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, détermine si la communication chiffrée est employée. Pour garantir 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 définie pour les configurations du magasin d’utilisateurs LDAP et du magasin de rôles LDAP (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 d’autre comportement inattendu de la part de clients qui communiquent avec ArcGIS Server, il est conseillé d’importer et d’utiliser un certificat SSL signé par une autorité de certification lié au port 6443. |
SS15 | Critical | Partage des services du système | Détermine si l’un des services du dossier System a été partagé en tant qu’élément du portail. Ces services ne sont pas conçus pour être partagés via un portail, ce qui permet de garantir les autorisations adéquates. Il est conseillé de supprimer l’élément de portail associé pour restaurer les autorisations des services par défaut. |
Le script serverscan se situe 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 pouvez spécifier des paramètres lors de l'exécution du script.
paramètres serverScan.py
Paramètre | Description |
---|---|
-n | Le nom de domaine complet de la machine sur laquelle Server est installé (par exemple : gisserver.domain.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 du portail est généré pour un serveur fédéré, le nom de domaine complet du serveur analysé doit être saisi dans le champ « URL de l'application Web ». Si un jeton est généré pour un serveur non fédéré, il doit être généré via le répertoire administrateur (arcgis/admin/generateToken) et le client doit être « Demande d’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 reconnait pas l’émetteur du certificat, l’exécution du 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.domain.com -u admin -p my.password -o C:\Temp
Si le script serverScan.py est exécuté sans qu'aucun paramètre soit spécifié, 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 qui ont été 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.
Vous avez un commentaire à formuler concernant cette rubrique ?