centos

centos下vsftp安全设置方法

小樊
34
2025-11-05 15:46:04
栏目: 智能运维

CentOS下VSFTP安全设置方法

1. 更新系统与安装VSFTPD

首先,确保系统软件包为最新状态,降低已知漏洞风险:

sudo yum update -y

安装VSFTPD(Very Secure FTP Daemon):

sudo yum install vsftpd -y

2. 基础配置文件安全设置

编辑VSFTPD主配置文件/etc/vsftpd/vsftpd.conf,调整以下核心参数以强化基础安全:

3. 防火墙配置

允许FTP服务及被动模式端口通过防火墙(CentOS 7及以上使用firewalld):

# 允许FTP服务(默认端口21)
sudo firewall-cmd --permanent --add-service=ftp
# 允许被动模式端口范围(如1024-1048,需与配置文件中的pasv_min/max_port一致)
sudo firewall-cmd --permanent --add-port=1024-1048/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload

4. 启用SSL/TLS加密

为防止数据传输被窃听,必须启用SSL/TLS加密:

5. 被动模式(PASV)配置

被动模式可避免防火墙拦截主动连接,需指定端口范围:

pasv_enable=YES
pasv_min_port=1024  # 被动模式最小端口
pasv_max_port=1048  # 被动模式最大端口

6. SELinux配置(若启用)

若系统启用了SELinux,需调整策略允许VSFTPD访问用户目录:

# 允许FTP访问用户家目录
sudo setsebool -P ftp_home_dir on
# 允许FTP修改文件(若需写入)
sudo setsebool -P allow_ftpd_anon_write 0  # 禁止匿名用户写入

7. 创建专用FTP用户

避免使用root用户登录,创建专用FTP账户并设置权限:

# 创建用户(-m自动创建家目录,-s禁止shell登录)
sudo useradd -m ftpuser -s /sbin/nologin
# 设置强密码
sudo passwd ftpuser
# 设置家目录权限(用户需拥有读写权限)
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

8. 重启服务与验证

应用所有配置并重启VSFTPD服务:

sudo systemctl restart vsftpd
# 设置开机自启
sudo systemctl enable vsftpd

使用FTP客户端(如FileZilla)连接服务器,选择“FTPS - FTP over TLS”模式,验证加密连接是否成功(客户端会显示锁图标)。

9. 日志与监控

启用传输日志,便于追踪异常活动:

xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

定期检查日志文件:

sudo tail -f /var/log/vsftpd.log

安全注意事项

0
看了该问题的人还看了