客户端 安全性 技术 通道
vsftpd 的安全性主要体现在三个方面:进程分离,处理不同任务的进程彼此是独立运行的;进程运行时均已最小权限运行;多数都使用 chroot 进行了禁锢(CHROOT 就是 Change Root,改变根的一种技术。chroot 主要作用是增进系统的安全)。
ftp 工作模式:
主动模式:1. 客户端随机开启大于 1024 的 X 端口与服务器的 21 端口建立连接通道,通道建立后,客户端随时可以通过该通道发送上传或下载的命令。
2. 当客户端需要与服务器进行数据传输时,客户端会再开启一个大于 1024 的随机 Y 端口,并将 Y 端口号通过之前的命令通道传送给服务器的 21 端口。
3. 服务器获取到客户端的第二个端口后会主动连接客户端的该端口,通过三次握手后完成服务器与客户端数据通道的建立,所有的数据均通过该数据通道进行传输。
被动模式:1. 客户端随意开启大于 1024 的 X 端口与服务器的 21 端口建立连接通道。
2. 当客户端需要与服务器进行数据传输时,客户端从命令通道发送数据请求要求上传或下载数据。
3. 服务器收到数据请求后会随机开启一个端口 Y,并通过命令通道将该端口信息传送给客户端。
4. 客户端在收到服务器发送过来的数据端口 Y 的信息后,将在客户端本地开启一个随机端口 Z,此时客户端再主动通过本机的Z端口与服务器的Y端口进行连接,通过三次握手连接完成后,即可进行数据传输。
接下来开始具体安装与管理 vsftp(centos7.2)
- yum -yinstall vsftpd
- yum -y install vsftpd
- systemctl start vsftpd
- systemctl enable vsftpd
安装完后我们可以看到具体的安装路径和配置文件所在位置;
- [[email protected]~]# rpm -qc vsftpd
- /etc/logrotate.d/vsftpd(日志轮转备份配置文件)
- /etc/pam.d/vsftpd(基于PAM的vsftpd验证配置文件)
- /etc/vsftpd/ftpusers(默认的vsftpd黑名单)
- /etc/vsftpd/user_list(可以通过主配置文件设置该文件的味黑名单或白名单)
- /etc/vsftpd/vsftpd.conf(vsftpd的主配置文件)
- (1)这里修改.conf文件
- anonymous_enable=YES(是否开启匿名访问功能,默认为开启)
- local_enable=YES
- write_enable=YES
- local_umask=022
- dirmessage_enable=YES
- xferlog_enable=YES
- xferlog_std_format=YES
- chroot_local_user=YES
- listen=YES
- pam_service_name=vsftpd
- userlist_enable=YES
- tcp_wrappers=YES
(2)服务管理
这里要启动 vsftpd 的话,在不熟悉 Linux 安装组件 SELinux 以及防火墙的情况下,我们可以暂时关闭这两个安全组件。
- setenforce 0
- systemctl stop firewalld
(3) 客户端访问
在浏览器中输入 ftp://serviceIP。多数浏览器仅供浏览和下载不能上传数据。
推荐使用 FileZilla
续.......
来源: http://www.bubuko.com/infodetail-2046973.html