防止Ubuntu FTP被攻击可从以下方面入手:
- 禁用匿名访问:在vsftpd配置文件中设置
anonymous_enable=NO
,禁止匿名用户登录。
- 强化用户认证
- 使用强密码策略,定期更换密码。
- 启用本地用户认证,限制用户仅能访问其主目录(
chroot_local_user=YES
)。
- 使用加密传输
- 采用FTPS(FTP over SSL/TLS),在vsftpd配置中启用
ssl_enable=YES
,并配置证书。
- 优先使用SFTP(基于SSH),更安全且无需额外配置FTP端口。
- 配置防火墙
- 使用UFW限制FTP相关端口(默认20、21,被动模式需开放额外端口如50000-50050)。
- 禁止未使用的端口,仅允许必要流量。
- 限制用户权限
- 禁止用户上传可执行文件,通过
hide_ids=YES
隐藏文件权限信息。
- 限制用户只能访问指定目录,防止越权操作。
- 启用安全机制
- 安装Fail2Ban等工具,防止暴力破解。
- 定期更新系统和软件,修补漏洞。
- 监控与日志
- 启用详细日志记录(
xferlog_enable=YES
),定期分析异常活动。
- 使用工具如Lynis定期扫描系统漏洞。
关键操作:优先使用SFTP替代FTP,配置SSL加密,并严格限制用户权限与访问范围。