以下是Ubuntu vsftpd的安全加固步骤:
安装vsftpd
sudo apt update && sudo apt install vsftpd
配置vsftpd
/etc/vsftpd.conf
,设置anonymous_enable=NO
。chroot_local_user=YES
,将用户限制在主目录,配合allow_writeable_chroot=YES
允许写入。pasv_min_port
和pasv_max_port
(如30000-31000),避免使用默认端口。xferlog_enable=YES
,记录传输行为。防火墙配置
使用ufw
放行FTP控制端口(21)和被动模式端口范围:
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
启用TLS/SSL加密
sudo apt install openssl
sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/ftp.crt -keyout /etc/ssl/private/ftp.key
/etc/vsftpd.conf
,添加:ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ftp.crt
rsa_private_key_file=/etc/ssl/private/ftp.key
sudo systemctl restart vsftpd
。用户权限管理
sudo useradd -m -s /sbin/nologin ftpuser
sudo passwd ftpuser
sudo chmod 755 /home/ftpuser
,上传目录单独授权(如/home/ftpuser/upload
设为775)。定期更新与维护
定期执行sudo apt update && sudo apt upgrade
,修补系统及软件漏洞。
可选增强措施: