CentOS7如何架设FTP:从安装到安全配置全流程
准备工作
确保系统已更新至最新版本:
sudo yum update -y
安装vsftpd服务
执行以下命令安装FTP服务端软件:
sudo yum install vsftpd -y
启动服务并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
配置防火墙规则
开放FTP服务所需端口:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
修改主配置文件
编辑/etc/vsftpd/vsftpd.conf
文件,关键参数配置示例如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=45000
创建FTP专用用户
建立系统用户并设置访问限制:
sudo useradd -d /var/ftp/user1 -s /sbin/nologin user1
sudo passwd user1
sudo chmod 750 /var/ftp/user1
配置用户访问权限
通过用户列表限制访问:
echo "user1" | sudo tee -a /etc/vsftpd/user_list
sudo systemctl restart vsftpd
SSL加密传输(可选)
生成SSL证书并配置加密连接:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
-keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
在配置文件中添加SSL参数:
ssl_enable=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
服务验证与测试
使用FileZilla或命令行工具进行连接测试:
ftp 服务器IP地址
故障排查要点
- 检查SELinux状态:
getenforce
- 查看日志文件:
tail -f /var/log/vsftpd.log
- 验证配置文件语法:
vsftpd -olisten=NO /etc/vsftpd/vsftpd.conf
安全加固建议
- 定期轮换SSL证书
- 启用fail2ban防护
- 限制连接IP范围
- 配置传输速率限制