Lorsque ABBYY FlexiCapture 12 est déployé, les paramètres de sécurité IIS par défaut sont utilisés. Vous pouvez également définir des règles supplémentaires pour certaines requêtes afin de renforcer la sécurité de votre serveur web.
Content Security Policy (CSP) est une norme de sécurité utilisée par les navigateurs modernes pour se protéger contre les attaques par injection de données, telles que le cross-site scripting (XSS). CSP utilise une liste blanche pour déterminer quelles ressources peuvent être chargées en toute sécurité et ignore les sources non vérifiées. Elle consigne également toute tentative de contournement de la politique de sécurité.
Pour utiliser cette politique, fournissez au serveur un en-tête HTTP Content-Security-Policy avec une ou plusieurs directives. Chaque directive couvre un type de ressource spécifique. Les directives définissent une politique de sécurité en déclarant des règles pour les ressources.
Pour configurer CSP pour votre navigateur, ajoutez le code suivant dans votre fichier web.config :
Pour intégrer ABBYY FlexiCapture à des systèmes tiers nécessitant l’accès à d’autres hôtes, spécifiez ces hôtes dans le fichier web.config.
Vérifiez que le logiciel fonctionne toujours correctement chaque fois que vous modifiez un paramètre de configuration de sécurité.
Pour plus d’informations sur l’en-tête Content-Security-Policy, consultez ce site web.
HTTP Strict-Transport-Security (HSTS) limite chaque interaction entre le navigateur et le site web à une connexion SSL sécurisée. Un serveur web sur lequel HSTS est configuré contient une instruction indiquant au navigateur d’utiliser exclusivement HTTPS et lui interdit d’utiliser HTTP. HSTS est principalement utilisé pour se prémunir contre les attaques d’interception impliquant des requêtes et des réponses, par exemple les attaques MITM (Man-In-The-Middle).
Pour pouvoir utiliser cette politique de sécurité, vous devez utiliser des règles de réécriture d’URL pour ajouter un en-tête Strict-Transport-Security (STS) aux réponses HTTP. Cela est nécessaire pour empêcher les requêtes HTTP indésirables et rediriger tout le trafic HTTP vers HTTPS (selon la logique définie dans les règles). Pour configurer ces règles, vous devez installer le module URL Rewrite. Pour plus d’informations, consultez le site web de Microsoft.
Pour configurer HSTS pour votre navigateur, ajoutez le code suivant dans votre fichier web.config :
La directive max-age définit la durée, en secondes, pendant laquelle la règle s’applique. La valeur 31536000 correspond à un an.
Pour plus d’informations, consultez HSTS dans IIS 10 version 1709 dans la documentation Microsoft.
Les en-têtes X-Powered-By et X-AspNet-Version
Outre les en-têtes HTTP essentiels pour renforcer la sécurité de votre serveur web, il existe également des en-têtes facultatifs. Les en-têtes facultatifs ne sont souvent régis par aucune norme. Ils augmentent également le trafic généré par chaque requête HTTP, ce qui facilite les attaques malveillantes.
Voici deux de ces en-têtes facultatifs :
- X-Powered-By est un en-tête HTTP qui contient des informations sur diverses technologies utilisées par le serveur web.
- X-AspNet-Version est un en-tête HTTP qui contient des informations sur la version d’ASP.NET utilisée pour déployer des applications sur le serveur web.
Par défaut, les réponses du serveur incluent à la fois X-Powered-By et X-AspNet-Version. Désactivez-les. Les informations permettant d’identifier le serveur représentent une menace pour la sécurité.
Pour supprimer l’en-tête X-Powered-By de la configuration IIS, collez le code suivant dans votre fichier web.config :
Pour supprimer l’en-tête X-AspNet-Version de votre configuration IIS, collez le code suivant dans votre fichier web.config :
X-XSS-Protection est un en-tête HTTP utilisé par les navigateurs pour empêcher les attaques de type Cross-Site Scripting. Cet en-tête fonctionne en activant un filtre XSS, qui intercepte les tentatives indésirables d’insertion de code tiers malveillant dans des pages web ouvertes dans un navigateur.
X-XSS-Protection est compatible avec les navigateurs suivants : Internet Explorer 8+, Chrome et Safari. La plupart des navigateurs modernes appliquent une politique de sécurité plus stricte, telle que Content-Security-Policy. Cet en-tête n’est donc nécessaire que sur un ancien navigateur qui ne prend pas en charge CSP.
Pour activer l’en-tête X-XSS-Protection pour votre navigateur, copiez le code suivant dans votre fichier web.config :
X-Content-Type-Options est un en-tête HTTP que les navigateurs utilisent pour bloquer les attaques exploitant des vulnérabilités MIME (Multipurpose Internet Mail Extensions). MIME est une norme Internet pour le contenu transmis via une connexion Internet.
Les navigateurs traitent chaque fichier fourni par le serveur web en fonction de son type MIME. Ils déterminent le type de ressource à partir de l’en-tête de réponse Content-Type ou en inspectant le contenu de la ressource. Cette deuxième méthode permet à des attaquants de faire passer des fichiers HTML pour un autre type.
La seule directive disponible pour cet en-tête est la directive nosniff. Elle indique aux navigateurs d’utiliser uniquement le type MIME spécifié par le serveur web.
Pour activer l’en-tête X-Content-Type-Options pour votre navigateur, collez le code suivant dans votre fichier web.config :
L’en-tête Server est un en-tête de réponse décrivant l’application utilisée par le serveur source pour traiter une requête, y compris son numéro de version. L’exposition de ces informations à des tiers constitue une menace pour la sécurité ; supprimez donc le contenu de l’en-tête Server.
Pour supprimer le contenu de l’en-tête Server, ajoutez le code suivant dans votre fichier web.config :
Si vous utilisez IIS 10.0, Windows Server 2016 ou une version ultérieure, utilisez plutôt le code suivant :
Ces paramètres nécessitent le module URL Rewrite.
Pour plus d’informations, consultez l’utilisation du module URL Rewrite dans la documentation Microsoft.
Par défaut, les sites web d’autres entreprises peuvent intégrer les Web Stations ABBYY FlexiCapture dans une iFrame. Si le framesniffing est un problème, bloquez l’intégration dans des cadres interdomaines.
Empêcher l’intégration dans des cadres interdomaines
Sélectionner le site
Dans le volet Connexions sur le côté gauche, développez le dossier Sites et sélectionnez le site que vous voulez protéger.
Ouvrir En-têtes de réponse HTTP
Double-cliquez sur l’icône En-têtes de réponse HTTP dans la liste des fonctionnalités au milieu.
Ajouter un en-tête
Dans le volet Actions sur le côté droit, cliquez sur Ajouter.
Définir la valeur X-Frame-Options
Dans la boîte de dialogue qui s’ouvre, saisissez X-Frame-Options dans le champ Nom et SAMEORIGIN ou DENY dans le champ Valeur.
Pour plus d’informations, veuillez consulter la page sur l’atténuation du framesniffing avec l’en-tête X-Frame-Options dans la documentation Microsoft.
Vulnérabilité Slow HTTP POST
La vulnérabilité Slow HTTP POST est une variante d’une attaque par déni de service HTTP lente (DoS), également appelée attaque HTTP Slowloris. Lors d’une attaque Slow HTTP POST, l’attaquant annonce un volume important de données destinées à une requête HTTP POST, puis les envoie très lentement.
Pour corriger la vulnérabilité, configurez les Web Limits dans les configurations IIS sur chaque machine exécutant le serveur d’applications. Définissez des limites pour les paramètres suivants :
ConnectionTimeout
MinFileBytesPerSec
Pour plus d’informations, consultez l’élément weblimits dans la documentation Microsoft.
Utiliser HTTPS plutôt que HTTP
HTTP ne dispose d’aucun mécanisme de chiffrement des données. HTTPS ajoute un certificat numérique SSL ou TLS qui sécurise les communications entre le serveur et le client.
Forcez l’ensemble du trafic entre le navigateur de l’utilisateur et le serveur web à passer par HTTPS. HTTP utilise le port 80 par défaut ; fermez donc ce port pour empêcher son utilisation.
Utilisez une version récente de TLS et des chiffrements robustes
TLSv1.1 est un protocole de chiffrement faible. Un attaquant peut l’exploiter pour intercepter des communications sécurisées ou modifier des messages.
Utilisez toujours la version la plus récente de TLS disponible, avec uniquement des chiffrements robustes. Pour consulter la liste des chiffrements recommandés, reportez-vous à la page TLS côté serveur du wiki Mozilla.
Ouvrir l’éditeur de stratégie de groupe
À l’invite de commande, saisissez gpedit.msc. L’Éditeur d’objet de stratégie de groupe s’affiche.
Ouvrir les paramètres de configuration SSL
Développez Configuration ordinateur, Modèles d’administration, Réseau, puis cliquez sur Paramètres de configuration SSL.
Ouvrir l’ordre des suites de chiffrement
Sous Paramètres de configuration SSL, cliquez sur le paramètre Ordre des suites de chiffrement SSL.
Faire défiler jusqu’aux instructions
Dans le volet Ordre des suites de chiffrement SSL, faites défiler jusqu’en bas du volet.
Modifier le paramètre
Suivez les instructions intitulées Comment modifier ce paramètre.
Redémarrez l’ordinateur pour appliquer les modifications.
Protection contre les attaques par déni de service distribué
Une attaque par déni de service distribué (DDoS) submerge une application de requêtes HTTP. Le trafic augmente fortement et l’application devient inaccessible aux utilisateurs légitimes. Il peut être difficile de détecter ce type d’attaque, car il est souvent compliqué de distinguer le trafic légitime du trafic malveillant.
Configurez IIS pour bloquer un client qui dépasse soit le nombre de requêtes autorisé sur une période donnée, soit le nombre de requêtes simultanées autorisé.
Bloquer les clients qui dépassent les limites de requêtes
Ouvrir IP Address and Domain Restrictions
Lancez IIS Manager, sélectionnez votre site web dans l’arborescence, puis double-cliquez sur l’icône IP Address and Domain Restrictions sur la page d’accueil du site.
Modifier les paramètres de restriction dynamique
Dans le volet Actions, cliquez sur Edit Dynamic Restriction Settings.
Choisir une méthode de refus
Dans la boîte de dialogue qui s’ouvre, sélectionnez l’une des deux méthodes :
- Deny IP Address based on the number of concurrent requests
- Deny IP Address based on the number of requests over a period of time
Enregistrer les paramètres
Cliquez sur OK.
Restreindre l’accès à partir d’adresses IP spécifiques
IIS peut également bloquer des adresses IP spécifiques, et vous choisissez ce que le serveur fait lorsqu’une adresse restreinte tente d’accéder à votre application.
Ouvrir IP Address and Domain Restrictions
Lancez IIS Manager, sélectionnez votre site web dans l’arborescence, puis double-cliquez sur l’icône IP Address and Domain Restrictions sur la page d’accueil du site.
Modifier les paramètres de restriction dynamique
Dans le volet Actions, cliquez sur Edit Dynamic Restriction Settings.
Choisir une action de refus
Dans la boîte de dialogue qui s’ouvre, sélectionnez le type d’action dans la liste déroulante Deny Action Type.
Enregistrer les paramètres
Cliquez sur OK.
Activer le mode proxy pour les adresses IP partagées
Lorsque plusieurs utilisateurs envoient des requêtes HTTP à partir d’une même adresse IP, activez le mode proxy dans les paramètres du serveur IIS. Le serveur proxy transmet alors l’en-tête x-forwarded-for au serveur web, ce qui permet d’identifier chaque utilisateur.
Ouvrir IP Address and Domain Restrictions
Lancez IIS Manager, sélectionnez votre site web dans l’arborescence, puis double-cliquez sur l’icône IP Address and Domain Restrictions sur la page d’accueil du site.
Modifier les paramètres de fonctionnalité
Dans le volet Actions, cliquez sur Edit Feature Settings.
Activer le mode proxy
Dans la boîte de dialogue Edit IP and Domain Restriction Settings, sélectionnez Enable Proxy Mode.
Enregistrer les paramètres
Cliquez sur OK.
Pour plus d’informations sur l’utilisation d’IIS pour restreindre l’accès à votre application à partir de certaines adresses IP, consultez la documentation Microsoft.
En cas de trafic intense, le mode proxy peut dégrader les performances du système et empêcher les utilisateurs légitimes d’accéder à votre application.