如何爲被動模式 FTP 服務器配置 Windows 防火牆

6(共 9)對本文的評價是有幫助 評價此主題

更新時間: 2009年1月

應用到: Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista

由於 FTP 工作方式所致,在防火牆後的服務器上使用文件傳輸協議 (FTP) 服務會產生一系列的挑戰。通過打開到 TCP 端口號 21 的“命令通道”連接,標準模式 FTP 客戶端會啓動到服務器的會話。客戶端通過將 PORT 命令發送到服務器請求文件傳輸。然後,服務器會嘗試啓動返回到 TCP 端口號 20 上客戶端的“數據通道”連接。客戶端上運行的典型防火牆將來自服務器的此數據通道連接請求視爲未經請求,並會丟棄數據包,從而導致文件傳輸失敗。Windows Vista 和 Windows Server 2008 中的 高級安全 Windows 防火牆 支持有狀態 FTP,該 FTP 允許將端口 20 上的入站連接請求與來自客戶端的先前出站 PORT 命令相匹配。但是,如果您通過 SSL 使用 FTP 來加密和保護 FTP 通信,則防火牆不再能夠檢查來自服務器的入站連接請求,並且這些請求會被阻止。

爲了避免此問題,FTP 還支持“被動”操作模式,客戶端在該模式下啓動數據通道連接。客戶端未使用 PORT 命令,而是在命令通道上發送 PASV 命令。服務器使用 TCP 端口號進行響應,客戶端應連接到該端口號來建立數據通道。默認情況下,服務器使用極短範圍(1025 到 5000)內的可用端口。爲了更好保護服務器的安全,您可以限制 FTP 服務使用的端口範圍,然後創建一個防火牆規則:僅在那些允許的端口號上進行 FTP 通信。

本主題將討論執行以下操作的方法: 

  1. 配置 FTP 服務以便僅將有限數量的端口用於被動模式 FTP

  2. 配置入站防火牆規則以便僅在允許的端口上進行入站 FTP 連接

以下過程顯示在 Internet 信息服務 (IIS) 7.0 版上配置 FTP 服務的步驟。如果您使用其他 FTP 服務,請查閱產品文檔以找到相應的步驟。配置對 SSL 的支持不在本主題的討論範圍之內。有關詳細信息,請參閱 IIS 文檔。

配置 FTP 服務以便僅將有限數量的端口用於被動模式 FTP

  1. 在 IIS 7.0 管理器中的“連接”窗格中,單擊服務器的頂部節點。

  2. 在細節窗格中,雙擊“FTP 防火牆支持”

  3. 輸入您希望 FTP 服務使用的端口號的範圍。例如,41000-41099 允許服務器同時支持 100 個被動模式數據連接。

  4. 輸入防火牆的外部 IPv4 地址,數據連接通過該地址到達。

  5. “操作”窗格中,單擊“應用”保存您的設置。

還必須在 FTP 服務器上創建防火牆規則,以在前一過程中配置的端口上允許入站連接。儘管您可以創建按編號指定端口的規則,但是,創建打開 FTP 服務所偵聽的任何端口的規則更爲容易。通過按前一過程中的步驟操作,您可限制 FTP 偵聽的端口。

配置入站防火牆規則以便僅允許到 FTP 所偵聽端口的入站 FTP 連接

  1. 打開管理員命令提示符。依次單擊「開始」“所有程序”“附件”,右鍵單擊“命令提示符”,然後單擊“以管理員身份運行”

  2. 運行下列命令:

    netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in
  3. 最後,禁用有狀態 FTP 篩選,以使防火牆不會阻止任何 FTP 通信。

    netsh advfirewall set global StatefulFTP disable

轉載自:http://technet.microsoft.com/zh-cn/library/dd421710

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章