Portal for ArcGIS inclut un outil de script Python, portalScan.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 votre portail. Il analyse de nombreux critères ou propriétés de configuration et les divise en trois niveaux de gravité : critique, important et recommandé. Les descriptions de ces critères sont les suivantes :
ID | Gravité | Propriété | Description |
---|---|---|---|
PS01 | Critique | Restrictions de proxy | Détermine si la capacité de proxy du portail est restreinte. Par défaut, le serveur proxy du portail est ouvert à n'importe quelle URL. Afin de réduire les risques liés aux attaques par déni de service ou de fausse requête côté serveur, il est recommandé de restreindre la capacité de proxy du portail aux adresses Web approuvées. |
PS02 | Critique | Demandes de jetons | Détermine si les demandes de jetons générées avec des informations d’identification dans le paramètre de requête sont prises en charge. Si ces demandes 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 via l'historique du navigateur ou dans des journaux réseau. Il est conseillé de désactiver cette fonction sauf si elle est requise par d’autres applications. |
PS03 | Important | Répertoire des services du portail | Détermine si le répertoire des services du portail est accessible via un navigateur Web. Cette fonctionnalité doit être désactivée pour limiter le risque que vos éléments, services, cartes Web, groupes et autres ressources contenues sur le portail soient explorés, repérés dans une recherche Web ou interrogés via des formulaires HTML. |
PS04 | Important | Communication sécurisée | Détermine si le portail communique via HTTPS uniquement. Afin d'empêcher l'interception de communications au sein du portail, nous vous recommandons de configurer votre portail et le serveur Web hébergeant l'adaptateur Web pour la mise en place de SSL. |
PS05 | Recommandé | Connexion à un compte intégré | Détermine si les utilisateurs peuvent cliquer sur le bouton Create An Account (Créer un compte) sur la page de connexion du portail pour créer un compte de portail intégré. Si vous utilisez des comptes d’organisation ou souhaitez créer tous les comptes manuellement, désactivez cette option. |
PS06 | Recommandé | Accès anonyme | Détermine si l’accès anonyme est autorisé. Pour empêcher un utilisateur d'accéder à du contenu sans fournir au préalable des informations d'identification au portail, nous vous recommandons de configurer votre portail de manière à désactiver l'accès anonyme. |
PS07 | Recommandé | Magasin d’identités LDAP | Si le portail est configuré avec un magasin d’identifiants LDAP, cela détermine si la communication chiffrée est utilisée. Il est recommandé d’utiliser LDAPS dans les propriétés ldapURLForUsers et ldapURLForRoles répertoriées dans les paramètres de configuration du magasin d’utilisateurs et du magasin de groupes. |
PS08 | Recommandé | Certificat SSL du portail | Détermine si un certificat auto-signé est utilisé par le portail. Pour réduire les avertissements du navigateur Web ou tout autre comportement inattendu de la part de clients qui communiquent avec le portail, il est recommandé d’importer et d’utiliser un certificat SSL signé par une autorité de certification lié au port 7443. |
PS09 | Recommandé | Requêtes entre domaines | Détermine si les requêtes entre domaines (CORS) sont restreintes. Pour réduire la probabilité qu’une application inconnue accède à un élément de portail partagé, il est recommandé de restreindre les requêtes entre domaines aux applications hébergées uniquement dans des domaines approuvés. |
PS10 | Critique | URL administrative de serveur fédéré | Détermine si l’URL d’administrateur de votre serveur fédéré est accessible par le portail et si le certificat SSL utilisé dans cette URL est approuvé. Si l’URL est inaccessible ou si le certificat n’est pas approuvé, plusieurs fonctions et opérations du portail échoueront. |
PS11 | Recommandé | URL de services de serveur fédéré | Détermine si l’URL des services de votre serveur fédéré est accessible par le portail et si le certificat SSL utilisé dans cette URL est approuvé. Si l’URL est inaccessible ou si le certificat n’est pas approuvé, le portail fonctionnera toujours mais certaines opérations du portail échoueront. |
PS12 | Recommandé | Contenu public | Si le portail est configuré de sorte que les membres ne puissent pas partager le contenu publiquement, les éléments qui sont toujours partagés avec Everyone (Tout le monde) sont répertoriés. |
PS13 | Important | Paramètres de configuration SAML | Si le portail est configuré pour utiliser l’authentification SAML, cela détermine si les assertions chiffrées et des demandes signées sont activées. Si le fournisseur d’identité le permet, il est recommandé que vous configuriez le portail pour exiger des assertions chiffrées et des demandes signées. |
Le script portalScan.py est dans le répertoire <Portal for ArcGIS installation location>\tools\security. Exécutez le script à partir de la ligne de commande avec portalScan.bat, qui est dans le même répertoire. Vous avez la possibilité de spécifier un ou plusieurs paramètres lors de l’exécution du script.
paramètres portalScan.py
Le tableau suivant décrit les paramètres portalScan.py :
Paramètre | Description |
---|---|
-n | Le nom de domaine complet de la machine sur laquelle Portal for ArcGIS est installé (en d’autres termes, gisportal.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. Lorsque vous générez un jeton, portalScan doit être saisi dans le champ Webapp URL. Lorsqu'un jeton est fourni, il remplace le nom d'utilisateur ou le mot de passe indiqué. |
--ignoressl | Désactivez 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 (exécuté à partir de l’invite de commande avec le fichier en sortie enregistré dans C:\Temp) :portalScan -n portal.domain.com -u admin -p my.password -o C:\Temp
Si le script portalScan 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 avez l’intention d’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 dans le portail spécifié.
Par défaut, le rapport est enregistré dans le dossier dans lequel vous exécutez le script et se nomme portalScanReport_[hostname]_[date].html.
Vous avez un commentaire à formuler concernant cette rubrique ?