Freigeben über


Filterregeln für Anforderungsfilterung <filteringRules>

Übersicht

Das <filteringRules>-Element gibt eine Auflistung von benutzerdefinierten Anforderungsfilterregeln an. Mit diesem Element können Administratoren benutzerdefinierte Filterregeln für ihren Server erstellen, die die grundlegenden Funktionen des Anforderungsfilterfeatures erweitern.

Jedes <filteringRule>-Element gibt eine Auflistung von benutzerdefinierten Attributen und Elementen an, die das Anforderungsfilterverhalten basierend auf benutzerdefinierten Kriterien definieren. Beispielsweise kann jede Anforderungsfilterregel die folgenden Attribute enthalten:

  • denyUnescapedPercent: Dieses Attribut gibt an, ob die Anforderungsfilterung verweigert werden soll, wenn sie Prozentsymbole enthält, die nicht escaped sind.
  • scanAllRaw: Dieses Attribut gibt an, ob die Anforderungsfilterung die rohen Header für die Zeichenfolgen überprüfen soll, die im Element denyStrings angegeben sind.
  • scanQueryString: Dieses Attribut gibt an, ob die Anforderungsfilterung die Abfragezeichenfolge für die Zeichenfolgen überprüfen soll, die im Element denyStrings angegeben sind. Wenn das unescapeQueryString-Attribut des <requestFiltering>-Elements auf wahr festgelegt ist, werden zwei Scans aus der Abfragezeichenfolge erstellt: eine Überprüfung mit der unformatierten Abfragezeichenfolge und eine zweite Überprüfung mit der Abfragezeichenfolge, die nicht dargestellt wurde.
  • scanUrl: Dieses Attribut gibt an, ob die Anforderungsfilterung die URL für die Zeichenfolgen überprüfen soll, die im Element denyStrings angegeben sind.

Darüber hinaus kann jede Anforderungsfilterregel die folgenden untergeordneten Elemente enthalten:

  • <appliesTo>: Gibt die Liste der Dateinamenerweiterungen an, für die die Anforderungsfilterregel gilt.

    Hinweis

    Wenn dieser Abschnitt leer ist, gilt die Regel für alle Anforderungen.

  • <denyStrings>: Gibt die Liste der Zeichenfolgen an, die für die Anforderungsfilterregel verweigert werden sollen.

  • <scanHeaders>: Gibt die Liste der zu scannenden HTTP-Header an.

Hinweis

Wenn die Anforderungsfilterung eine HTTP-Anforderung aufgrund einer Filterregel blockiert, gibt IIS 7 einen HTTP 404-Fehler an den Client zurück und protokolliert den folgenden HTTP-Status mit einem eindeutigen Substatus, der den Grund identifiziert, warum die Anforderung verweigert wurde:

HTTP-Substatus Beschreibung
404.19 Denied by filtering rule (Von Filterregel verweigert)

Mit diesem Unterstatus können Webadministratoren ihre IIS-Protokolle analysieren und potenzielle Bedrohungen identifizieren.

Kompatibilität

Version Hinweise
IIS 10.0 Das <filteringRules> Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <filteringRules> Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <filteringRules> Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <filteringRules>-Element des <requestFiltering>-Elements wird als Feature von IIS 7.5 ausgeliefert.
IIS 7.0 Das <filteringRules>-Element des <requestFiltering>-Elements wurde als Update für IIS 7.0 eingeführt, das über den Microsoft Knowledge Base-Artikel 957508 (https://support.microsoft.com/kb/957508) verfügbar ist.
IIS 6.0 Das <filteringRules>-Element entspricht ungefähr dem RuleList-Feature, das URLScan 3.0 hinzugefügt wurde.

Setup

Die Standardinstallation von IIS 7 und höher umfasst den Rollendienst oder das Feature Anforderungsfilterung. Wenn der Rollendienst für die Anforderungsfilterung oder das Feature deinstalliert wird, können Sie ihn mit den folgenden Schritten erneut installieren.

Windows Server 2012 oder Windows Server 2012 R2

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
  4. Erweitern Sie auf der Seite Serverrollen den Webserver (IIS), erweitern Sie den Webserver, erweitern Sie Sicherheit, und wählen Sie dann Anforderungsfilterung aus. Klicken Sie auf Weiter.
    Screenshot shows Web Server and Security pane expanded with Request Filtering selected. .
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  1. Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Starttaste und klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerungauf Programme und dann auf „Windows-Features aktivieren oder deaktivieren“.
  3. Erweitern Sie unter InternetinformationsdiensteWorld Wide Web Services, dann Sicherheit und wählen Sie dann Anforderungsfilterung aus.
    Screenshot of World Wide Web Services and Security pane showing Request Filtering highlighted.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Schließen.

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich des Server-Managers die Rollenund klicken Sie dann auf den Webserver (IIS) .
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. Wählen Sie auf der Seite Rollendienste auswählen des Assistenten Rollendienste hinzufügenAnforderungsfilterung aus, und klicken Sie dann auf Weiter.
    Screenshot displays Select Role Services page in Add Role Services Wizard with Security pane expanded and Request Filtering selected.
  5. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  6. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows Vista oder Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerungauf Programme und Funktionenund dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste, dann World Wide Web Servicesund dann Sicherheit.
  4. Wählen Sie Anforderungsfilterungaus, und klicken Sie dann auf OK.
    Screenshot displays Security node expanded in Turn Windows features on or off and Request Filtering selected.

Gewusst wie

So fügen Sie eine Anforderungsfilterregel hinzu

  1. Öffnen Sie den Internet Information Services (IIS) Manager:

    • Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:

      • Klicken Sie der der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows 8 oder Windows 8.1 verwenden:

      • Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
      • Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
    • Wenn Sie Windows Vista oder Windows 7 verwenden:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
  2. Wechseln Sie im Bereich Verbindungen zu der Website, Anwendung oder zum Verzeichnis, für die Sie die Anforderungsfilterung konfigurieren möchten.

  3. Doppelklicken Sie im Bereich Startseite auf Anforderungsfilterung.

  4. Klicken Sie im Bereich Anforderungsfilterung auf die Registerkarte Regeln.
    Screenshot of Request Filtering pane showing Rules tab. Add Filtering Rule option is displayed in Actions pane.

  5. Doppelklicken Sie im Bereich Aktionen auf Filterregel Hinzufügen.

  6. Geben Sie die folgenden Informationen für die Filterregel im Dialogfeld Filterregel Hinzufügen ein:

    • Geben Sie einen Anzeigenamen für die Filterregel im Feld Name ein.
    • Wählen Sie URL scannen aus, wenn die Filterregel den URL-Stub für die Anforderung scannen soll.
    • Wählen Sie die Scan-Abfragezeichenfolge aus, wenn die Filterregel die Abfragezeichenfolge für die Anforderung scannen soll.
    • Geben Sie alle HTTP-Header ein, die in der Scanheadersammlung gescannt werden sollen.
    • Geben Sie die Dateinamenerweiterungen ein, die mit der Filterregel in der Auflistung Gilt für verwendet werden sollen.
    • Geben Sie die Auflistung von Zeichenfolgen ein, die für die Filterregel in der Strings Verweigern-Auflistung verweigert werden sollen.
      Screenshot shows Add Filtering Rule dialog box with Name field, Scan u r l and Scan query string boxes both checked.
  7. Klicken Sie auf OK, um das Dialogfeld Filterregel Hinzufügen zu schließen.

Konfiguration

Das <filteringRules>-Element des <requestFiltering>-Elements wird auf Standort-, Anwendungs- oder Verzeichnisebene konfiguriert.

Attribute

Keine

Untergeordnete Elemente

Element Beschreibung
filteringRule Optionales Element.

Fügt der Auflistung benutzerdefinierter Anforderungsfilterregeln eine Regel hinzu.

Konfigurationsbeispiel

Im folgenden Beispiel wird ein <requestFiltering>-Element angezeigt, das die <denyStrings>-,<appliesTo>- und <scanHeaders>-Elemente verwendet, um eine Anforderungsfilterregel zu definieren, die das Stehlen von Bildern (Leeching) für einen bestimmten Benutzer-Agenten verhindert.

<requestFiltering>
   <filteringRules>
      <filteringRule name="Block Image Leeching" scanUrl="false" scanQueryString="false" scanAllRaw="false">
         <scanHeaders>
            <add requestHeader="User-agent" />
         </scanHeaders>
         <appliesTo>
            <add fileExtension=".gif" />
            <add fileExtension=".jpg" />
            <add fileExtension=".png" />
         </appliesTo>
         <denyStrings>
            <add string="leech-bot" />
         </denyStrings>
      </filteringRule>
   </filteringRules>
</requestFiltering>

Im folgenden Beispiel wird ein <requestFiltering>-Element angezeigt, das eine Anforderungsfilterregel definiert, die SQL-Einfügungsangriffe verhindert, indem eine Sammlung von Textzeichenfolgen in Abfragezeichenfolgen verweigert wird, die häufig in SQL-Einfügungsangriffen verwendet werden.

<requestFiltering>
   <filteringRules>
      <filteringRule name="SQLInjection" scanUrl="false" scanQueryString="true">
         <appliesTo>
            <clear />
            <add fileExtension=".asp" />
            <add fileExtension=".aspx" />
            <add fileExtension=".php" />
         </appliesTo>
         <denyStrings>
            <clear />
            <add string="--" />
            <add string=";" />
            <add string="/*" />
            <add string="@" />
            <add string="char" />
            <add string="alter" />
            <add string="begin" />
            <add string="cast" />
            <add string="create" />
            <add string="cursor" />
            <add string="declare" />
            <add string="delete" />
            <add string="drop" />
            <add string="end" />
            <add string="exec" />
            <add string="fetch" />
            <add string="insert" />
            <add string="kill" />
            <add string="open" />
            <add string="select" />
            <add string="sys" />
            <add string="table" />
            <add string="update" />
         </denyStrings>
         <scanHeaders>
            <clear />
         </scanHeaders>
      </filteringRule>
   </filteringRules>
</requestFiltering>

Beispielcode

Die folgenden Beispiele veranschaulichen, wie Sie mithilfe der <denyStrings>-, <appliesTo>- und <scanHeaders>-Elemente eine Anforderungsfilterregel für die Standardwebsite hinzufügen, die das Stehlen von Bildern (Leeching) für einen bestimmten Benutzer-Agenten verhindert. Dies ist das Szenario für dieses Beispiel: Wenn Sie festgestellt haben, dass Bilder auf Ihrer Website von einem bestimmten Benutzer-Agenten gestohlen wurden, können Sie eine Anforderungsfilterregel erstellen, die den Zugriff auf Bilddateien für diesen bestimmten Benutzer-Agenten verweigert. In diesem Beispiel durchsucht die Anforderungsfilterregel den HTTP-Benutzer-Agent-Header nach der Zeichenfolge "leech-bot", und verweigert den Zugriff auf GIF-, JPG- und PNG-Dateien, wenn der Benutzer-Agent-Header die Suchzeichenfolge enthält.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"filteringRules.[name='Block Image Leeching',scanUrl='False',scanQueryString='False',scanAllRaw='False']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"filteringRules.[name='Block Image Leeching'].scanHeaders.[requestHeader='User-agent']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"filteringRules.[name='Block Image Leeching'].appliesTo.[fileExtension='.gif']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"filteringRules.[name='Block Image Leeching'].appliesTo.[fileExtension='.jpg']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"filteringRules.[name='Block Image Leeching'].appliesTo.[fileExtension='.png']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"filteringRules.[name='Block Image Leeching'].denyStrings.[string='leech-bot']"

PowerShell

Start-IISCommitDelay

$filteringRules = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'filteringRules' 
New-IISConfigCollectionElement -ConfigCollection $filteringRules -ConfigAttribute @{ 'name' = 'Block Image Leeching'; 'scanUrl' = $false; 'scanQueryString' = $false; 'scanAllRaw' = $false; } 

$Rule = Get-IISConfigCollectionElement -ConfigCollection $filteringRules -ConfigAttribute @{ 'name' = 'Block Image Leeching' }

$ruleScanHeaders = Get-IISConfigCollection -ConfigElement $Rule -CollectionName 'scanHeaders' 
New-IISConfigCollectionElement -ConfigCollection $ruleScanHeaders -ConfigAttribute @{ 'requestHeader' = 'User-Agent' }

$ruleAppliesTo = Get-IISConfigCollection -ConfigElement $Rule -CollectionName 'appliesTo'
New-IISConfigCollectionElement -ConfigCollection $ruleAppliesTo -ConfigAttribute @{ 'fileExtension' = '.gif' }
New-IISConfigCollectionElement -ConfigCollection $ruleAppliesTo -ConfigAttribute @{ 'fileExtension' = '.jpg' }
New-IISConfigCollectionElement -ConfigCollection $ruleAppliesTo -ConfigAttribute @{ 'fileExtension' = '.png' }

$ruleDenyStrings = Get-IISConfigCollection -ConfigElement $Rule -CollectionName 'denyStrings'
New-IISConfigCollectionElement -ConfigCollection $ruleDenyStrings -ConfigAttribute @{ 'string' = 'leech-bot' }

Stop-IISCommitDelay

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");
         ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");
         ConfigurationElementCollection filteringRulesCollection = requestFilteringSection.GetCollection("filteringRules");

         ConfigurationElement filteringRuleElement = filteringRulesCollection.CreateElement("filteringRule");
         filteringRuleElement["name"] = @"Block Image Leeching";
         filteringRuleElement["scanUrl"] = false;
         filteringRuleElement["scanQueryString"] = false;
         filteringRuleElement["scanAllRaw"] = false;

         ConfigurationElementCollection scanHeadersCollection = filteringRuleElement.GetCollection("scanHeaders");
         ConfigurationElement addElement = scanHeadersCollection.CreateElement("add");
         addElement["requestHeader"] = @"User-agent";
         scanHeadersCollection.Add(addElement);

         ConfigurationElementCollection appliesToCollection = filteringRuleElement.GetCollection("appliesTo");
         ConfigurationElement addElement1 = appliesToCollection.CreateElement("add");
         addElement1["fileExtension"] = @".gif";
         appliesToCollection.Add(addElement1);
         ConfigurationElement addElement2 = appliesToCollection.CreateElement("add");
         addElement2["fileExtension"] = @".jpg";
         appliesToCollection.Add(addElement2);
         ConfigurationElement addElement3 = appliesToCollection.CreateElement("add");
         addElement3["fileExtension"] = @".png";
         appliesToCollection.Add(addElement3);

         ConfigurationElementCollection denyStringsCollection = filteringRuleElement.GetCollection("denyStrings");
         ConfigurationElement addElement4 = denyStringsCollection.CreateElement("add");
         addElement4["string"] = @"leech-bot";
         denyStringsCollection.Add(addElement4);

         filteringRulesCollection.Add(filteringRuleElement);
         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration


Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
      Dim filteringRulesCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("filteringRules")

      Dim filteringRuleElement As ConfigurationElement = filteringRulesCollection.CreateElement("filteringRule")
      filteringRuleElement("name") = "Block Image Leeching"
      filteringRuleElement("scanUrl") = False
      filteringRuleElement("scanQueryString") = False
      filteringRuleElement("scanAllRaw") = False

      Dim scanHeadersCollection As ConfigurationElementCollection = filteringRuleElement.GetCollection("scanHeaders")
      Dim addElement As ConfigurationElement = scanHeadersCollection.CreateElement("add")
      addElement("requestHeader") = "User-agent"
      scanHeadersCollection.Add(addElement)

      Dim appliesToCollection As ConfigurationElementCollection = filteringRuleElement.GetCollection("appliesTo")
      Dim addElement1 As ConfigurationElement = appliesToCollection.CreateElement("add")
      addElement1("fileExtension") = ".gif"
      appliesToCollection.Add(addElement1)
      Dim addElement2 As ConfigurationElement = appliesToCollection.CreateElement("add")
      addElement2("fileExtension") = ".jpg"
      appliesToCollection.Add(addElement2)
      Dim addElement3 As ConfigurationElement = appliesToCollection.CreateElement("add")
      addElement3("fileExtension") = ".png"
      appliesToCollection.Add(addElement3)

      Dim denyStringsCollection As ConfigurationElementCollection = filteringRuleElement.GetCollection("denyStrings")
      Dim addElement4 As ConfigurationElement = denyStringsCollection.CreateElement("add")
      addElement4("string") = "leech-bot"
      denyStringsCollection.Add(addElement4)

      filteringRulesCollection.Add(filteringRuleElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var filteringRulesCollection = requestFilteringSection.ChildElements.Item("filteringRules").Collection;

var filteringRuleElement = filteringRulesCollection.CreateNewElement("filteringRule");
filteringRuleElement.Properties.Item("name").Value = "Block Image Leeching";
filteringRuleElement.Properties.Item("scanUrl").Value = false;
filteringRuleElement.Properties.Item("scanQueryString").Value = false;
filteringRuleElement.Properties.Item("scanAllRaw").Value = false;

var scanHeadersCollection = filteringRuleElement.ChildElements.Item("scanHeaders").Collection;
var addElement = scanHeadersCollection.CreateNewElement("add");
addElement.Properties.Item("requestHeader").Value = "User-agent";
scanHeadersCollection.AddElement(addElement);

var appliesToCollection = filteringRuleElement.ChildElements.Item("appliesTo").Collection;
var addElement1 = appliesToCollection.CreateNewElement("add");
addElement1.Properties.Item("fileExtension").Value = ".gif";
appliesToCollection.AddElement(addElement1);
var addElement2 = appliesToCollection.CreateNewElement("add");
addElement2.Properties.Item("fileExtension").Value = ".jpg";
appliesToCollection.AddElement(addElement2);
var addElement3 = appliesToCollection.CreateNewElement("add");
addElement3.Properties.Item("fileExtension").Value = ".png";
appliesToCollection.AddElement(addElement3);

var denyStringsCollection = filteringRuleElement.ChildElements.Item("denyStrings").Collection;
var addElement4 = denyStringsCollection.CreateNewElement("add");
addElement4.Properties.Item("string").Value = "leech-bot";
denyStringsCollection.AddElement(addElement4);

filteringRulesCollection.AddElement(filteringRuleElement);
adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set filteringRulesCollection = requestFilteringSection.ChildElements.Item("filteringRules").Collection

Set filteringRuleElement = filteringRulesCollection.CreateNewElement("filteringRule")
filteringRuleElement.Properties.Item("name").Value = "Block Image Leeching"
filteringRuleElement.Properties.Item("scanUrl").Value = False
filteringRuleElement.Properties.Item("scanQueryString").Value = False
filteringRuleElement.Properties.Item("scanAllRaw").Value = False

Set scanHeadersCollection = filteringRuleElement.ChildElements.Item("scanHeaders").Collection
Set addElement = scanHeadersCollection.CreateNewElement("add")
addElement.Properties.Item("requestHeader").Value = "User-agent"
scanHeadersCollection.AddElement(addElement)

Set appliesToCollection = filteringRuleElement.ChildElements.Item("appliesTo").Collection
Set addElement1 = appliesToCollection.CreateNewElement("add")
addElement1.Properties.Item("fileExtension").Value = ".gif"
appliesToCollection.AddElement(addElement1)
Set addElement2 = appliesToCollection.CreateNewElement("add")
addElement2.Properties.Item("fileExtension").Value = ".jpg"
appliesToCollection.AddElement(addElement2)
Set addElement3 = appliesToCollection.CreateNewElement("add")
addElement3.Properties.Item("fileExtension").Value = ".png"
appliesToCollection.AddElement(addElement3)

Set denyStringsCollection = filteringRuleElement.ChildElements.Item("denyStrings").Collection
Set addElement4 = denyStringsCollection.CreateNewElement("add")
addElement4.Properties.Item("string").Value = "leech-bot"
denyStringsCollection.AddElement(addElement4)

filteringRulesCollection.AddElement(filteringRuleElement)
adminManager.CommitChanges()