Renforcement de Server
Le renforcement de Server consiste à modifier la configuration du serveur au niveau des couches du réseau, du système d'exploitation et de l'application, afin de minimiser sa surface d'attaque et d'optimiser la résistance aux tentatives de pénétration. Suivez ces recommandations pour sécuriser le réseau et le système d'exploitation :
Installez la dernière version et le dernier correctif de Server.
Configurez Server pour le fonctionnement HTTPS à l'aide d'un certificat X.509 (TLS/SSL) signé par une autorité de certification. Accédez à Configurer SSL/TLS pour Server pour plus d'informations.
Renforcez et sécurisez le système d'exploitation et la base de données.
Consultez la page d'aide Gestion des utilisateurs et des groupes pour plus d'informations.
Suivez ces recommandations pour sécuriser l'application :
Consultez les procédures de renforcement de la configuration de l'application Web ci-dessous et appliquez celles qui sont pertinentes pour votre environnement et vos stratégies organisationnelles.
Consultez les procédures de renforcement de l'administration de Server ci-dessous et appliquez celles qui sont pertinentes pour votre environnement et vos stratégies organisationnelles.
Comptes anonymes et invités
Vous pouvez gérer les comptes anonymes et invités via les paramètres Administrateur. Nous vous recommandons de suivre les instructions ci-après :
Désactivez l'enregistrement des utilisateurs. Activez l'accès via l'authentification Windows (IWA) ou créez des comptes en tant qu'Administrateur.
Déterminez si les utilisateurs non enregistrés pourront exécuter des workflows Public Gallery.
Consultez la page d'aide Gestion des utilisateurs et des groupes pour plus d'informations.
Procédures de renforcement de l'administration de Server
Ces paramètres contrôlent le comportement de divers aspects de la fonctionnalité de Server liés aux autorisations et autres options qui peuvent affecter la posture de sécurité globale de l'application.
Le paramètre Mode d'exécution de la Galerie peut fournir des contrôles de sécurité améliorés sur l'exécution de workflows d'actions potentiellement malveillantes. Par défaut, le mode d'exécution de la Galerie est défini sur Sans restriction , ce qui signifie qu'il n'y a aucune restriction et que n'importe quel workflow peut s'exécuter. La configuration de ce paramètre sur Semi-sécurisé ou Sécurisé protège davantage l'environnement de Server en empêchant les workflows de lire ou d'écrire des données à un emplacement qui ne se trouve pas dans le répertoire intermédiaire du workflow, ou encore d'exécuter des workflows contenant des outils restreints. Il s'agit d'un paramètre global qui s'applique à l'ensemble de l'environnement de Server, mais les administrateurs peuvent le remplacer par des exceptions au niveau des workflows individuels. Consultez la page d'aide Interface utilisateur Server pour en savoir plus sur le mode d'exécution de la Galerie.
La page Paramètres comporte plusieurs paramètres accessibles aux utilisateurs connectés à Server avec des privilèges administrateur (Profil > Administrateur). Dans la section Paramètres utilisateur :
Définissez la liste déroulante Rôle par défaut sur « aucun accès » pour empêcher les utilisateurs qui peuvent se connecter en vertu d'un système d'authentification externe (SSO SAML ou authentification Windows intégrée) d'avoir un accès permettant l'affichage ou l'exécution par défaut dans Server. (Les utilisateurs doivent recevoir des autorisations explicites selon des critères qui vont au-delà de leur simple présence dans le domaine d'authentification externe.)
Désactivez le bouton bascule Les utilisateurs peuvent s'enregistrer pour empêcher les utilisateurs non enregistrés de s'inscrire à de nouveaux comptes (uniquement pour l'authentification intégrée ; Server ne peut pas ajouter de comptes à un système d'authentification externe).
Désactivez le bouton bascule Les utilisateurs non enregistrés peuvent exécuter des workflows publics sur la page d'accueil pour empêcher les clients anonymes d'exécuter des workflows publiés sur la page d'accueil.
Login Timeout
As of 22.1 you can configure login attempt timeouts by setting the Enforce Login Attempt Timeout switch (Admin > Settings > Configuration > Security Settings > Enforce Login Attempt Timeout).
Le processus d'attribution des droits utilisateur est géré par l'équipe d'administration de chaque client.
Les rôles incluent Visiteur, Créateur et Administrateur. Consultez la page d'aide Rôles et autorisations des utilisateurs pour en savoir plus sur les rôles et les autorisations.
Sécurité entre Server et la couche de persistance (MongoDB)
Les connexions entre Server et MongoDB sont sécurisées par les mesures suivantes :
Les connexions passent par le pilote client Mongo (par défaut, le trafic n'est pas chiffré).
Enterprise Mongo prend en charge TLS/SSL (voir https://docs.mongodb.com/v3.0/core/security-transport-encryption/ ), mais ces connexions ne sont pas prises en charge dans l'option MongoDB intégré fournie avec Server.
Si des connexions chiffrées à la base de données sont nécessaires, envisagez de passer à Mongo géré par l'utilisateur avec une installation Enterprise Mongo, ou encore au SaaS MongoDB Atlas.
Vous pouvez également installer le transfert de connexion SSH ou une connexion VPN entre les composants Alteryx Server et le serveur de base de données. Ce guide n'a pas pour objectif de détailler cette procédure.
Attaques POODLE
Alteryx Designer et Server prennent en charge TLS 1.2 depuis la version 11.5. Assurez-vous que les protocoles vulnérables sont désactivés dans Schannel si vous êtes concerné par les attaques POODLE.
Procédures de renforcement de la configuration de l'application Web
Ces paramètres affectent la façon dont l'interface graphique front-end de Server interagit avec les clients HTTP/S sur le réseau.
L'installation par défaut de Server utilise HTTP (non chiffré) pour simplifier l'installation et la configuration. Nous vous recommandons de déployer des certificats X.509 et d'activer le protocole SSL/TLS (HTTPS) de Server pour chiffrer la communication entre les clients et Server. Vous confirmerez ainsi l'identité de Server et protégerez l'intégrité et la confidentialité des sessions des utilisateurs. Vous devrez créer une demande de certificat X.509 (en spécifiant tous les noms d'hôte de type FQDN que les clients utiliseront pour parcourir votre Server) et faire signer cette demande par une autorité de certification approuvée par votre organisation. Consultez la section Configurer SSL/TLS pour Server pour en connaître les étapes.
L'en-tête de requête HTTP 'Host' est envoyé par un client HTTP. Elle contient le nom d'hôte Internet et le numéro de port auxquels le client a tenté de se connecter à l'origine.
Si vous êtes connecté à Server en tant qu'administrateur, vous pouvez spécifier les hôtes que Server peut servir dans le champ Hôtes autorisés , situé dans Administrateur > Paramètres > Configuration , dans la section Sécurité .
Utilisez cette fonctionnalité comme mesure de sécurité pour empêcher les attaques contre l'en-tête d'hôte HTTP. Saisissez les noms de domaine complets (
hôte.domaine
) à raison d'un par ligne. Consultez la page d'aide
Paramètres Alteryx Server
pour plus d'informations.
Les en-têtes de réponse HTTP sont envoyés par Server lorsque ce dernier répond aux requêtes. Vous pouvez définir des en-têtes personnalisés ou modifier les valeurs par défaut de Server pour les en-têtes existants en ajoutant des strophes à la section <HttpHeaders> de %ProgramFiles%\Alteryx\bin\server\config\alteryx.config.
Vous trouverez ci-dessous l'ensemble des en-têtes utilisés en interne pour renforcer Server en vue des tests de pénétration périodiques (partie de notre SDLC). Ils peuvent ne pas être compatibles avec tous les clients. En fonction des besoins et des stratégies de votre organisation, vous pouvez mettre à jour ou adapter certaines valeurs à votre environnement.
<httpHeaders> <header name="Cache-Control" value="no-store; max-age=0" /> <header name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" /> <header name="X-Content-Type-Options" value="nosniff" /> <header name="Content-Security-Policy" value="default-src 'self'; img-src 'self' data:; font-src 'self' data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; form-action 'self'" /> <header name="Access-Control-Allow-Origin" value="https://server.domain.tld" /> <header name="Vary" value="Origin" /> <header name="Referrer-Policy" value="no-referrer; strict-origin-when-cross-origin" /> </httpHeaders>