Instructions de sécurité de Bot Framework
S'APPLIQUE À : SDK v4
Les bots sont de plus en plus courants dans les domaines d’activités clés tels que les services financiers, la vente au détail, les voyages, etc. Un bot peut collecter des données très sensibles, telles que des cartes de crédit, le numéro de sécurité sociale, des numéros de comptes bancaires et d'autres informations personnelles. Il est donc important que les bots soient sécurisés et protègent contre les menaces et vulnérabilités courantes.
Vous pouvez prendre des mesures préventives standard pour améliorer la sécurité de votre bot. Certaines mesures de sécurité sont similaires à celles utilisées dans d'autres systèmes logiciels, tandis que certaines sont spécifiques à Bot Framework. Pour ce dernier, reportez-vous au Azure Security Benchmark. Le point de référence formule des recommandations sur la façon dont vous pouvez sécuriser vos solutions cloud sur Azure.
Problèmes de sécurité en un mot
Le présent article regroupe les problèmes de sécurité dans 2 catégories :
Menaces : les tactiques que quelqu'un peut utiliser pour compromettre votre bot, comme l'usurpation, la falsification, la divulgation d'informations, le refus de service, etc.
Vulnérabilités : les méthodes utilisées par votre bot ou la gestion de votre bot pour se protéger contre de telles tactiques, notamment les bogues ou le manque de rigueur en matière de sécurité.
La réduction de vos vulnérabilités est un bon moyen d'atténuer les menaces, et une méthode connue pour réduire les vulnérabilités consiste à implémenter des points de vérification de sécurité dans le processus de développement et de déploiement.
Recommandations courantes en matière de sécurité
Les domaines suivants sont couverts par les meilleures pratiques de sécurité standard communes aux applications.
Sécurisation du trafic réseau
Il existe des protocoles qui prévoient des contrôles cryptographiques pour lutter contre la falsification et la divulgation des données pendant la transmission. À cet égard, les bots ne devraient communiquer que sur des canaux sécurisés.
Pour échanger des données sur le réseau, n'importe quel système sécurisé doit utiliser le protocole HTTPS, qui transfère les données via HTTP dans des connexions chiffrées protégées par protocole TLS(TLS) ou SSL (Secure Sockets Layer). Consultez aussi RFC 2818 - HTTP sur TLS.
Remarque
Tous les canaux du service bot nécessitent HTTPS et TLS 1.2.
Autodestruction des messages
Supprimez définitivement toutes les données sensibles dès qu'elles ne sont plus nécessaires, généralement après la fin de l'échange de messages ou après un certain temps. Cela peut inclure des informations personnelles identifiantes, des identifiants, des CODES CONFIDENTIELS, des mots de passe, des questions de sécurité et des réponses, et ainsi de suite.
Stockage des données
La meilleure pratique consiste à stocker les informations dans un état sécurisé pendant un certain temps, puis à les éliminer une fois qu'elles ont rempli leur fonction.
Certaines techniques de sécurité courantes sont répertoriées ci-dessous.
Pare-feu de base de données
- Les pare-feu refusent l'accès au trafic par défaut. Le seul trafic autorisé doit provenir d'applications ou de serveurs web spécifiques qui doivent accéder aux données.
- Vous devez également déployer un Web Application Firewall. Cela est dû au fait que des attaques comme celles par injection de code SQL dirigées vers une application web peuvent être utilisées pour exfiltrer ou supprimer des données de la base de données.
Sécurisation renforcée de la base de données
- Vérifiez que la base de données est toujours prise en charge par le fournisseur et que vous exécutez la dernière version de la base de données avec tous les correctifs de sécurité installés pour supprimer les vulnérabilités connues.
- Désinstallez ou désactivez les fonctionnalités ou services dont vous n'avez pas besoin et veillez à modifier les mots de passe des comptes par défaut de leurs valeurs par défaut ; ou mieux, supprimez les comptes par défaut dont vous n'avez pas besoin.
- Assurez-vous que tous les contrôles de sécurité de base de données fournis par la base de données sont activés, sauf s'il existe une raison spécifique pour laquelle les contrôles de sécurité de la base de données doivent être désactivés.
Limitez les informations précieuses
- Assurez-vous que vous ne stockez pas d'informations confidentielles qui n'ont pas besoin d'être dans la base de données.
- Les données conservées à des fins de conformité ou à d'autres fins peuvent être déplacées vers un stockage plus sécurisé, peut-être hors connexion, ce qui est moins vulnérable aux menaces de sécurité de base de données.
- Veillez à supprimer tous les fichiers d'historique écrits par un serveur pendant la procédure d'installation d'origine. Si l'installation réussit, ces fichiers n'ont pas de valeur. Toutefois, ils peuvent contenir des informations qui peuvent potentiellement être exploitées.
Education
Les bots fournissent un outil d'interaction innovant entre une entreprise et ses locataires. Ils pourraient cependant fournir une porte dérobée pour falsifier le site web d'une entreprise. Par conséquent, une entreprise doit s'assurer que ses développeurs comprennent l'importance de la sécurité des bots dans le cadre de la sécurité du site web. En outre, les erreurs des utilisateurs peuvent également constituer un problème. Cela nécessite une formation sur la façon dont les bots peuvent être utilisés en toute sécurité, par exemple :
- Pour les développeurs, une stratégie doit inclure une formation interne sur la façon d'utiliser le bot en toute sécurité.
- Les locataires peuvent recevoir des recommandations qui précisent comment interagir avec le bot en toute sécurité.
Recommandations en matière de sécurité spécifiques au bot
Les domaines suivants sont couverts par certaines bonnes pratiques de sécurité standard pour les applications Bot Framework. Les recommandations suivantes décrivent les meilleures pratiques de sécurité bot Framework. Pour plus d'informations, consultez la FAQ sur la sécurité et la confidentialité.
Authentification du connecteur bot
Le service Bot Connector utilise en mode natif HTTPS pour échanger des messages entre un bot et des canaux (utilisateurs). Le kit de développement logiciel (SDK) Bot Framework automatise l'authentification de base de bot à canal pour vous.
Avertissement
Si vous créez votre propre code d'authentification, il est essentiel que vous appliquiez correctement toutes les procédures de sécurité. En appliquant toutes les étapes décrites dans cet article Authentication, vous pouvez réduire le risque qu'un pirate puisse lire les messages envoyés à votre robot, envoyer des messages qui usurpent l'identité de votre robot et voler des clés secrètes.
Authentification utilisateur
L'authentification Azure AI Bot Service vous permet d'authentifier les utilisateurs auprès de divers fournisseurs d'identité tels que Microsoft Entra ID, GitHub, Uber, etc. et d'obtenir des jetons d'accès auprès d'eux. Vous pouvez également configurer l’authentification pour un fournisseur d’identité OAuth2 personnalisé. Tout cela vous permet d’écrire une partie de code d’authentification utilisable dans tous les fournisseurs d’identité et canaux pris en charge. Pour utiliser ces fonctionnalités, vous devez effectuer les étapes suivantes :
- Configurez
settings
de manière statique sur votre bot qui contient les détails de l’inscription de votre application auprès d’un fournisseur d’identité. - Utilisez un
OAuthCard
, basé sur les informations sur l’application que vous avez fournies à l’étape précédente, pour connecter un utilisateur. - Récupérez les jetons d'accès via l'API du service Azure AI Bot. Une bonne pratique consiste à placer une limite de temps sur la durée pendant laquelle un utilisateur authentifié peut rester connecté.
Pour plus d'informations, consultez l'article Authentification de l'utilisateur.
Chat Web
Lorsque vous utilisez le contrôle Chat Web, vous devez garder à l'esprit quelques considérations de sécurité importantes sur l'usurpation d'identité et l'usurpation d'identité. Pour plus d'informations, consultez l'authentification améliorée Direct Line.
Informations supplémentaires
- Authentification utilisateur
- Ajoutez l'authentification à votre bot via Azure AI Bot Service
- Activez la sécurité et tester le bot sur localhost
- Secrets et jetons
- Technologies d'authentification
- Fonctionnalités d'authentification Direct Line améliorées
- Recommandations de sécurité dans Azure Security Center
- Protection contre les menaces dans Azure Security Center
- Sécurité des données Azure Security Center
- Sécurité des conteneurs dans Security Center