CentOS下FileZilla安全设置指南
一 适用场景与总体原则
- 明确目标:在CentOS上,FileZilla通常指两类组件——FileZilla Server(服务端)与FileZilla Client(客户端)。安全目标包括:强制加密传输、最小化暴露面、细粒度访问控制、可审计与可运维。
- 协议选择:优先使用SFTP(基于SSH)或FTPS(FTP over SSL/TLS);不建议使用明文FTP。若使用FTPS,需同时开放控制通道与被动模式端口,并正确配置证书与加密策略。
二 服务端 FileZilla Server 安全加固
- 管理接口安全
- 修改默认管理端口(如由14147改为自定义端口),仅允许受控来源IP访问管理接口;设置高强度管理员密码并定期轮换。
- 加密与证书
- 启用SSL/TLS:在“SSL/TLS Settings”中生成或导入证书,勾选“Enable FTP over SSL/TLS support(FTPS)”,并在用户/组策略中要求加密登录(Force SSL/TLS)。
- 反滥用与访问控制
- 启用自动封禁(Autoban),对短时间多次登录失败的来源IP进行临时封禁(如10次/小时阈值);启用IP过滤器,仅放行可信网段;默认阻止FXP(服务器到服务器传输),必要时再按需放开并配合严格IP过滤,降低反弹/DoS风险。
- 被动模式与防火墙
- 在“Passive Mode Settings”中设置自定义PASV端口范围(如40000–50000),并在网关/防火墙做DNAT端口映射;若服务器位于NAT后,启用“Retrieve external IP address from”或手动填写公网出口IP,避免客户端拿到内网地址导致数据通道失败。
- 日志与监控
- 启用访问与传输日志,设置合理的滚动与留存策略;结合系统日志(如journald)与入侵检测(如fail2ban)进行联动告警与阻断。
三 客户端 FileZilla Client 安全配置
- 站点加密与验证
- 在“站点管理器”新增站点,协议选择SFTP或FTP,加密选择Require explicit FTP over TLS(显式)或Implicit FTP over TLS(隐式,默认端口990);首次连接验证服务器证书指纹并选择“总是信任此证书”(仅限可信服务器)。
- 传输与模式
- 启用断点续传与合理的并行任务数(默认2,可按网络与服务器负载调至不超过10);根据网络环境在主动/被动模式间选择,必要时切换以规避“425 Can’t open data connection”等数据通道问题。
四 防火墙与端口规划示例
- 场景A:仅使用SFTP(推荐)
- 放行端口:22/tcp(SSH/SFTP);仅开放必要来源IP更佳。
- 场景B:使用FTPS显式(AUTH TLS)
- 放行端口:21/tcp(控制通道)、自定义PASV端口范围(如40000–50000/tcp);示例(firewalld):
- firewall-cmd --permanent --add-port=21/tcp
- firewall-cmd --permanent --add-port=40000-50000/tcp
- firewall-cmd --reload
- 场景C:使用FTPS隐式
- 放行端口:990/tcp(隐式控制通道)、自定义PASV端口范围(如40000–50000/tcp);示例(firewalld):
- firewall-cmd --permanent --add-port=990/tcp
- firewall-cmd --permanent --add-port=40000-50000/tcp
- firewall-cmd --reload
- NAT/云主机:在网关或云安全组将PASV端口范围做入站DNAT映射,并确保回程路由正确。
五 合规与运维要点
- 用户与权限
- 为每个用户/组分配最小权限与家目录根目录(chroot/jail)隔离;禁用匿名登录(除非业务明确需要且已隔离与审计);强制复杂口令与定期更换;必要时启用密钥认证(SFTP)。
- 协议与加密策略
- 禁用明文FTP;FTPS仅启用TLS 1.2/1.3,禁用SSL v2/v3与不安全套件;客户端连接时优先选择显式TLS,必要时使用隐式TLS(990)。
- 维护与审计
- 保持FileZilla Server/Client与系统组件及时更新;集中收集与归档日志,定期审计异常登录与传输行为;对公网暴露面进行最小化与周期性复查。