设计堡垒机系统
需求分析
堡垒机(Jump Server)是所有服务器访问的唯一入口,实现身份认证、操作审计、权限管控。
架构设计
核心功能
| 功能 | 说明 |
|---|---|
| 统一入口 | 所有服务器访问必须通过堡垒机 |
| 身份认证 | 对接 LDAP/SSO + MFA 双因子 |
| 权限控制 | 用户 → 角色 → 资产,细粒度 |
| 操作审计 | 录屏回放、命令日志 |
| 命令过滤 | 禁止执行危险命令(rm -rf、shutdown) |
| 文件传输 | SFTP 审计、上传下载记录 |
危险命令过滤
# 命令黑名单
blocked_commands:
- pattern: "rm\\s+-rf\\s+/"
action: block
alert: true
- pattern: "shutdown|reboot|halt|poweroff"
action: block
- pattern: "dd\\s+if="
action: confirm # 需要二次确认
- pattern: "iptables.*-F"
action: block
开源方案
| 方案 | 特点 |
|---|---|
| JumpServer | 功能最全面,Web Terminal + 资产管理 + 审计 |
| Teleport | 原生支持 K8s、数据库、Web 应用 |
| PAM 方案 | 商用(CyberArk、BeyondTrust),合规要求高 |
常见面试问题
Q1: 如何保证堡垒机自身的安全?
答案:
- 堡垒机高可用:主备或集群部署,避免单点
- MFA 多因子认证:密码 + TOTP/硬件 Key
- 网络隔离:堡垒机放在独立安全区,只开放 SSH/HTTPS 端口
- 审计不可篡改:操作录像存储到独立系统,堡垒机管理员也无法删除
- 定期审计:检查异常登录、非工作时间操作