Contrôle de la protection par injection de commande HTML
La vérification d’injection de commandesHTML检查如果le comporte des对交通的新成员s non autorisées qui enfreignent la sécurité du système ou modifient le système. Si le trafic comporte des commandes malveillantes lorsqu’il est détecté, l’appliance bloque la demande ou exécute l’action configurée.
Le profil Citrix Web App Firewall est désormais amélioré avec une nouvelle vérification de sécurité pour les attaques par injection de commandes. Lorsque le contrôle de sécurité par injection de commande examine le trafic et détecte des commandes malveillantes, l’appliance bloque la demande ou exécute l’action configurée.
Dans une attaque par injection de commandes, l’attaquant vise à exécuter des commandes non autorisées sur le système d’exploitation Citrix ADC. Pour ce faire, l’attaquant injecte des commandes du système d’exploitation à l’aide d’une application vulnérable. Une appliance Citrix ADC est vulnérable aux attaques par injection si l’application transmet des données non sécurisées (formulaires, cookies ou en-tête) à l’interpréteur de commandes système.
Fonctionnement de la保护par注入de commande
Pour une requête entrante, WAF examine le trafic pour les mots clés ou les caractères spéciaux. Si la demande entrante n’a aucun motif correspondant à l’un des mots-clés ou caractères spéciaux refusés, la demande est autorisée. Sinon, la demande est bloquée, supprimée ou redirigée en fonction de l’action configurée.
- Si vous préférez exempter un mot clé ou un caractère spécial de la liste, vous pouvez appliquer une règle de relaxation pour contourner le contrôle de sécurité dans des conditions spécifiques.
- Vous pouvez activer la journalisation pour générer des messages de journal. Vous pouvez surveiller les journaux pour déterminer si les réponses aux demandes légitimes sont bloquées. Une forte augmentation du nombre de messages de journal peut indiquer des tentatives de lancement d’une attaque.
- Vous pouvez également activer la fonction de statistiques pour collecter des données statistiques sur les violations et les journaux. Une augmentation inattendue du compteur de statistiques peut indiquer que votre application est attaquée. Si les demandes légitimes sont bloquées, vous devrez peut-être revoir la configuration pour voir si vous devez configurer la nouvelle règle de relaxation ou modifier la règle existante.
Mots clés et caractères spéciaux refusés pour la vérification de l’injection de commande
Pour détecter et bloquer les attaques par injection de commandes, l’appliance dispose d’un ensemble de motifs (mots-clés et caractères spéciaux) définis dans le fichier de signature par défaut. Voici une liste de mots-clés bloqués lors de la détection d’injection de commande.
7z 7za 7zr …
Les caractères spéciaux définis dans le fichier de signature sont les suivants :| ; & $ > < ' \ ! >> #
Configuration de la vérification de l’injection de commande à l’aide de la CLI
Dans l’interface de ligne de commande, vous pouvez utiliser la commande set the profile ou add the profile pour configurer les paramètres d’injection de commande. Vous pouvez activer les actions de blocage, de journal et de statistiques. Vous devez également définir les mots-clés et les caractères de chaîne que vous souhaitez détecter dans les charges utiles.
À l’invite de commandes, tapez :
设置appfw概要文件<配置文件名称> -cmdInjectionAction
Remarque :
Par défaut, l’action d’injection de commande est définie sur « Aucune ». En outre, le type d’injection de commande par défaut est défini comme
CmdSplCharANDKeyWord
.
为例:
set appfw profile profile1 -cmdInjectionAction block -CMDInjectionType CmdSplChar
Où, les actions d’injection de commande disponibles sont :
- Aucun - Désactivez la protection par injection de commandes.
- Journal - Consigner les violations d’injection de commande pour le contrôle de sécurité.
- Bloquer - bloque le trafic qui viole le contrôle de sécurité de l’injection de commande.
- Stats - Génère des statistiques pour les violations de sécurité par injection de commande.
Où, les types d’injection de commandes disponibles sont :
- Cmd SplChar. Vérifie les caractères spéciaux
- CmdKeyWord. Vérifie les mots-clés d’injection
- CmdSplCharANDKeyWord. Vérifie les caractères spéciaux et l’injection de commandes. Mots clés et blocs uniquement si les deux sont présents.
- CmdSplCharORKeyWord. Vérifie les caractères spéciaux et l’injection de commande Mots-clés et blocs si l’un d’eux est trouvé.
Configuration des règles de relaxation pour la vérification de la protection par injection de commandes
Si votre application exige que vous contourniez l’inspection par injection de commande pour un ELEMENT ou un ATTRIBUT spécifique dans la charge utile, vous pouvez configurer une règle de relaxation.
La commande Injection inspection Relaxation rules ont la syntaxe suivante :
bind appfw profile
为例de règle de relaxation pour Regex dans l’en-tête
bind appfw profile sample -CMDInjection hdr "http://10.10.10.10/" -location heaDER -valueType Keyword '[a-z]+grep' -isvalueRegex REGEX
Par conséquent, l’injection exempte la vérification d’injection de commande autorise l’en-têtehdr
contenant des variantes de « grep ». «
为例de règle de relaxation avec ValueType en tant que regex dans le cookie
bind appfw profile sample -CMDInjection ck_login "http://10.10.10.10/" -location cookie -valueType Keyword 'pkg[a-z]+' -isvalueRegex REGEX
Configuration de la vérification de l’injection de commandes à l’aide de Citrix ADC GUI
Procédez comme suit pour configurer la vérification de l’injection de commande.
- Accédez àSécurité > Citrix Web App Firewall and Profils.
- Sur la pageProfils, sélectionnez un profil et cliquez surModifier.
- Sur la pageProfil du Citrix Web App Firewall, accédez à la sectionParamètres avancéset cliquez surVérifications de sécurité.
- Dans la sectionVérifications de sécurité, sélectionnezInjection de commandes HTMLet cliquez sur Paramètresd’action.
Dans la pageParamètres d’injection de commandes HTML, définissez les paramètres suivants :
- Actions. Sélectionnez une ou plusieurs actions à effectuer pour le contrôle de sécurité de l’injection de commande.
- Vérifiez la requête contenant. Sélectionnez un modèle d’injection de commande pour vérifier si la requête entrante a le modèle.
- Cliquez surOK.
Afficher ou personnaliser les modèles d’injection de commandes à l’aide de l’interface graphique
Vous pouvez utiliser l’interface graphique pour afficher ou personnaliser les modèles d’injection de commandesHTML.
Les modèles d’injection de commandes par défaut sont spécifiés dans le fichier de signatures par défaut. Si vous ne liez aucun objet signature à votre profil, les modèles d’injection de commandes HTML par défaut spécifiés dans l’objet signatures par défaut seront utilisés par le profil pour le traitement du contrôle de sécurité des injections de commandes. Les règles et les motifs, spécifiés dans l’objet signatures par défaut, sont en lecture seule. Vous ne pouvez pas les modifier ou les modifier. Si vous souhaitez modifier ou modifier ces modèles, effectuez une copie de l’objet SSignatures par défaut pour créer un objet Signature défini par l’utilisateur. Apportez des modifications aux modèles d’injection de commandes dans le nouvel objet Signature défini par l’utilisateur et utilisez cet objet signature dans votre profil qui traite le trafic pour lequel vous souhaitez utiliser ces modèles personnalisés.
Pour plus d’informations, voirSignatures.
Pour afficher les modèles d’injection de commandes par défaut à l’aide de l’interface graphique :
- Accédez àApplication Firewall > Signatures, sélectionnez*Signatures par défaut, puis cliquez surModifier.
- Cliquez surGérer les modèles CMD/SQL/XSS. Le tableauChemins CMD/SQL/XSS (lecture seule)présente les schémas relatifs à l’
CMD/SQL/XSS
injection :
- Sélectionnez une ligne et cliquez surGérer les élémentspour afficher les modèles d’injection de commandes correspondants (mots-clés, chaînes spéciales, règles de transformation ou caractères génériques) utilisés par la vérification d’injection de commande Web App Firewall.
Pour personnaliser un modèle d’injection de commandes à l’aide de l’interface graphique
Vous pouvez modifier l’objet signature défini par l’utilisateur pour personnaliser les mots-clésCMD, les chaînes spéciales et les caractères génériques. Vous pouvez ajouter de nouvelles entrées ou supprimer celles qui existent déjà. Vous pouvez modifier les règles de transformation des chaînes spéciales d’injection de commandes.
- Accédez à Application Firewall > Signatures, mettez en surbrillance la signature définie par l’utilisateur cible, puis cliquez surAjouter. Cliquez surGérer les modèles CMD/SQL/XSS.
- Dans la pageGérer les chemins CMD/SQL/XSS, sélectionnez la ligne d’injection CMD cible.
Cliquez surGérer les éléments,Ajouterousupprimerun élément d’injection de commande.
Avertissement :
Vous devez être prudent avant de supprimer ou de modifier un élément d’injection de commande par défaut, ou de supprimer le chemin CMD pour supprimer la ligne entière. Les règles de signature et le contrôle de sécurité de l’injection de commandes reposent sur ces éléments pour détecter les attaques par injection de commandes afin de protéger vos applications. La personnalisation des modèles SQL peut rendre votre application vulnérable aux attaques par injection de commandes si le modèle requis est supprimé pendant la mise à jour.
Affichage des statistiques sur le trafic d’injection de commandes et les violations
La pageStatistiques du Citrix Web App Firewallaffiche les détails du trafic de sécurité et des violations de sécurité sous forme de tableau ou de graphique.
Pour afficher les statistiques de sécurité à l’aide de l’interface de commande.
À l’invite de commandes, tapez :
stat appfw profile profile1
Statistiques de trafic du profil Appfw | Taux (/s) | Total : |
---|---|---|
Demandes | 0 | 0 |
Octets des demandes | 0 | 0 |
Réponses | 0 | 0 |
Octets des réponses | 0 | 0 |
Abandonner | 0 | 0 |
Redirections | 0 | 0 |
Temps de réponse moyen à long terme (ms) | – | 0 |
Temps de réponse moyen récent (ms) | – | 0 |
Statistiques sur les violations HTML/XML/JSON | Taux (/s) | Total : |
---|---|---|
URL de démarrage | 0 | 0 |
Refuser URL | 0 | 0 |
En-tête Référer | 0 | 0 |
Dépassement de tampon | 0 | 0 |
Cohérence des cookies | 0 | 0 |
Détournement de cookies | 0 | 0 |
Balise de formulaire CSRF | 0 | 0 |
Script inter-sites HTML | 0 | 0 |
Injection SQL HTML | 0 | 0 |
Format de champ | 0 | 0 |
Cohérence des champs | 0 | 0 |
Carte de crédit | 0 | 0 |
Objet sécurisé | 0 | 0 |
Violations des | 0 | 0 |
Type de contenu | 0 | 0 |
Déni de service JSON | 0 | 0 |
Injection JSON SQL | 0 | 0 |
Script inter-site JSON | 0 | 0 |
Types de téléchargement de fichiers | 0 | 0 |
Induire Type de contenu Charge utile XML | 0 | 0 |
Injection CMD HTML | 0 | 0 |
Format XML | 0 | 0 |
Déni de service XML (xDoS) | 0 | 0 |
Validation des messages XML | 0 | 0 |
Interopérabilité des services Web | 0 | 0 |
Injection SQL XML | 0 | 0 |
Script multisite XML | 0 | 0 |
Pièce jointe XML | 0 | 0 |
Violations de pannes SOAP | 0 | 0 |
Violations génériques XML | 0 | 0 |
Total des violations | 0 | 0 |
Statistiques du journal HTML/XML/JSON | Taux (/s) | Total : |
---|---|---|
Journaux des URL de démarrage | 0 | 0 |
Journaux des URL refusées | 0 | 0 |
Journaux d’en-tête référer | 0 | 0 |
Journaux de débordement de | 0 | 0 |
journaux de cohérence des cookies | 0 | 0 |
Bûches de détournement de cookies | 0 | 0 |
CSRF à partir des journaux des balises | 0 | 0 |
Journaux de script inter-sites HTML | 0 | 0 |
Journaux de transformation de script inter-site HTML | 0 | 0 |
Journaux d’injection SQL HTML | 0 | 0 |
Journaux de transformation HTML SQL | 0 | 0 |
Journaux de format de | 0 | 0 |
Journaux d’uniformité | 0 | 0 |
Cartes de crédit | 0 | 0 |
Logs de transformation des cartes de crédit | 0 | 0 |
Journaux d’objets sûrs | 0 | 0 |
Journaux signature | 0 | 0 |
Journaux types de contenu | 0 | 0 |
JSON Journaux de déni de service | 0 | 0 |
Journaux d’injection JSON SQL | 0 | 0 |
JSON Journaux de script inter-sites | 0 | 0 |
Journaux des types de téléchargement | 0 | 0 |
Induire le type de contenu XML Charge utile L | 0 | 0 |
Journaux d’injection de commandes HTML | 0 | 0 |
Journaux de format XML | 0 | 0 |
Journaux de déni de service XML (XDoS) | 0 | 0 |
Journaux de validation des messages XML | 0 | 0 |
Journaux WSI | 0 | 0 |
Journaux d’injection SQL XML | 0 | 0 |
Journaux de script inter-sites XML | 0 | 0 |
journaux des pièces jointes XML | 0 | 0 |
Journaux des défaillances SOAP | 0 | 0 |
Journaux génériques XML | 0 | 0 |
Nombre total de messages du journal | 0 | 0 |
Taux de statistiques de réponse aux erreurs du serveur (/s) > Total | |||
---|---|---|---|
Erreurs client HTTP (4xx Resp) | 0 | 0 | Erreurs serveur |
HTTP (5xx Resp) | 0 | 0 |
Affichage des statistiques d’injection de commandes HTML à l’aide de l’interface graphique Citrix ADC
Procédez comme suit pour afficher les statistiques d’injection de commandes :
- Accédez àSécurité > Citrix Web App Firewall > Profils.
- Dans le volet d’informations, sélectionnez un profil de Web App Firewall et cliquez surStatistiques.
- La pageStatistiques du Citrix Web App Firewallaffiche le trafic d’injection de commandes HTML et les détails de violation.
- Vous pouvez sélectionnerVue tabulaireou passer à lavue graphiquepour afficher les données sous forme de tableau ou graphique.
Statistiques du trafic d’injection de commandes HTML
Statistiques de violation d’injection de commande HTML
Dans cet article
- Fonctionnement de la保护par注入de commande
- Mots clés et caractères spéciaux refusés pour la vérification de l’injection de commande
- Configuration de la vérification de l’injection de commande à l’aide de la CLI
- Configuration des règles de relaxation pour la vérification de la protection par injection de commandes
- Configuration de la vérification de l’injection de commandes à l’aide de Citrix ADC GUI
- Afficher ou personnaliser les modèles d’injection de commandes à l’aide de l’interface graphique
- Affichage des statistiques sur le trafic d’injection de commandes et les violations
- Affichage des statistiques d’injection de commandes HTML à l’aide de l’interface graphique Citrix ADC