服务器远程接入控制核心是“谁在连、为什么连、连上后能做什么、操作有没有被记全”,需围绕认证、授权、会话、审计四层闭环展开,策略优化须基于真实风险排序。

服务器远程接入控制的核心,不是“能不能连”,而是“谁在连、为什么连、连上后能做什么、操作有没有被记全”。SSH 和 RDP 分属不同技术栈(Linux/Unix 与 Windows),但审计逻辑高度一致:围绕认证、授权、会话、审计四层闭环展开。策略优化必须基于真实风险排序,而非配置项堆砌。
认证策略:堵住入口漏洞
密码认证是绝大多数暴力破解攻击的突破口。生产环境应强制禁用 SSH 密码登录(PasswordAuthentication no),并统一启用密钥认证;RDP 则必须开启网络级别身份验证(NLA),它能在建立图形会话前完成凭据校验,显著降低中间人和爆破风险。
- SSH 密钥需满足最低强度:Ed25519 为首选;RSA 至少 4096 位,禁用 1024 位及以下密钥
- RDP 用户账户须绑定域控(AD)或 Jumpserver 统一账号,禁止本地管理员直连
- 双因素(MFA)应覆盖所有高权限账户——SSH 可通过 PAM 集成 Google Authenticator 或 LDAP+TOTP;RDP 在域环境中可结合 Windows Hello for Business 或 Azure AD 条件访问策略
授权与连接管控:最小权限落地
允许登录 ≠ 允许任意操作。授权必须细化到协议、资产、时间、命令级。
- SSH 场景下,堡垒机(如 Jumpserver)应启用 RBAC,按角色分配资产树节点权限,支持临时授权申请与自动过期(例如:运维人员仅可在工作日 9:00–18:00 访问测试区 Linux 主机)
- RDP 连接需限制并发会话数(组策略设为 2–3 个),禁用“允许重新连接到断开的会话”以防止会话劫持;Jumpserver 中可配置 console=false 防止误连系统控制台
- 危险操作拦截:SSH 代理层应解析输入流,对
rm -rf /、shutdown、reboot等命令实时阻断并告警;RDP 暂不支持命令级控制,需依赖终端服务器配置或第三方加固工具
会话与审计闭环:确保操作可追溯
审计不是“录屏存档”,而是保障记录不可绕过、不可篡改、不可缺失。
- SSH 审计必须在代理层实现(非目标机
~/.bash_history),使用io.MultiWriter同步写入会话日志与审计文件,包含完整命令、返回码、执行时长、用户/IP/资产信息 - RDP 会话录像需由堡垒机(如 Jumpserver)统一录制,支持按时间轴回放、关键词检索(如“regedit”、“powershell”)、鼠标轨迹标记;禁用客户端本地录像功能以防绕过
- 所有审计日志须集中落盘至独立日志服务器(如 ELK 或 Loki),保留周期不少于180天,并启用完整性校验(如日志哈希链)
协议与基础设施加固:消除底层隐患
配置错误和协议缺陷会直接瓦解上层策略。
- SSH 服务端禁用 SSHv1、弱 KEX(如 diffie-hellman-group1-sha1)和弱加密算法(如 3des-cbc);推荐配置:
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com - RDP 应修改默认端口(如改为 3390),并通过防火墙或安全组限制源 IP 范围;禁用远程桌面剪贴板重定向、驱动器映射等高风险重定向功能,除非业务强依赖
- 所有跳板节点(包括堡垒机自身)必须校验目标主机密钥(SSH)或启用 TLS 加密通道(RDP over TLS),严禁使用
ssh.InsecureIgnoreHostKey()类逻辑

















