FTP文件服务器 File Transfer Protocol 文件传输协议,规范不同计算机传输文件的共同协议
vsftpd Very Secure FTP Daemon 安全性较高的FTP软件
检测是否安装了vsftpd软件:rpm -qa |grep vsftpd
安装vsftpd软件:yum install -y vsftpd
配置防火墙: vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT 默认FTP端口
重新启动防火墙:service iptables restart
解除SELinux保护:setsebool ftpd_disable_trans 1
setsebool -P ftp_home_dir=1
也可关闭SELinux 临时关闭 setenforce 0
永久关闭 vim /etc/selinux/config
SELINUX=disable
启动vsftpd服务:service vsftpd start
默认启动: chkconfig vsftpd on
检查vsftpd的运行状态:netstat -tunlp | grep vsftpd
重新读取vsftpd配置文件:service vsftpd reload
配置ftp服务器
配置端口:ftp服务器默认端口为21,为了服务的安全性。通常修改;但是apache较少修改,因为
很多用户输入网址的时候不会加上端口号
配置文件没有修改端口的参数,只需在配置文件最后加上
vim /etc/vsftpd/vsftpd.conf
listen_port=2112
记得配置好端口要配置防火墙并重启,且重启vsftpd
配置上下带宽:配置文件中的参数anon_max_rate 限制匿名用户传输率
local_max_rate 限制本机用户传输率
vim /etc/vsftpd/vsftpd.conf
最后一行加入local_max_rate=300000 限制本地用户上下带宽为300k
重启生效
配置特定用户带宽:创建管理用户带宽的配置文件目录,默认配置文件没有,自定写入
user_config_dir=/etc/vsftpd/limit 管理用户带宽的配置文件目录(自己决定路劲)
mkdir /etc/vsftpd/limit 创建与配置文件相同的文件夹
写入:local_max_rate=100000 限速 100k
限制客户端可链接的IP地址:利用tcp_wrappers host.deny host.allow 参数限制
vim /etc/vsftpd/vsftpd.conf 中的tcp_wrappers=YES 检查是否为YES
配置hosts.deny: vim /etc/hosts.deny 最后加入:vsftpd:all:Deny 限制所有网段不可以连
(编辑限制配置文件)
配置hosts.allow vim /etc/hosts.allow 最后加入 vsftpd:192.168.58.*:Allow开放此网段
(编辑允许链接的文件)
配置黑名单:限制服务器内哪些用户不能登陆,因为主机内部有很多用户,不一定每个用户
都需要登陆FTP,不过删除账号可能影响其他服务运行,所以加入黑名单
配置文件中的参数 userlist_enable 为YES限制系统黑名单用户登陆,NO就不会检查黑名单
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES
vim /etc/vsftpd/user_list //编辑黑名单即可,加入帐户名:
配置匿名登陆,不允许普通用户登陆
通常FTP主机为公用的服务,不开放普通用户登陆是防止普通用户登陆后,
对其他用户的目录做错误操作
匿名用户anonymous_enable参数
(匿名用户需要输入anonymous,不需要输入密码)
普通用户local_enable参数 都是YES允许,NO不允许
重启生效
注意:通常为了安全性都会禁止匿名用户登录 anonymous_enable=NO
配置IP链接数量:如果一个IP地址对主机链接太多,只会让主机耗费不必要的资源
IP链接数量参数:max_per_ip=链接数量 0为无限制
vim /etc/vsftpd/vsftpd.conf
重启生效
限制空闲时间过久即断线:空闲状态下一直链接,消耗主机的资源:过久的必须断开
参数 idle_session_timeout=秒数;配置文件中注释掉了这一行,去掉#号
重启生效
禁止用户切换目录:默认FTP服务器,用户可以读取主机上其他目录的权限,为了安全
参数 chroot_local_user=YES 6.0之前要自行输入,之后的配置文件注释掉了,只需去掉#号
重启生效
限制特定用户不可以切换用户目录
参数 chroot_list_enable=YES 配置文件注释掉了,只需去掉#号
建立禁止的用户的文件chroot_list
vim /etc/vsftpd/chroot_list 写入用户名即可
重启生效
注意:chroot_local_user 和 chroot_list_enable 不可以同时使用,同时用效果相反
Vsftpd使用SSL/TLS加密传输:
加上SSL可以提高FTP的安全性,类似将apache的http配置成https,
安装OpenSSL:rpm -qa |grep openssl 检查是否安装OpenSSL
yum install -y openssl
创建凭证CA:凭证存放路径:/etc/pki/tls/certs
openssl req -x509 -nodes -newkey rsa:1024
-keyout /etc/pki/tls/certs/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
修改凭证的权限 chmod 600 vsftpd.pem
配置SSL至Vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
加入 rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem //凭证存放路径
ssl_enable=YES //启动SSL
force_local_data_ssl=YES //传输时强制使用SSL
force_local_logins_ssl=YES //登陆时强制使用SSL
SSL(Secure Sockets Layer 安全套接层)协议,及其继任者TLS
(Transport Layer Security传输层安全)协议,是为网络通信提供安全及数据完整性的
一种安全协议
SSL 证书就是遵守 SSL协议的服务器数字证书,由受信任的证书颁发机构(CA机构),
验证服务器身份后颁发,部署在服务器上,具有网站身份验证和加密传输双重功能。
CA认证是Certificate Authority的简称,指电子商务认证授权机构。它是负责发放和管理数字
证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
转载于:https://blog.51cto.com/14240011/2370303