Linux FTPServer的常见攻击手段及防范措施
小樊
40
2025-11-23 09:44:03
Linux FTP Server 常见攻击与防护
一 常见攻击手段
- 匿名登录与弱口令爆破:默认或弱口令账户易被自动化工具批量尝试,获取服务器写入或读取权限。FTP 协议在认证阶段为明文传输,在局域网或存在 ARP 欺骗时更易被嗅探与窃取凭据。历史上还出现过如 vsftpd 2.3.4 的恶意后门(在用户名中注入特定字符后开启 6200 端口监听)等高风险问题。
- 信息泄露与版本探测:连接 21 端口的欢迎横幅常包含 vsftpd/版本号 等信息,便于攻击者匹配已知漏洞与默认配置弱点。
- 明文嗅探与中间人:在未加密的 FTP 会话中,攻击者可抓取用户名、口令与传输内容;结合 ARP 欺骗 等手法可在同网段实施嗅探。
- 端口滥用与协议滥用:FTP 的 PORT 命令 曾被用于“FTP Bounce 攻击”,让服务器作为跳板连接内网其他服务,绕过基于源地址的访问控制。
- 命令与权限滥用:若未禁用危险命令或未做目录隔离,攻击者可利用 DELE、RNFR、RNTO 等执行删除/重命名,或通过上传 Webshell 获取进一步控制权。
二 加固与防范清单
- 优先选择加密传输:能用 SFTP(基于 SSH) 就不用明文 FTP;若必须使用 FTP,启用 FTPS(FTP over SSL/TLS) 并强制数据与控制通道加密。
- 隐藏服务指纹:自定义或屏蔽 FTP 欢迎横幅,避免泄露 版本信息 与内部标识。
- 严控访问与权限:禁用匿名登录;启用 chroot 将用户限制在其家目录;为 FTP 服务使用最小权限系统账号运行;必要时仅允许受控 IP 白名单 访问。
- 强化身份认证:强制使用强密码策略并定期更换;结合 fail2ban 或防火墙策略对失败登录进行速率限制与封禁。
- 禁用危险命令与限制写入:按业务最小化原则禁用 DELE、RNFR、RNTO 等高风险命令;对上传目录设置严格权限与隔离。
- 被动模式与端口管理:配置 PASV 模式并限定被动端口范围,配合防火墙仅放行所需数据端口,减少暴露面。
- 系统与软件安全:及时更新与打补丁;启用 SELinux/AppArmor 等强制访问控制降低被攻陷后的横向影响。
- 日志、监控与告警:开启并集中存储 FTP 与系统日志,对异常登录、暴力尝试、异常流量进行实时告警;必要时部署 IDS/IPS。
- 备份与演练:定期备份关键数据与配置,并进行恢复演练,确保事件后可快速恢复。
三 关键配置示例
- vsftpd 隐藏横幅(两种做法)
- 直接在配置中设置单行横幅:
ftpd_banner=Hello, all activity on ftp.example.com is logged.
- 使用独立横幅文件:
banner_file=/etc/banners/ftp.msg
说明:横幅用于覆盖默认欢迎信息,降低信息泄露风险。
- vsftpd 匿名上传的目录隔离(如确需匿名写入)
mkdir -p /var/ftp/pub/upload
chmod 730 /var/ftp/pub/upload
chown root:ftp /var/ftp/pub/upload
在 /etc/vsftpd/vsftpd.conf 中仅按需开启:
anonymous_enable=YES
anon_upload_enable=YES
说明:将可写目录与可读目录分离,并限制权限,降低匿名滥用风险。
- vsftpd 启用 FTPS(示例)
生成证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem
配置 /etc/vsftpd/vsftpd.conf:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
说明:启用 TLS 并强制本地用户数据与控制通道加密,禁用不安全协议套件。
- 防火墙与访问控制(示例)
- UFW 白名单示例:
ufw allow from 192.168.1.0/24 to any port 21
ufw enable
- 按需仅放行 FTP 控制端口(21),被动端口范围由 FTP 服务配置并在防火墙中同步放行。
说明:最小化暴露面,仅允许受信任来源访问。
四 监测与应急响应
- 持续监测:实时关注 /var/log/auth.log、FTP 服务日志与系统安全日志,重点排查大量失败登录、异常 IP、异常时段访问与非常规命令执行。
- 入侵处置:发现异常后,立即阻断来源 IP、下线受影响服务或临时封禁端口;核查是否存在可疑文件、后门与新增用户;恢复至最近干净备份并修补漏洞后再上线。
- 审计与演练:定期进行漏洞扫描与配置审计(如 OpenVAS、Nessus),并对备份恢复流程进行演练,确保事件响应闭环。