VoirSections communes.
Id level time user_name Executable
L'une des trois valeurs suivantes : LsarLookupNames, name
LsarLookupSids ou ADMCOMConnect illegal:api directives
Classe Windows Isapi (HTTP)
Le tableau suivant répertorie les sections et valeurs disponibles pour la classe Windows Isapi avec IIS :
Remarques Valeurs
Section
Isapi Class
VoirSections communes.
Id level time user_name Executable
L'un des paramètres requis. Comparée à la partie URL d'une requête entrante. Voir les notes 1 à 4.
url
L'un des paramètres requis. Comparée à la partie query d'une requête entrante. Voir les notes 1 à 4.
query
L'un des paramètres requis. Voir la note 4.
GET, POST, INDEX ou toute autre méthode HTTP autorisée.
method
Pour les trois types de requêtes HTTP entrantes.
isapi:request directives
Pour les demandes d'URL.
isapi:requrl
Pour les demandes de requêtes.
isapi:reqquery
Pour les demandes de données brutes.
isapi:rawdata
Pour la réponse à la demande.
isapi:response
Note 1
Une requête HTTP entrante peut être représentée comme suit : http://www.myserver.com/
{url}?{query}. Dans ce document, nous faisons référence à {url} comme la partie « URL » de la requête HTTP et à {query} comme la partie « query » de cette dernière. Grâce à cette convention de nommage, la section « URL » est comparée à {url} et la section « query » à {query}. Par exemple, la règle suivante est déclenchée si la requête HTTP http://
www.myserver.com/search/abc.exe?subject=wildlife&environment=ocean est reçue par IIS : Rule {
tag "Sample6"
Class Isapi Id 4001 level 1
url { Include “*abc*” } Executable { Include “*”}
user_name { Include “*” } directives isapi:request }
Cette règle se déclenche car {url}=/search/abc.exe, ce qui correspond à la valeur de la section
« url » (c.-à-d. abc).
Note 2
Avant la comparaison, les sections « url » et « query » sont décodées et normalisées afin qu'il soit impossible de compléter des requêtes par du code ou des séquences d'échappement.
Note 3
Une longueur maximum peut être définie pour les sections « url » et « query ». En ajoutant
« ;number-of-chars » à la valeur de ces sections, la correspondance de la règle s'effectuera uniquement si {url} ou {query} comporte plus de caractères que « number-of-chars ». Par exemple, « abc*;500 » correspond aux chaînes contenant « abc » et comportant plus de 500 caractères ; « *abc;xyz*; » correspond à toute chaîne contenant « abc;xyz » indépendamment de sa longueur.
Note 4
Une règle doit contenir au moins l'une des sections facultatives suivantes : url, query ou method.
Détails avancés
Tous ou seulement quelques-uns des paramètres suivants apparaissent dans l'onglet Détails avancés des événements de sécurité pour la classe Isapi. Les valeurs de ces paramètres peuvent vous aider à comprendre le déclenchement d'une signature.
Explication Nom IUG
Partie location décodée et normalisée d'une requête HTTP entrante (avant le « ? »).
url
Partie query décodée et normalisée d'une requête HTTP entrante (après le premier « ? »).
query
Type et version de l'application de serveur web utilisée.
web server type
Explication Nom IUG
Méthode de la requête HTTP entrante (telles que Get, Put, Post et Query).
method
Nom physique du fichier récupéré ou en tentative de récupération par la requête. Décodé et normalisé sous IIS.
local file
Ligne de requête « brute » (non décodée et non normalisée) de la requête HTTP entrante. La ligne de raw url
requête est « <method> <location[?query]> <http version> CRLF ».
Nom d'utilisateur du client à l'origine de la requête ; disponible uniquement si la requête est authentifiée.
user
Nom du client ou adresse IP de l'ordinateur d'origine de la requête HTTP. L'adresse se compose de trois parties : nom d'hôte: adresse: numéro de port.
source
Informations sur le serveur web sur lequel l'événement a été créé (ordinateur sur lequel le client est installé), server
présentées comme suit : <nom d'hôte>:<adresse IP>:<port>. Le nom d'hôte est la variable hôte de l'en-tête HTTP (le champ est laissé vide si elle n'est pas disponible).
Nombre d'octets dans le corps du message de la requête.
content len
La règle suivante vise à bloquer une requête vers le serveur web qui contient « subject » dans la partie « query » de la requête HTTP :
Rule { tag "Sample7"
Class Isapi Id 4001 level 1
query { Include “*subject*” } method { Include “GET” } Executable { Include “*”}
user_name { Include “*” } directives isapi:request }
Par exemple, la requête GET http://www.myserver.com/test/
abc.exe?subject=wildlife&environment=ocean serait bloquée par cette règle.
Les diverses sections de cette règle ont les significations suivantes :
• Class Isapi : indique que la règle est associée à la classe des opérations Isapi.
• Id 4001 : affecte l'ID 4001 à cette règle. Si la signature personnalisée contient plusieurs règles, chacune de ces règles doit utiliser le même ID.
• level 4 : affecte un niveau de gravité « élevé » à cette règle. Si la signature personnalisée contient plusieurs règles, chacune de ces règles doit avoir le même niveau de gravité.
• query { Include “*subject*” } : indique que la règle correspond à toute requête (GET) contenant la chaîne « subject » dans la partie query de la requête HTTP. Si la règle couvre plusieurs fichiers de la partie query, ajoutez-les dans cette section sur différentes lignes.
• method { Include “GET” } : indique que la règle peut uniquement correspondre aux requêtes GET.
• Executable { Include “*”} : indique que cette règle est valide pour l'ensemble des processus.
Si vous souhaitez limiter votre règle à des processus spécifiques, ajoutez-les en entier dans cette section, avec le nom de chemin.
• user_name { Include “*” } : indique que cette règle est valide pour l'ensemble des utilisateurs (ou, plus précisément, pour le contexte de sécurité dans lequel un processus est exécuté).
Si vous souhaitez limiter votre règle à des contextes utilisateurs spécifiques, ajoutez-les dans cette section sous la forme Local/utilisateur ou Domaine/utilisateur. VoirSections communes pour plus d'informations.
• directives isapi:request : indique que cette règle couvre une requête HTTP.