在CentOS系统上设置和加固FTPS(FTP over TLS)服务器涉及多个步骤,以确保数据传输的安全性和用户的隐私保护。以下是一个详细的指南,帮助你完成这一过程:
安装vsftpd:
sudo yum install vsftpd
配置vsftpd:
编辑 /etc/vsftpd/vsftpd.conf
文件,进行以下配置:
anonymous_enable=NO # 禁用匿名访问
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许用户上传文件
chroot_local_user=YES # 将用户限制在其主目录中
allow_writeable_chroot=NO # 禁止chroot目录可写(为了安全)
ssl_enable=YES # 启用SSL加密传输
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem # 指定SSL证书文件路径
重启vsftpd服务:
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
确保防火墙允许FTP流量:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=990/tcp # 用于FTPS的端口
sudo firewall-cmd --reload
如果你的CentOS系统启用了SELinux,需要调整相关策略以允许FTPS访问:
sudo setsebool -P ftp_home_dir on
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/home/ftpuser(/.*)?"
sudo restorecon -Rv /home/ftpuser
创建FTP用户:
sudo useradd -m ftpuser
sudo passwd ftpuser
设置用户目录权限:
sudo mkdir /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
使用FTP客户端(如FileZilla)连接到你的服务器,输入用户名和密码进行登录,验证是否可以成功连接和传输文件。
/etc/ssh/sshd_config
中设置 PermitRootLogin no
,并禁止通过SSH直接登录为root用户。/var/log/secure
),及时发现并应对任何异常登录尝试。通过以上步骤,你应该能够在CentOS上成功配置一个安全的FTPS服务器。请定期审查和更新安全策略,以应对不断变化的网络威胁。