1. 选择安全FTP软件并安装
在Debian上,vsftpd(Very Secure FTP Daemon)是首选FTP服务器软件,以其高安全性和稳定性著称。安装步骤:更新系统包列表并安装vsftpd:sudo apt update && sudo apt install vsftpd。
2. 严格配置vsftpd.conf文件
编辑/etc/vsftpd.conf(需root权限),通过以下关键参数强化安全:
anonymous_enable=NO(防止未授权用户上传/下载文件);local_enable=YES(允许本地系统用户登录);chroot_local_user=YES(将用户限制在其家目录,无法访问系统其他路径);allow_writeable_chroot=YES(避免因家目录不可写导致登录失败);write_enable=NO(进一步增强安全性);chroot_list_enable=YES和chroot_list_file=/etc/vsftpd.chroot_list,仅允许列表中的用户访问FTP服务器(需手动添加允许的用户)。3. 配置防火墙规则
使用**UFW(Uncomplicated Firewall)**管理防火墙,允许FTP必需的端口:
sudo ufw allow 21/tcp;sudo ufw allow 20/tcp;/etc/vsftpd.conf设置pasv_min_port=30000、pasv_max_port=31000,然后在UFW中允许该范围:sudo ufw allow 30000:31000/tcp;sudo ufw enable(确认规则生效后,仅允许指定流量通过)。4. 启用TLS/SSL加密传输
FTP默认传输为明文,易被窃听。通过以下步骤启用TLS/SSL:
sudo apt install openssl;sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem(私钥和证书合并为一个文件);/etc/vsftpd.conf中添加:ssl_enable=YES、force_local_data_ssl=YES、force_local_logins_ssl=YES、rsa_cert_file=/etc/ssl/private/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.pem(强制所有连接使用加密)。5. 强化用户权限与访问控制
sudo adduser ftpuser(设置强密码,如包含大小写字母、数字和特殊字符);/var/ftp),并设置权限:sudo usermod -d /var/ftp ftpuser、sudo chmod 755 /var/ftp(确保用户只能访问自己的目录);/etc/ssh/sshd_config,设置PermitRootLogin no(防止root通过SSH登录),重启SSH服务:sudo systemctl restart sshd。6. 定期更新与维护
sudo apt update && sudo apt upgrade,安装最新的安全补丁(修复已知漏洞);/var/log/vsftpd.log,通过tail -f /var/log/vsftpd.log实时查看登录记录,或使用Logwatch工具自动生成每日报告;Lynis或OpenVAS等工具定期扫描FTP服务器,检测潜在安全问题(如弱密码、未授权访问)。7. 额外安全措施
/etc/ssh/sshd_config,设置PasswordAuthentication no、PubkeyAuthentication yes(强制使用SSH密钥认证,提升远程管理安全性);/etc/pam.d/common-password,添加minlen=12(密码最小长度12位)、dcredit=-1(至少1个小写字母)、ucredit=-1(至少1个大写字母)、ocredit=-1(至少1个特殊字符),强制用户设置复杂密码;chkrootkit或rkhunter工具检查系统是否被植入rootkit,及时发现并清除恶意软件。