0%

ssh-MaxStartups

背景

起因: 聊天群看同事反馈某机器ssh间歇性失败,怀疑idc侧有误拦截

复现: 多次测试后现象复现,查看相关日志(auth.log),发现关键信息(set LogLevel VERBOSE or DEBUG):

1
sshd[19995]: drop connection #2 from [x.x.x.x]:57572 on [y.y.y.y]:22 past MaxStartups

同时查看同事抓包截图,发现只保留了Client端,无法佐证idc侧有拦截

sshd配置文件MaxStartups参数

通过man sshd_config查看MaxStartups具体描述

大概意思就是ssh连接但是未进行认证的连接数限制,默认值10:30:100

10:30:100 --> start:rate:full

start: 10 ‘建立但未进行认证的连接数’超过此数的rate规则将生效

rate: 30 连接数超过start但是未达到full的线性增长过程中会有30/100概率失败

full: 100 允许的同时建立但未进行认证的最大连接数,超过此连接数的新建链接直接拒绝

触发原因

日志分析显示在被暴力破解中

解决

通过iptables等限制源连接,白名单准入

如确实有这种并发场景,适当调大start

因某功能需要,sshd日志级别为VERBOSE,所以能第一时间看到相关关键日志

类似问题,优先把日志级别调整为VERBOSE DEBUG TRACE等