sshd_config 关键项审计
登录策略被放宽往往是入侵前后的常见动作:允许 root 直接登录、开放空口令、添加白名单账号,都能让攻击者获得稳定入口。审计应以 sshd -T 输出的生效配置为准,它展示的是合并 include 与匹配块之后的结果,比逐个文件翻看更不容易漏项,再配合文件时间判断改动是否落在关注时段。
基本信息
| 关键项 | PermitRootLogin、PasswordAuthentication、PermitEmptyPasswords、AllowUsers、PermitTunnel |
|---|---|
| 生效配置 | sshd -T 输出合并后的实际参数,作为审计依据 |
| 文件位置 | /etc/ssh/sshd_config 与 /etc/ssh/sshd_config.d/ 下的片段 |
| 重载方式 | systemctl reload sshd(部分系统为 ssh) |
| 固有风险 | 配置错误可能导致无法登录,审计阶段坚持只读 |
典型使用场景
- 核查主机是否被放宽了登录限制
- 判断是否存在异常新增的授权账号
- 定位配置改动的时间,与入侵窗口比对
- 事件处置后的加固核查,确认策略已收紧
- 排查密钥与隧道相关开关是否被打开
审计关键项
审计关键项
sshd -T 2>/dev/null | grep -Ei 'permitrootlogin|passwordauthentication|permitempty|allowusers|permittunnel'
sshd -T 2>/dev/null | grep -E 'authorizedkeysfile|pubkeyauthentication'
ls -l --time-style=long-iso /etc/ssh/sshd_config /etc/ssh/sshd_config.d/ # 文件改动时间
grep -Rn 'Include\|Match' /etc/ssh/sshd_config # 确认 include 与匹配块
sshd -t # 语法检查,只读不改动配置关键项读法
| 配置项 | 含义 | 异常参考 |
|---|---|---|
| PermitRootLogin | 是否允许 root 直接登录 | 被设为 yes 时风险最高 |
| PasswordAuthentication | 是否允许口令认证 | 开启后爆破成功的可能性提高 |
| PermitEmptyPasswords | 是否允许空口令登录 | 设为 yes 属于严重放行 |
| AllowUsers | 限制可登录的账号清单 | 出现陌生账号名要重点核查 |
sshd -T 展示的是合并 include 与匹配块之后的最终结果,直接读主配置文件看不出实际生效值。审计以它为准,配置文件只用于解释这次改动来自哪个片段。
审计阶段不要修改 sshd 配置:错误的配置可能让所有用户都无法登录。需要验证改动效果时,先在测试环境验证,或保留一个已登录会话再操作,并提前确认回滚方式。事件处置后的加固要把整改落到具体项:root 登录改为禁止口令方式、按业务需要收紧口令认证、逐条核对白名单账号的归属,并把整改后的生效配置重新导出留档。