阅读量:3
CentOS FTP安全设置指南(基于vsftpd)
1. 安装vsftpd
首先更新系统并安装vsftpd(vsftpd是CentOS下常用的安全FTP服务器软件):
sudo yum update -y
sudo yum install vsftpd -y
2. 配置vsftpd.conf文件
编辑核心配置文件/etc/vsftpd/vsftpd.conf,调整以下关键参数以提升安全性:
- 禁用匿名访问:匿名用户无密码验证,风险极高,必须关闭。
anonymous_enable=NO - 允许本地用户登录:仅允许系统用户通过账号密码登录(需配合强密码策略)。
local_enable=YES - 启用写入权限:根据需求决定是否允许用户上传文件(若需上传,需设置正确的目录权限)。
write_enable=YES - 锁定用户主目录:通过
chroot将用户限制在自己的主目录,防止访问系统其他文件。chroot_local_user=YES allow_writeable_chroot=YES # 若用户主目录需写入,设置为YES(需注意安全风险) - 限制被动模式端口范围:被动模式(PASV)用于数据传输,指定端口范围以避免防火墙拦截。
pasv_enable=YES pasv_min_port=1024 pasv_max_port=1048 - 启用SSL/TLS加密:强制使用FTPS(FTP over SSL/TLS)加密数据传输,避免明文泄露。
ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
3. 配置防火墙
使用firewalld开放FTP相关端口(命令端口21、被动模式端口范围),允许合法流量通过:
# 开放FTP服务(自动包含21端口)
sudo firewall-cmd --permanent --add-service=ftp
# 开放被动模式端口范围
sudo firewall-cmd --permanent --add-port=1024-1048/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
4. 强化用户管理
- 创建专用FTP用户:避免使用root用户登录,创建专门用于FTP的用户并设置强密码。
sudo useradd -m ftpuser # 创建用户并生成家目录 sudo passwd ftpuser # 设置强密码(包含大小写字母、数字、特殊字符) - 限制用户列表:通过
user_list文件控制允许访问FTP的用户(需配合userlist_enable=YES和userlist_deny=YES,默认配置)。# 编辑/etc/vsftpd/user_list,添加允许访问的用户名(每行一个) echo "ftpuser" | sudo tee -a /etc/vsftpd/user_list
5. 启用日志记录
开启详细日志记录,便于监控FTP活动(如登录、文件传输等),及时发现异常行为:
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
6. 更新与维护
定期更新vsftpd及系统组件,修复已知安全漏洞:
sudo yum update vsftpd -y
sudo yum update -y
7. 可选:使用SFTP替代FTP
若对安全性要求极高,建议使用SFTP(SSH File Transfer Protocol),它基于SSH协议,无需额外配置FTP服务,安全性更高:
# 安装OpenSSH服务器(若未安装)
sudo yum install openssh-server -y
# 启动SSH服务
sudo systemctl start sshd
sudo systemctl enable sshd
# 创建SFTP专用用户(限制其只能使用SFTP)
sudo useradd -m sftpuser
sudo passwd sftpuser
# 配置SSH限制用户访问(编辑/etc/ssh/sshd_config)
echo "Match User sftpuser" | sudo tee -a /etc/ssh/sshd_config
echo " ChrootDirectory /home/sftpuser" | sudo tee -a /etc/ssh/sshd_config
echo " ForceCommand internal-sftp" | sudo tee -a /etc/ssh/sshd_config
echo " AllowTcpForwarding no" | sudo tee -a /etc/ssh/sshd_config
echo " X11Forwarding no" | sudo tee -a /etc/ssh/sshd_config
# 重启SSH服务
sudo systemctl restart sshd
通过以上步骤,可显著提升CentOS FTP服务器的安全性,防范未授权访问、数据泄露等风险。需根据实际需求调整配置,并定期进行安全审计。
以上就是关于“CentOS FTP安全设置怎么做”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm