#yyds干货盘点# web安全day7(IIS之FTP服务器)

仓廪实则知礼节,衣食足则知荣辱。这篇文章主要讲述#yyds干货盘点# web安全day7:IIS之FTP服务器相关的知识,希望能为你提供帮助。
1、简介ftp服务器全称叫做file transfor protocol 服务器,中文叫做文件传输协议。
2、所用的端口号tcp20和21.其中20是数据传输端口,21是控制端口。
3、ftp的工作方式server有两个进程 一个主进程 负责接收新的请求 若干从进程 负责处理单个请求 
主进程的工作步骤:
监听21号端口 等待client发来的连接请求
启动从属进程 处理client发来的连接请求 
client向server的21号端口发起连接请求时 还会携带一个随机端口 作为建立数据传送的端口 
server使用20号端口与client的提供端口建立数据传送连接
ftp有两种工作模式
1)主动模式 (2步):server主动连接client 
client使用随机端口N 向server的21号端口建立控制连接 发送port命令 通告自己的数据传送端口M
server通过自己的20号端口主动向client的M端口建立数据连接 



问题:client端的防火墙deny外部server主动发起ftp连接(20)
解决:server端防火墙开21端口准入 20端口准出
                  client端设置相关应用通过防火墙 


因此不建议在客户端开启防火墙的情况下, 使用主动模式。
2)被动模式(3步):client主动连接server,即server被client连接
client使用随机端口N 向server的21号端口建立控制连接 发送pasv命令 
server随机打开一个高端端口P作为自己的数据传送端口 发送port命令 通告client自己的数据传送端口是P 
client使用随机端口M连接P端口 建立数据连接

问题:server端的防火墙deny外部client向p端口发送的ftp连接
解决:server端防火墙开21端口准入 设置p端口范围 开启针对p的准入
ftp报文中 port或者pasv报文包含active ip addr 和active port 字段 


注意:主被动模式,选择权在客户机上,所谓主或者被是站在服务器的角度,阐述的是数据传输过程。
4、实验一:创建FTP站点在做iis的web服务的时候,已经默认开启了ftp服务,所以此时我们不需要特意去打开,我们可以在客户机中进行验证。



可以看到我们已经可以访问到服务器的ftp了。


那么我们的默认站点在哪里呢?我们可以在iis管理器中找到ftp站点,查看默认站点的属性信息,可以看到其位置存在于C盘下的inetpub文件夹下的ftproot,我们可以实际在这个文件夹中放一些文件,再次尝试在客户机中进行访问。





没有问题,我们可以访问到它。





我还可以更改默认位置,比如修改为我们之前所建立的web服务器的目录,便于我们后期远程对网页内容进行修改。





此外,我们也可以将默认的ftp站点删除,自己发布新的ftp站点。



其他的内容都默认就行了。





完成后,还是可以访问我们希望的内容。



我们在服务器中创建两个新用户,分别是admin和user1.





我们关闭ftp站点的允许匿名连接功能,后续所有人的访问都需要输入用户名和口令。







我们在我们的ftp站点的文件夹内新建两个子文件夹,它们分别是作业和笔记,我们基于的场景是老师给笔记文件夹内放置笔记内容,学生向作业文件夹内放置作业内容。它们的权限是不同的,其中老师对于两个文件夹都有完全控制权限,而学生对于作业文件夹只有写入和读取文件夹目录的权限,对于笔记文件夹有读取、读取文件夹目录、读取和允许的权限。
我们给作业文件夹配置安全权限,给admin完全控制权限,给user1写入和列出文件夹目录权限。











我们给笔记文件夹配置安全权限,给admin完全控制权限,让user1继承上级文件夹的默认权限(读取和运行、列出文件夹目录、读取)


我们再次从客户端中尝试登录ftp站点的时候,已经需要输入我们的用户名和口令了。我们分别使用user1和admin的角色去登录,发现能够实现我们预期的需求。
在切换用户的时候,可以直接在文件夹中右键登录进行切换。









注意:用户最终权限为FTP权限与NTFS权限取交集,建议FTP权限全部勾选,然后具体的在NTFS里做。






【#yyds干货盘点# web安全day7(IIS之FTP服务器)】










    推荐阅读