Site icon Blog ARC Optimizer

Comment sécuriser l'interface utilisateur administrative de Sitefinity


CMS de Sitefinity est accessible en ajoutant / Sitefinity à l’URL du site Web Les utilisateurs sont ensuite tenus de fournir un nom d'utilisateur et un mot de passe valides pour accéder au système de gestion Sitefinity CMS Ces dernières années, le nombre de sites Web et de cyberattaques a augmenté, faisant de la sécurité un site hautement prioritaire dans l'agenda de toute entreprise. .

Cet article explique comment ajouter ext. ra couches de sécurité sur la page de connexion d’arrière-plan du CMS Sitefinity utilisant des fonctionnalités de sécurité prêtes à l'emploi et des mécanismes ASP.NET pour protéger votre site Web et ses données.

Configurer une stratégie de mot de passe fort

Il existe de nombreux outils bombardera un formulaire de connexion Web avec des variantes de mot de passe. Ces tentatives de connexion peuvent être diffusées aussi rapidement que le serveur Web peut les accepter. Après plusieurs heures (ou plusieurs jours), ces outils automatisés finissent par tomber sur un mot de passe valide.

La première ligne de défense contre ces attaques par mot de passe en force brute consiste à choisir un mot de passe raisonnable. Les attaques de dictionnaire supposent que le mot de passe est un mot valide ou un mot de passe commun. Par conséquent, les mots de passe contenant des mots courants sont beaucoup plus faciles à deviner.

Voici quelques recommandations très générales en matière de mots de passe:

  • Les mots de passe doivent comporter au moins 8 caractères de plus. Le plus long…
  • Les mots de passe doivent être composés de plusieurs cas
  • Les mots de passe doivent comporter un mélange de chiffres et de lettres [19659009] Les mots de passe ne doivent pas utiliser des mots courants

Un bon mot de passe rend difficile la possibilité de trébucher au hasard dans la bonne combinaison de chiffres et de lettres. La première étape que vous pouvez faire dans cette direction consiste à appliquer une stratégie de mot de passe fort pour les utilisateurs de votre site Web. Dans Sitefinity CMS, vous pouvez contrôler les paramètres de stratégie de mot de passe au niveau du fournisseur d'adhésion. Cela vous permet d'avoir différentes stratégies pour le fournisseur par défaut, votre fournisseur LDAP et tout autre fournisseur que vous avez configuré dans le système. Pour accéder à ces paramètres, accédez à l'interface utilisateur principale de Sitefinity et cliquez sur Administration -> Paramètres -> Avancé -> Sécurité -> Fournisseurs d'adhésion . Vous verrez une liste de fournisseurs d'adhésion que vous pouvez configurer. Développez le fournisseur d’appartenance souhaité (si vous n’avez ajouté aucun fournisseur ici, développez celui qui s'appelle “Par défaut”) et cliquez sur Paramètres .

Le menu Paramètres présente diverses options pour configurer la stratégie de mot de passe au niveau du fournisseur d'appartenance. Voici à quoi cela devrait ressembler:
sur StackOverflow est un bon début.

N'oubliez pas que lors de la création d'un nouvel utilisateur, Sitefinity CMS valide le mot de passe fourni dans l'ordre suivant: validation de la longueur du mot de passe (à l'aide de minRequiredPasswordLength) -> validation des caractères spéciaux (en fonction du paramètre minRequiredNonalphanumericCharacters) -> force du mot de passe (via le paramètre passwordStrengthRegularExpression). Si vous décidez d'utiliser une expression rationnelle, elle peut compléter les paramètres de longueur minimale du mot de passe et de décompte minimal de caractères spéciaux, ou les remplacer entièrement.

  • Stockez les mots de passe hachés! Sitefinity CMS prend en charge le stockage des mots de passe en format clair, crypté ou haché. Ceci est contrôlé via le paramètre passwordFormat . Vérifiez si elle est définie sur crypté. Il s’agit de la valeur par défaut fournie avec Sitefinity CMS, et vous devez vous y tenir, sauf si vous avez une bonne raison de ne pas utiliser l’algorithme de hachage pour sécuriser vos mots de passe.
  • Invalid Password Behavior

    Pour décourager davantage les attaques par force brute, le L'implémentation du fournisseur d'adhésion Sitefinity CMS (par défaut!) Verrouille temporairement les comptes pour lesquels trop de tentatives de mot de passe ont échoué. Par défaut, Sitefinity est configuré pour limiter le nombre de tentatives de mot de passe à 5. Le délai de verrouillage du compte est défini sur 10 minutes, période pendant laquelle l'utilisateur ne pourra pas se connecter, même s'il fournit le mot de passe correct. Ce comportement peut être ajusté à l'aide des propriétés maxInvalidPasswordAttempts et passwordAttemptWindow du fournisseur d'appartenance.

    Ajouter un certificat de signature de serveur pour IdentityServer

    Le système de gestion de contenu Sitefinity est livré avec une implémentation immédiate d'IdentityServer depuis la version 10.x. Cela a apporté beaucoup d'améliorations en termes de flexibilité et de sécurité en ce qui concerne la fonctionnalité d'authentification du produit. Par défaut, Sitefinity CMS utilise un certificat X.509 pour signer les jetons d’identité et d’accès JWT émis par IdentityServer. C’est formidable, car cela permet d’empêcher les pirates de modifier ou de contrefaire des jetons de sécurité afin d’obtenir un accès non autorisé aux ressources fédérées. Vous pouvez toutefois faire un effort supplémentaire et configurer votre site Web Sitefinity CMS pour utiliser votre propre certificat privé au lieu du certificat par défaut. Si vous utilisiez IdentityServer dans votre propre application Web ASP.NET, la définition du certificat de signature est effectuée via IdentityServerOptions à l'aide de la propriété SigningCertificate. Sitefinity CMS simplifie cette tâche en exposant une interface utilisateur de configuration dans laquelle vous pouvez spécifier directement le nom du magasin de certificats, l'emplacement du magasin et le nom du sujet. Pour plus d'informations, consultez la documentation du produit ici . Si vous utilisez déjà un certificat SSL pour votre site Web (bien sûr!), Vous pouvez configurer le même certificat pour IdentityServer. Sinon, vous devez en générer un nouveau. Consultez cet article de blog pour savoir comment créer un nouveau certificat à l'aide d'OpenSSL.

    Désactivez la saisie semi-automatique pour les entrées de la page de connexion

    La saisie semi-automatique peut s'avérer utile si vous êtes en développement et ne voulez plus vous rappeler le nom d'utilisateur et le mot de passe de l'utilisateur test que vous venez de créer. Une fois en production, il est préférable d’indiquer aux navigateurs de ne pas proposer l’option de saisie semi-automatique. La plupart des navigateurs modernes ne stockent pas les entrées pour les champs de type = mot de passe, ce qui est une bonne nouvelle. Cependant, le champ nom d'utilisateur peut toujours être une source de préoccupation. Bien qu’il ne s’agisse pas d’une information sensible en soi, un attaquant qui exploite une vulnérabilité de saisie semi-automatique sur la machine physique que l’utilisateur a utilisée pour se connecter peut commettre des violations de la confidentialité en collectant des noms d’utilisateur ou des adresses électroniques.

    Le système de gestion de site Sitefinity vous permet de personnaliser la page de connexion d’arrière-plan. Vous pouvez donc définir autocomplete = off pour le formulaire ou les champs de saisie. Jetez un coup d'œil à cet article de la Base de connaissances si vous utilisez l'authentification SWT, ou à celui-ci si vous utilisez OpenId – les deux répertorient les étapes nécessaires à la personnalisation du formulaire de connexion du backend .

    À la fin de la journée, que vous décidiez de désactiver la saisie semi-automatique ou non, cela dépend des préférences personnelles. Il convient de noter que la désactivation de la saisie semi-automatique peut empêcher le fonctionnement normal des gestionnaires de mots de passe, ce qui peut également poser un problème de sécurité.

    SSL pour la page de connexion

    Le fait de desservir votre CMS Sitefinity (ou, en fait, n'importe quel site Web) sous https: // vous rapproche encore plus d'une solution de navigation plus sécurisée pour vos utilisateurs. Après tout, cela devrait être l’objectif de tous. De plus, vous bénéficiez également d'un classement amélioré par Google en récompense de vos efforts altruistes:).

    Le système de gestion de site Sitefinity offre une grande souplesse en ce qui concerne l'application de SSL. Bien sûr, vous pouvez configurer la page de connexion du backend pour qu'elle soit explicitement servie sous https: //, mais pourquoi s'arrêter là? Vous pouvez configurer différentes zones du site Web pour qu'elles soient desservies sous SSL, l'intégralité de l'interface, du backend, etc. La méthode recommandée consiste toutefois à appliquer le protocole SSL à l’ensemble du site Web. Il est indispensable de tout servir sous https: //, surtout si vous faites du commerce électronique ou opérez dans le secteur de la santé. Quel que soit le scénario envisagé, consultez la documentation officielle pour savoir comment Configurer SSL pour obtenir votre scénario d'utilisation.

    Exploiter le module de sécurité Web

    Le CMS Sitefinity est livré avec un puissant module de sécurité Web. Il est livré avec des paramètres de sécurité ajustés, assurez-vous de l'utiliser. Le module Web Security a été introduit dans la version 11 et est activé par défaut. Si vous n'avez pas encore activé le module de sécurité pour vos projets mis à niveau, continuez ainsi . Il offre une protection avancée contre les XSS MITM contenus reniflant et de nombreux autres types d’attaques malveillantes. Si la sécurité de la page de connexion principale est sur votre radar, toutes les protections susmentionnées s’intègrent parfaitement. De plus, en utilisant le module Web Security, vous pouvez protéger votre site contre les attaques de clic par exemple un pirate qui restitue votre page de connexion d'arrière-plan dans une balise .

    Enfin, la version 11.1 de Sitefinity CMS est livrée avec amélioration de l'interface utilisateur du module de sécurité Web et ajout d'une validation de redirection protégeant votre site contre les attaques de redirection . Pensez à passer à cette version, car la protection de redirection ouverte ajoute une couche de sécurité supplémentaire à l'ensemble du site, page de connexion d'arrière-plan incluse. De cette façon, vous éviterez que les attaquants exploitent une vulnérabilité et redirigent les utilisateurs vers des sites Web tiers malveillants qui imitent souvent l'apparence et le nom de domaine du site Web d'origine, afin d'induire l'utilisateur en erreur en lui fournissant des informations sensibles.

    Restreindre l'accès à la connexion dorsale [19659023] Il est bon de se demander si tout le monde devrait vraiment pouvoir accéder à l'interface utilisateur administrative de votre site Web. La plupart du temps, la réponse à cette question est clairement «non». La modification des paramètres de votre site Sitefinity CMS ou l’utilisation du contenu du site Web sont des tâches généralement effectuées par des personnes spécifiques dans votre organisation. Ces modifications sont généralement effectuées à partir du réseau interne de votre organisation. Si cette configuration vous semble familière, vous devez envisager d'introduire une liste blanche IP dans IIS dans laquelle vous accordez uniquement l'accès à certaines adresses IP réseau à / Sitefinity.

    Ce paramètre est externe à CMS Sitefinity et est configuré au niveau IIS. Il est donc préférable d’implémenter cette tâche avec votre équipe d’administrateurs informatiques. Un détail important à prendre en compte est de ne bloquer que / Sitefinity. Dans le cas contraire, vous risqueriez de vous prendre une balle dans la jambe et de bloquer diverses ressources publiques telles que les services Web, la page d'état du système, etc. Lors de la configuration de la règle de liste blanche IP, veillez à exclure les modèles. comme / Sitefinity / Public / Sitefinity / statut et / Sitefinity / WebsiteTemplates . Par exemple, votre règle de regex IIS doit ressembler à ceci: ((^ Sitefinity $) | (^ Sitefinity ((?! – | / Public | / status | / WebsiteTemplates).))) . Pour vous donner un exemple d'application de cette restriction dans IIS, vous pouvez consulter cet article de blog de SecureAuth.

    Limiter l’accès à l’interface utilisateur dorsale

    Si vous suivez les meilleures pratiques, il est fort probable que le processus CI / CD ait été appliqué à votre site Web. Si la sécurité de la page de connexion principale est une préoccupation, une implémentation de processus CI / CD suppose que vous ne réalisez pas en effectuant des modifications de contenu ou des modifications de configuration sur le site actif. Ces modifications doivent avoir lieu dans l'environnement de transfert et se propager via le déploiement et la réplication SiteSync ou la base de données.

    Cela était un peu long à dire – le meilleur moyen de sécuriser l'interface utilisateur administrative de Sitefinity CMS est de le désactiver sur le site en direct . Sitefinity CMS offre un mécanisme centralisé permettant de contrôler si l’interface utilisateur principale est disponible sur une instance de site Web ou non. Il s'agit d'un mécanisme de sécurité avancé couvrant non seulement la page de connexion du serveur principal / Sitefinity mais également tous les itinéraires, boîtes de dialogue, etc. Lisez la documentation du produit pour savoir comment configurer ce paramètre. Bien entendu, une fois désactivé, le seul moyen de réactiver l'interface utilisateur principale serait de modifier la configuration et de la déployer. Si vous devez disposer d'un mécanisme de sécurité pour appliquer des modifications de contenu d'urgence (et qu'il est judicieux de le prendre en compte pour plus de tranquillité d'esprit), il est préférable d'envisager d'exécuter votre site en direct sur plusieurs nœuds à charge équilibrée qui se connectent à la base de données en direct. . Dans une telle configuration, le backend peut être désactivé sur tous les nœuds de site actifs, à l'exception d'un nœud pouvant résider sur votre réseau interne et être utilisé pour la modification de contenu d'urgence.

    Suivi des accès administratifs à l'aide de la trace d'audit

    Le module de trace d'audit de CMS Sitefinity a été introduit dans la version 7.1 et facilite le suivi des modifications et des actions dans le système. Il aide à maintenir la transparence et la responsabilité dans les grandes équipes et organisations. Vous pouvez utiliser le module pour suivre les événements de connexion et de déconnexion d'utilisateur . Vous obtiendrez ainsi un aperçu complet de l'historique de connexion et détecterez tout comportement suspect. Le module Audit Trail a une intégration immédiate avec Elasticsearch et Kibana ce qui vous permet de bénéficier d'une interface utilisateur conviviale dotée de puissantes fonctionnalités de regroupement et de recherche lors de la réduction et de l'analyse de l'historique des événements de connexion et de déconnexion.

    Conclusion

    Dans la plupart des cas, les paramètres par défaut de Sitefinity, associés à un bon mot de passe, suffiront à décourager les attaquants. Toutefois, si cela ne fournit pas une protection suffisante, envisagez d'appliquer les étapes recommandées ci-dessus, dans la mesure où elles correspondent à votre scénario. Ainsi, vous pouvez avoir l'esprit tranquille en vous assurant que votre page de connexion au site principal de Sitefinity CMS est encore plus sécurisée. Et n'oubliez pas de vous tenir au courant des dernières tendances de l'industrie en matière de sécurité Web, car cela devrait figurer sur la liste des priorités de toutes les organisations.

    Si vous avez découvert des astuces ou des astuces supplémentaires, veuillez poster un message. commentaire ci-dessous.

    Note de la rédaction: ce poste a été mis à jour afin de refléter les pratiques de sécurité les plus récentes et les plus efficaces disponibles pour Sitefinity à la date de publication.




    Source link
    Quitter la version mobile