温馨提示×

Ubuntu FTP如何防止DDoS攻击

小樊
41
2025-11-29 12:35:56
栏目: 云计算

Ubuntu FTP 防 DDoS 实用方案

一 架构与协议选择

  • 优先采用 SFTP/FTPS 替代明文 FTP,减少凭证与数据被窃听、篡改的风险,同时便于配合防火墙与密钥体系做精细化控制。
  • FTP 工作模式会影响暴露面与攻击面:控制通道为 21/TCP,主动模式数据通道由服务器从 20/TCP 主动连客户端,容易被滥用形成反射/放大;被动模式(PASV)由客户端连服务器高位端口,更可控,生产环境一般推荐 PASV 并限制端口范围。
  • 若必须使用 FTP,建议仅开放必要端口(如 20/TCP、21/TCP 及 PASV 端口段),并尽量将服务置于内网或受保护网段,前端使用反向代理/负载均衡或云防护。

二 系统内核与连接限制

  • 调整 TCP 栈以缓解 SYN Flood 等连接耗尽型攻击:提高 SYN 队列、启用 SYN Cookie、降低重试次数,并适度优化 SACKR/W 内存 参数。示例(请结合业务压测微调):
    • sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096
    • sudo sysctl -w net.ipv4.tcp_syncookies=1
    • sudo sysctl -w net.ipv4.tcp_synack_retries=2
    • sudo sysctl -w net.ipv4.tcp_syn_retries=2
    • sudo sysctl -w net.ipv4.tcp_sack=1
    • sudo sysctl -w net.ipv4.tcp_rmem=“32768 32768 87380
    • sudo sysctl -w net.ipv4.tcp_wmem=“32768 32768 65536
  • 使用 iptables 对异常流量做速率限制与黑白名单处置(示例为“漏桶”限流,阈值需按业务调整):
    • 限制每秒新连接尝试:sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
    • 限制异常 RST 洪泛:sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    • 限制 ICMP 洪泛:sudo iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    • 封禁恶意来源:sudo iptables -A INPUT -s 攻击来源IP -p tcp -j DROP
  • 使用 UFW 做基础策略编排(仅放行业务必需端口,如 22/TCP、20-21/TCP、PASV 端口段):
    • sudo ufw allow 22/tcp
    • sudo ufw allow 20/tcp
    • sudo ufw allow 21/tcp
    • sudo ufw allow 30000:31000/tcp(示例 PASV 端口段,需与 FTP 服务配置一致)

三 vsftpd 安全加固要点

  • 基本安全:禁用匿名、限制用户在主目录、开启日志与必要写权限:
    • anonymous_enable=NO
    • local_enable=YES
    • chroot_local_user=YES
    • write_enable=YES
    • xferlog_enable=YES
  • 加密传输:启用 TLS/SSL,配置证书与强制加密,避免明文凭证与数据外泄:
    • ssl_enable=YES
  • 端口与访问控制:可修改默认端口、限制 PASV 端口范围,并仅允许受控来源访问:
    • listen_port=2123(示例)
    • ftp_data_port=2020(示例)
    • 在防火墙/UFW 中仅放行 21/TCP、20/TCP 与配置的 PASV 端口段

四 监控与替代方案

  • 持续监控与快速处置:
    • 实时查看连接与端口:sudo netstat -tuln
    • 审计关键日志:/var/log/auth.log、/var/log/syslog、vsftpd 传输日志(xferlog)
    • 结合 DDoS deflate 等工具对异常连接来源做自动封禁(基于连接数/速率阈值)
  • 架构替代与减负:
    • 能用 SFTP 的场景尽量用 SFTP(基于 SSH,便于密钥登录、禁用密码、集中化堡垒机与防火墙策略)
    • 大规模或复杂攻击场景建议叠加 云WAF/高防硬件防火墙,在边界进行清洗与速率限制

五 快速检查清单

  • 已禁用匿名登录(anonymous_enable=NO),已开启 chroot 与必要日志(xferlog_enable=YES)。
  • 已启用 TLS/SSL(ssl_enable=YES),禁用明文传输。
  • 已限制 PASV 端口段 并在防火墙仅放行 20/21 与该端口段。
  • 已配置 iptables/UFW 的速率限制与黑白名单策略,异常来源可自动封禁。
  • 已调整 sysctlSYN Flood 参数并完成压测验证。
  • 已部署 监控/日志审计 与告警,必要时启用 DDoS deflate
  • 条件允许时优先采用 SFTP 或前置 高防/CDN/防火墙 做边界防护。

0