以下是CentOS下vsftpd的安全设置步骤:
安装vsftpd
sudo yum update && sudo yum install vsftpd
基础安全配置(修改/etc/vsftpd/vsftpd.conf)
anonymous_enable=NOlocal_enable=YESchroot_local_user=YESallow_writeable_chroot=YESpasv_enable=YESpasv_min_port=50000pasv_max_port=50010ssl_enable=YESforce_local_data_ssl=YESforce_local_logins_ssl=YESrsa_cert_file=/path/to/cert.pemrsa_private_key_file=/path/to/key.pem防火墙配置
开放FTP及被动模式端口:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=50000-50010/tcp # 若启用被动模式
sudo firewall-cmd --reload
用户管理
sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser
sudo passwd ftpuser
/etc/vsftpd/user_list控制允许登录的用户(白名单)日志与权限
xferlog_enable=YESsudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
SELinux设置(可选)
若启用SELinux,需调整策略:
sudo setsebool -P ftp_home_dir on
sudo chcon -Rt svirt_sandbox_file_t /home/
重启服务
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
验证:使用FTP客户端(如FileZilla)连接服务器,确保需输入用户名密码,且连接为加密模式(如显示“SSL/TLS”)。
注:以上配置可根据实际需求调整,生产环境建议使用强密码、限制IP访问(通过/etc/hosts.allow/deny)并定期更新系统。