以下是Ubuntu FTP服务器的安全加固措施:
-
安装与基础配置
- 安装vsftpd:
sudo apt update && sudo apt install vsftpd。 - 禁止匿名访问:修改
/etc/vsftpd.conf,设置anonymous_enable=NO。 - 限制用户目录:启用
chroot_local_user=YES和allow_writeable_chroot=YES,将用户限制在主目录。
- 安装vsftpd:
-
加密传输
- 启用SSL/TLS:安装证书工具,生成自签名证书,配置
ssl_enable=YES及相关证书路径。 - 使用SFTP替代(更安全):基于SSH协议,无需额外配置,直接通过SSH密钥认证。
- 启用SSL/TLS:安装证书工具,生成自签名证书,配置
-
防火墙与访问控制
- 配置ufw防火墙:允许FTP端口(21、20)及被动模式端口范围(如30000-31000)。
- 限制IP访问:通过
/etc/hosts.allow或vsftpd的tcp_wrappers限制特定IP。
-
用户权限管理
- 创建专用FTP用户:
sudo adduser ftpuser,设置主目录权限chown ftpuser:ftpuser /home/ftpuser。 - 禁用shell登录:
sudo usermod -s /sbin/nologin ftpuser,防止用户通过FTP获取shell。
- 创建专用FTP用户:
-
日志与监控
- 启用详细日志:在
/etc/vsftpd.conf中设置xferlog_enable=YES,定期检查/var/log/vsftpd.log。 - 定期更新系统:
sudo apt update && sudo apt upgrade,修复安全漏洞。
- 启用详细日志:在
-
其他安全措施
- 禁用不必要服务:
systemctl disable非必要服务,减少攻击面。 - 定期备份数据:通过
rsync或tar备份FTP数据目录。
- 禁用不必要服务:
参考来源:[1,2,3,4,5,6,7,8,9,10,11]