Ubuntu系统vsftpd如何防止DDoS攻击
导读:Ubuntu上用vsftpd缓解DDoS的可落地方案 一 基础加固与访问控制 禁用匿名访问并限制本地用户:将anonymous_enable=NO;启用chroot_local_user=YES将用户锁定在其家目录,降低横向移动风险。 启...
Ubuntu上用vsftpd缓解DDoS的可落地方案
一 基础加固与访问控制
- 禁用匿名访问并限制本地用户:将anonymous_enable=NO;启用chroot_local_user=YES将用户锁定在其家目录,降低横向移动风险。
- 启用加密传输:设置ssl_enable=YES,并配套相关TLS选项,避免明文凭证与数据被滥用。
- 端口与暴露面治理:可修改默认21端口为非标准端口以减少自动化扫描;同时务必限制管理口(如SSH 22)仅对可信来源开放。
- 用户黑名单:维护**/etc/ftpusers**(该文件始终生效),禁止如root等高权用户通过FTP登录。
- 登录访问控制:通过**/etc/vsftpd/user_list与userlist_enable/userlist_deny**组合实现黑名单或白名单(白名单模式仅放行名单内用户,匿名用户除非显式加入名单否则被拒)。
二 连接与速率限制
- 并发与每IP限制:在**/etc/vsftpd.conf中设置max_clients**(全局并发)与max_per_ip(单IP并发),直接抑制连接洪泛与“单源占满”场景。
- 带宽限速:设置anon_max_rate(匿名用户最大速率,单位字节/秒)与local_max_rate(本地用户最大速率),避免单一会话耗尽带宽。
- 超时收敛:适当降低idle_session_timeout与data_connection_timeout,更快回收空闲或半开连接,减轻资源占用。
- 精细到用户:通过user_config_dir为用户设置个性化速率上限(如:local_max_rate=80000 表示约80 KB/s)。
三 防火墙与内核层面的抗洪
- 端口放通与被动端口范围:放行21/tcp(控制通道)与20/tcp(主动数据通道),并为被动模式指定端口区间(如30000:31000/tcp),并在防火墙中同步开放,避免数据通道被拦截。
- 连接速率与并发限制:
- 使用iptables connlimit限制到21端口的并发连接数(示例:–connlimit-above 10),直接卡住“连接风暴”。
- 对SYN洪泛启用SYN Cookie并调优tcp_max_syn_backlog、tcp_synack_retries、tcp_syn_retries,提升TCP栈抗压能力。
- 适度限制ICMP与异常包速率,降低探测与放大影响。
- 自动化封禁:部署Fail2Ban监控vsftpd日志,对多次失败登录的来源IP自动封禁,缓解暴力破解与CC类消耗。
四 监控与响应
- 日志与告警:定期审计**/var/log/vsftpd.log**,关注短时间内大量连接、频繁失败登录、异常带宽占用等迹象,并结合监控平台设置阈值告警。
- 变更与验证:任何参数调整前先备份配置,变更后在测试环境验证;上线后逐步调优阈值,避免误封合法用户。
- 规模与纵深:对大规模或应用层持续攻击,结合上游清洗/高防与CDN/反向代理等能力形成纵深防护,服务器端策略仅作为基础防线。
五 最小化配置示例
- vsftpd.conf(示例)
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
write_enable=YES
idle_session_timeout=300
data_connection_timeout=120
ssl_enable=YES
# 并发与限速
max_clients=100
max_per_ip=5
local_max_rate=51200 # 约50 KB/s
# anon_max_rate=10240 # 如启用匿名,可限速
# 被动模式端口范围(需与防火墙一致)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
- UFW放通(示例)
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw enable
- iptables并发限制(示例)
sudo iptables -A INPUT -p tcp --dport 21 -m connlimit --connlimit-above 10 -j REJECT
- 说明:以上参数需结合业务规模与带宽调优;若使用被动模式,请确保云安全组/本机防火墙均放行对应端口区间。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu系统vsftpd如何防止DDoS攻击
本文地址: https://pptw.com/jishu/757447.html
