共用方式為


FTP 要求篩選 < 要求篩選>

FTP 要求篩選是 FTP 7 中引進的內建安全性功能,大致上類似于透過 HTTP 月臺可用的要求篩選功能所提供的功能。 要求篩選功能的所有設定都位於 元素內 <requestFiltering> ,其中包含下列每個功能區域的數個子項目:

  • <denyUrlSequences> - 這個專案可以包含 IIS 7 將拒絕的 URL 序列模式集合;例如:您可以拒絕攻擊者可能嘗試惡意探索的 URL 序列部分。
  • <fileExtensions> - 這個專案可以包含 IIS 7 將拒絕或允許的副檔名集合;例如:您可以封鎖 *.EXE 或 *.COM 檔案的所有要求。
  • <hiddenSegments> - 這個專案可以包含無法流覽的 URL 集合;例如:您可以拒絕 ASP.NET App_Code資料夾的要求。
  • <requestLimits> - 這個專案包含 URL、內容和命令長度的設定。

FTP 要求篩選與 HTTP 要求篩選之間的顯著差異是 HTTP 要求篩選包含額外的 <verbs> 元素,其中可能包含 IIS 將拒絕或允許的 HTTP 動詞命令集合。 FTP 會透過在月臺層級設定的專案 <commandFiltering> ,提供這種相同的篩選類型。

注意

當要求篩選因為 FTP 要求違反要求篩選規則而封鎖 FTP 要求時,FTP 7 會將 FTP 錯誤傳回用戶端,並記錄下列其中一個 FTP 子狀態,以識別要求遭到拒絕的原因:

FTP 子狀態 描述
8 根據要求篩選規則,在路徑中偵測到隱藏區段。
9 根據要求篩選規則在路徑中偵測到的拒絕 URL 序列。
10 根據要求篩選規則在路徑中偵測到的高位字元。
11 根據要求篩選規則拒絕副檔名
12 路徑根據要求篩選規則太長。
51 命令篩選規則拒絕存取。

這些子狀態所指出條件的通知可讓 Web 系統管理員分析其 IIS 記錄,並識別潛在的威脅。

相容性

版本 備註
IIS 10.0 <requestFiltering> IIS 10.0 中未修改專案。
IIS 8.5 <requestFiltering> 在 IIS 8.5 中修改專案。
IIS 8.0 在 IIS 8.0 中未修改專案 <requestFiltering>
IIS 7.5 元素 <requestFiltering><system.ftpServer/security> 元素會隨附為 IIS 7.5 的功能。
IIS 7.0 元素 <requestFiltering><system.ftpServer/security> 元素是在 FTP 7.0 中引進,這是 IIS 7.0 的個別下載。
IIS 6.0 IIS 6.0 中的 FTP 服務不支援要求篩選。

注意

FTP 7.0 和 FTP 7.5 服務針對 IIS 7.0 隨附頻外,需要從下列 URL 下載並安裝模組:

https://www.iis.net/downloads/microsoft/ftp

使用 Windows 7 和 Windows Server 2008 R2 時,FTP 7.5 服務會隨附為 IIS 7.5 的功能,因此不再需要下載 FTP 服務。

安裝程式

若要支援 Web 服務器的 FTP 發佈,您必須安裝 FTP 服務。 若要這樣做,請使用下列步驟。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在工作列上,按一下 [伺服器管理員]

  2. 伺服器管理員中,按一下 [管理]功能表,然後按一下 [新增角色和功能]。

  3. 在 [ 新增角色和功能 精靈] 中,按 [下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [ 下一步]。

  4. 在 [ 伺服器角色] 頁面上,展開 [Web 服務器] ([IIS) ],然後選取 [ FTP 伺服器]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,除了FTP 服務之外,您還需要選取FTP 擴充性

    [伺服器角色] 頁面的螢幕擷取畫面。已選取並展開 F T P 伺服器。F T P 擴充性已醒目提示並選取。

  5. [下一步],然後在 [ 選取功能 ] 頁面上,再次按 [ 下一步 ]。

  6. 在 [確認安裝選項] 頁面上,按一下 [安裝]

  7. 在 [結果] 頁面上,按一下 [關閉]

Windows 8 或Windows 8.1

  1. 在 [開始] 畫面上,將指標全部移至左下角,以滑鼠右鍵按一下 [開始] 按鈕,然後按一下[主控台]。

  2. 主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。

  3. 展開 [Internet Information Services],然後選取 [FTP 伺服器]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。 I S 導覽樹狀結構的螢幕擷取畫面。F T P 擴充性已醒目提示並選取。

  4. 按一下 [確定]。

  5. 按一下 [關閉] 。

Windows Server 2008 R2

  1. 在工作列上,按一下 [開始],指向 [系統管理工具],然後按一下[伺服器管理員]。

  2. [伺服器管理員階層] 窗格中,展開 [角色],然後按一下 [Web 服務器] (IIS)

  3. [Web 服務器 (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。

  4. 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,展開[FTP 伺服器]。

  5. 選取 [FTP 服務]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也需要選取 [FTP 擴充性]。 [選取角色服務] 頁面的螢幕擷取畫面。F T P 伺服器已展開。已選取 F T P 服務並反白顯示。

  6. 按一下 [下一步] 。

  7. 在 [確認安裝選項] 頁面上,按一下 [安裝]

  8. 在 [結果] 頁面上,按一下 [關閉]

Windows 7

  1. 在工作列上,按一下 [開始],然後按一下[主控台]。

  2. 主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。

  3. 展開 [Internet Information Services],然後展開 [FTP 伺服器]。

  4. 選取 [FTP 服務]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也需要選取 [FTP 擴充性]。 I S 導覽樹狀結構的螢幕擷取畫面。已選取並展開 F T P 伺服器。

  5. 按一下 [確定]。

Windows Server 2008 或 Windows Vista

  1. 從下列 URL 下載安裝套件:

    https://www.iis.net/downloads/microsoft/ftp

  2. 請遵循下列逐步解說中的指示來安裝 FTP 服務:

    安裝和疑難排解 FTP 7

作法

注意

FTP 要求篩選在 FTP 7.0 版本中沒有使用者介面;FTP 要求篩選 UI 已在 FTP 7.5 版本中新增。

如何拒絕特定副檔名的 FTP 存取

  1. (IIS) 管理員開啟 Internet Information Services

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [系統管理工具],然後按兩下 [ Internet Information Services] (IIS) Manager
  2. 在 [ 連線] 窗格中,移至您要修改要求篩選設定的網站或目錄。

  3. 在 [ 首頁] 窗格中,按兩下 [ FTP 要求篩選]。

  4. 在 [ FTP 要求篩選 ] 窗格中,按一下 [ 副檔名] 索引標籤。
    F T P 要求篩選窗格的螢幕擷取畫面。已選取 [副檔名] 索引標籤。

  5. 按一下 [動作] 窗格中的[拒絕副檔名]。

  6. 在 [ 拒絕副檔名 ] 對話方塊中,輸入您想要封鎖的副檔名。 例如,若要防止存取副檔名為 .inc 的檔案,您可以在對話方塊中輸入 「inc」。
    [拒絕副檔名] 對話方塊的螢幕擷取畫面。在 [副檔名] 方塊中,會寫入 i n c。

  7. 按一下 [確定]。

如何編輯要求篩選功能設定和要求限制

  1. 開啟 [Internet Information Services (IIS) 管理員

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [系統管理工具],然後按兩下 [ Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [系統管理工具],然後按兩下 [ Internet Information Services] (IIS) Manager
  2. 在 [ 連線] 窗格中,移至您要修改要求篩選設定的網站或目錄。

  3. 在 [ 首頁] 窗格中,按兩下 [ FTP 要求篩選]。

  4. 按一下 [動作] 窗格中的[編輯功能設定]。
    [動作] 窗格的螢幕擷取畫面。伺服器已展開。網站已展開。

  5. 指定您的選項。 例如,您可以進行下列變更:

    • 藉由指定 2048,將 URL 長度上限變更為 2KB。
    • 藉由指定 1024,將命令長度上限變更為 1KB。

    注意

    建議您不要清除 [ 允許未列出的命令 ] 核取方塊。

    [編輯 F T P 要求篩選設定] 頁面的螢幕擷取畫面。在 [一般] 類別中,會檢查這兩個選項。

  6. 按一下 [確定]。

如何新增 FTP 隱藏區段

  1. 開啟 [Internet Information Services (IIS) 管理員

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [系統管理工具],然後按兩下 [ Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [系統管理工具],然後按兩下 [ Internet Information Services] (IIS) Manager
  2. 在 [ 連線] 窗格中,移至您要修改要求篩選設定的網站或目錄。

  3. 在 [ 首頁] 窗格中,按兩下 [ FTP 要求篩選]。

  4. 在 [ FTP 要求篩選 ] 窗格中,按一下 [ 隱藏區段 ] 索引標籤。
    F T P 要求篩選窗格的螢幕擷取畫面。已選取 [隱藏區段] 索引標籤。

  5. 按一下 [動作] 窗格中的 [新增隱藏區段]。
    [新增隱藏區段] 對話方塊的螢幕擷取畫面。在 [隱藏區段] 方塊中,會寫入路徑。

  6. 在 [ 新增隱藏區段 ] 對話方塊中,輸入您想要隱藏的路徑。

  7. 按一下 [確定]。

如何拒絕 FTP URL 序列

  1. 開啟 [Internet Information Services (IIS) 管理員

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [系統管理工具],然後按兩下 [ Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [系統管理工具],然後按兩下 [ Internet Information Services] (IIS) Manager
  2. 在 [ 連線] 窗格中,移至您要修改要求篩選設定的網站或目錄。

  3. 在 [ 首頁] 窗格中,按兩下 [ FTP 要求篩選]。
    [首頁] 窗格的螢幕擷取畫面。F T P 要求圖示會反白顯示並選取。

  4. 在 [ FTP 要求篩選 ] 窗格中,按一下 [拒絕的 URL 序列] 索引標籤
    F T P 要求篩選窗格的螢幕擷取畫面。已選取 [拒絕的 U R L 序列] 索引標籤。

  5. 按一下 [動作] 窗格中的 [新增 URL 順序]。

  6. 在 [ 新增拒絕順序] 對話方塊中,輸入您想要封鎖的 URL 順序。
    [新增拒絕順序] 對話方塊的螢幕擷取畫面。會顯示 [U R L 序列] 方塊。

  7. 按一下 [確定]。

組態

元素 <requestFiltering> 是在全域、網站或 URL 層級設定。

屬性

屬性 描述
allowHighBitCharacters 選擇性 Boolean 屬性。

指定是否允許 URL 中的非 ASCII 字元。

預設值是 true

子元素

元素 描述
fileExtensions 選擇性項目。

指定允許或拒絕的副檔名,以限制傳送至 FTP 伺服器的要求類型。
requestLimits 選擇性項目。

指定 FTP 伺服器所處理之要求的限制。
hiddenSegments 選擇性項目。

指定用戶端無法存取特定 URL 區段。
denyUrlSequences 選擇性項目。

指定應該拒絕的序列,以協助防止 FTP 伺服器上的 URL 型攻擊。

組態範例

下列範例說明 FTP 月臺元素中的 <system.ftpServer> 數個安全性相關組態設定。 更具體來說, <location> 此範例中的設定會示範如何:

  • 為系統管理員群組指定讀取和寫入權限的 FTP 授權規則。
  • 指定 FTP 要求篩選選項,拒絕 *.exe、*.bat和 *.cmd 檔案。
  • 指定最大內容長度為 1000000 個位元組的 FTP 要求限制,以及 URL 長度上限為 1024 個位元組。
  • 封鎖對_vti_bin虛擬目錄的 FTP 存取,此目錄會與 FrontPage Server Extensions 搭配使用。
  • 指定 FTP IP 篩選選項,允許從 127.0.0.1 存取,並拒絕來自 169.254.0.0/255.255.0.0 範圍的 IP 位址存取。
<location path="ftp.example.com">
  <system.ftpServer>
    <security>
      <authorization>
        <add accessType="Allow" roles="administrators" permissions="Read, Write" />
      </authorization>
      <requestFiltering>
        <fileExtensions allowUnlisted="true">
          <add fileExtension=".exe" allowed="false" />
          <add fileExtension=".bat" allowed="false" />
          <add fileExtension=".cmd" allowed="false" />
        </fileExtensions>
        <requestLimits maxAllowedContentLength="1000000" maxUrl="1024" />
        <hiddenSegments>
          <add segment="_vti_bin" />
        </hiddenSegments>
      </requestFiltering>
      <ipSecurity enableReverseDns="false" allowUnlisted="true">
        <add ipAddress="127.0.0.1" allowed="true" />
        <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" allowed="false" />
      </ipSecurity>
    </security>
  </system.ftpServer>
</location>

範例程式碼

下列範例會指定 FTP 要求篩選選項,以拒絕 *.exe、*.com、*.bat和 *.cmd 檔案。

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.exe',allowed='False']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.com',allowed='False']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.cmd',allowed='False']" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /+"fileExtensions.[fileExtension='.bat',allowed='False']" /commit:apphost

注意

當您使用 AppCmd.exe 來設定這些設定時,請務必將 認可 參數 apphost 設定為 。 這會將組態設定認可至ApplicationHost.config檔案中的適當位置區段。

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.GetApplicationHostConfiguration();
         ConfigurationSection requestFilteringSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site");
         ConfigurationElement fileExtensionsElement = requestFilteringSection.GetChildElement("fileExtensions");
         ConfigurationElementCollection fileExtensionsCollection = fileExtensionsElement.GetCollection();

         ConfigurationElement addElement = fileExtensionsCollection.CreateElement("add");
         addElement["fileExtension"] = @".exe";
         addElement["allowed"] = false;
         fileExtensionsCollection.Add(addElement);

         ConfigurationElement addElement1 = fileExtensionsCollection.CreateElement("add");
         addElement1["fileExtension"] = @".com";
         addElement1["allowed"] = false;
         fileExtensionsCollection.Add(addElement1);

         ConfigurationElement addElement2 = fileExtensionsCollection.CreateElement("add");
         addElement2["fileExtension"] = @".cmd";
         addElement2["allowed"] = false;
         fileExtensionsCollection.Add(addElement2);

         ConfigurationElement addElement3 = fileExtensionsCollection.CreateElement("add");
         addElement3["fileExtension"] = @".bat";
         addElement3["allowed"] = false;
         fileExtensionsCollection.Add(addElement3);

         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.GetApplicationHostConfiguration
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site")
      Dim fileExtensionsElement As ConfigurationElement = requestFilteringSection.GetChildElement("fileExtensions")
      Dim fileExtensionsCollection As ConfigurationElementCollection = fileExtensionsElement.GetCollection

      Dim addElement As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement("fileExtension") = ".exe"
      addElement("allowed") = False
      fileExtensionsCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement1("fileExtension") = ".com"
      addElement1("allowed") = False
      fileExtensionsCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement2("fileExtension") = ".cmd"
      addElement2("allowed") = False
      fileExtensionsCollection.Add(addElement2)

      Dim addElement3 As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement3("fileExtension") = ".bat"
      addElement3("allowed") = False
      fileExtensionsCollection.Add(addElement3)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var fileExtensionsElement = requestFilteringSection.ChildElements.Item("fileExtensions");
var fileExtensionsCollection = fileExtensionsElement.Collection;

var addElement = fileExtensionsCollection.CreateNewElement("add");
addElement.Properties.Item("fileExtension").Value = ".exe";
addElement.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement);

var addElement1 = fileExtensionsCollection.CreateNewElement("add");
addElement1.Properties.Item("fileExtension").Value = ".com";
addElement1.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement1);

var addElement2 = fileExtensionsCollection.CreateNewElement("add");
addElement2.Properties.Item("fileExtension").Value = ".cmd";
addElement2.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement2);

var addElement3 = fileExtensionsCollection.CreateNewElement("add");
addElement3.Properties.Item("fileExtension").Value = ".bat";
addElement3.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement3);

adminManager.CommitChanges();

VBScript

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

Set addElement = fileExtensionsCollection.CreateNewElement("add")
addElement.Properties.Item("fileExtension").Value = ".exe"
addElement.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement)

Set addElement1 = fileExtensionsCollection.CreateNewElement("add")
addElement1.Properties.Item("fileExtension").Value = ".com"
addElement1.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement1)

Set addElement2 = fileExtensionsCollection.CreateNewElement("add")
addElement2.Properties.Item("fileExtension").Value = ".cmd"
addElement2.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement2)

Set addElement3 = fileExtensionsCollection.CreateNewElement("add")
addElement3.Properties.Item("fileExtension").Value = ".bat"
addElement3.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement3)

adminManager.CommitChanges()

下列範例會指定最大內容長度為 1000000 位元組的 FTP 要求限制,以及 URL 長度上限為 1024 個位元組。

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/requestFiltering /requestLimits.maxAllowedContentLength:"1000000" /requestLimits.maxUrl:"1024" /commit:apphost

注意

當您使用 AppCmd.exe 來設定這些設定時,請務必將 認可 參數 apphost 設定為 。 這會將組態設定認可至ApplicationHost.config檔案中的適當位置區段。

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.GetApplicationHostConfiguration();
         ConfigurationSection requestFilteringSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site");

         ConfigurationElement requestLimitsElement = requestFilteringSection.GetChildElement("requestLimits");
         requestLimitsElement["maxAllowedContentLength"] = 1000000;
         requestLimitsElement["maxUrl"] = 1024;

         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.GetApplicationHostConfiguration
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.ftpServer/security/requestFiltering", "Default Web Site")

      Dim requestLimitsElement As ConfigurationElement = requestFilteringSection.GetChildElement("requestLimits")
      requestLimitsElement("maxAllowedContentLength") = 1000000
      requestLimitsElement("maxUrl") = 1024

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var requestLimitsElement = requestFilteringSection.ChildElements.Item("requestLimits");
requestLimitsElement.Properties.Item("maxAllowedContentLength").Value = 1000000;
requestLimitsElement.Properties.Item("maxUrl").Value = 1024;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set requestFilteringSection = adminManager.GetAdminSection("system.ftpServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set requestLimitsElement = requestFilteringSection.ChildElements.Item("requestLimits")
requestLimitsElement.Properties.Item("maxAllowedContentLength").Value = 1000000
requestLimitsElement.Properties.Item("maxUrl").Value = 1024

adminManager.CommitChanges()