随笔 - 66  文章 - 0  评论 - 496  阅读 - 39万 

问题

在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

posted on   微软互联网开发支持  阅读(3332)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示