以下是设置Ubuntu FTP服务器安全策略的关键步骤:
-
安装FTP服务器
以vsftpd为例:sudo apt update && sudo apt install vsftpd -
配置vsftpd
编辑配置文件/etc/vsftpd.conf:- 禁用匿名访问:
anonymous_enable=NO - 限制用户权限:
chroot_local_user=YES(限制用户主目录)+allow_writeable_chroot=YES(允许主目录可写) - 启用SSL/TLS加密:
ssl_enable=YES rsa_cert_file=/etc/ssl/certs/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem生成证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem - 被动模式端口范围:
pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000
- 禁用匿名访问:
-
配置防火墙(以UFW为例)
sudo ufw allow 20/tcp # FTP数据连接 sudo ufw allow 21/tcp # FTP控制连接 sudo ufw allow 30000:31000/tcp # 被动模式端口范围 sudo ufw enable -
用户管理
- 创建专用FTP用户并设置强密码:
sudo adduser ftpuser sudo passwd ftpuser - 禁止FTP用户通过SSH登录:
sudo usermod -s /sbin/nologin ftpuser
- 创建专用FTP用户并设置强密码:
-
启用日志与监控
在/etc/vsftpd.conf中添加:xferlog_enable=YES xferlog_std_format=YES定期检查日志
/var/log/vsftpd.log。 -
定期更新与安全加固
sudo apt update && sudo apt upgrade -y可选:使用
fail2ban防止暴力破解。
关键安全措施:优先使用SFTP(基于SSH)替代FTP,避免明文传输;定期审计用户权限与系统漏洞。