問題
在IIS7+中可以安裝請求過濾(Request Filtering)功能模塊,通過這個模塊可以通過各種角度(文件擴展名,URL,Http Verb,Http header,Query string)來對請求進行過濾。Request Filtering不僅可以過濾http服務請求,FTP服務也同樣適用。比如有些情況下, 我們需要允許客戶上傳文件, 與此同時又要禁止用戶下載文件. 在IIS7/7.5中, 可以通過配置FTP Request Filtering來實現這一功能.
分析
FTP 請求篩選是一種安全功能。這是一項在IIS 7/7.5上內置的功能. 通過此功能,Internet 服務提供商 (ISP) 和應用服務提供商可以限制協議和內容行為。他與HTTP 網站的請求篩選功能相類似. 在使用這個功能之前,需要確保FTP Service已經被安裝上.
具體安裝步驟請參考: http://www.iis.net/configreference/system.ftpserver/security/requestfiltering
FTP 請求篩選所能篩選的內容包括:
元素名稱 |
描述 |
文件擴展名 |
列表指定 FTP 服務將允許或拒絕其訪問的文件擴展名。 |
隱藏段 |
列表指定 FTP 服務將拒絕其訪問,且將不在目錄列表中顯示的隱藏段。 |
拒絕的 URL 序列 |
列表指定 FTP 服務將拒絕其訪問的 URL 序列。 |
命令 |
列表指定 FTP 服務將允許或拒絕其訪問的 FTP 命令。 |
請參考 : http://technet.microsoft.com/zh-cn/library/dd851560.aspx
在這里, 我們主要是利用FTP 請求篩選功能來過濾某一個FTP的命令, 以此來拒絕用戶下載文件.
通過實驗, 用戶在通過GET命令下載文件時, FTP日志中記錄的是RECV命令. GET命令和RECV命令是幾乎等價的命令. 用來將遠端(FTP)上的文件COPY到本地.
請參考 :
http://technet.microsoft.com/library/bb490655.aspx
http://technet.microsoft.com/library/bb490675.aspx
步驟
1. 以管理員的身份進入IIS管理器.
2. 展開您需要管理的FTP網站.
3. 在右側的feature view中, 雙擊 “FTP Request Filtering”.
4. 點擊”Commands”選項卡.
5. 點擊右側Action Pane的”Deny Command”.
6. 在彈出對話框中輸入 “RETR”. 點擊OK.
使用FileZilla在進行測試這些配置.
1. 通過FileZilla上傳一個測試用的文件test.txt
2. 在下載文件的時候, 當執行到RETR命令時, 該請求會被拒絕.
希望以上內容對您有所幫助
Sonic Guo