从零构建企业内部网络隧道
目录导读
- 跳板机核心概念与适用场景
- 主流跳板机工具对比(JumpServer/Teleport/自建SSH)
- 环境准备与安全基线配置
- 基于JumpServer的完整搭建步骤
- 客户端访问跳板机的四种常见方式
- 安全加固与审计日志配置
- 常见问题与故障排查(Q&A)
跳板机核心概念与适用场景
问:什么是跳板机?它与堡垒机有何区别?
答:跳板机(Bastion Host)是位于内网与公网之间的安全中转节点,所有运维人员需通过它才能访问内部服务器,相较于传统堡垒机,现代跳板机工具(如JumpServer)增加了Web终端、权限自动回收、操作录像等能力,典型场景包括:远程办公环境、多云架构下的集中管理、符合等保2.0要求的审计合规。
主流跳板机工具对比
- JumpServer(开源首选):支持Web SSH/RDP/VNC,LDAP集成,自动资产发现。
- Teleport:强调零信任,支持Kubernetes和数据库代理,适合云原生架构。
- 自建SSH隧道:成本最低,但缺乏审计与细粒度权限控制。
环境准备与安全基线配置
以JumpServer为例,推荐配置:
- 服务器:2核4G以上,系统Ubuntu 22.04或CentOS 7.9+
- 网络:开放2222端口(Web访问)及自定义SSH隧道端口
- 安全基线:
- 禁用root远程登录(修改
/etc/ssh/sshd_config) - 为跳板机单独创建运维用户(非root)
- 配置防火墙仅允许公司公网出口IP访问
- 禁用root远程登录(修改
基于JumpServer的完整搭建步骤
步骤1:安装依赖与Docker
curl -fsSL https://get.docker.com | sh systemctl start docker && systemctl enable docker
步骤2:部署JumpServer
docker run --name jms_all -d \ -p 2222:80 \ -p 2223:2222 \ -v /opt/jumpserver/data:/opt/jumpserver/data \ -v /opt/jumpserver/mysql:/var/lib/mysql \ jumpserver/jms_all:latest
注意:2222端口提供Web控制台,2223端口用于SSH通道。
步骤3:初始化配置
访问 http://服务器公网IP:2222,设置管理员账号与数据库连接(默认使用内置MySQL),在“资产管理”中添加目标服务器IP、端口、认证方式(推荐密钥认证)。
客户端访问跳板机的四种常见方式
- Web终端:直接浏览器登录,适合临时运维操作。
- 原生SSH客户端:
ssh -p 2223 跳板机用户@跳板机IP # 登录后自动进入资产选择界面
- JumpServer客户端App:支持iOS/Android,方便移动运维。
- RDP/VNC客户端:通过JumpServer代理连接Windows服务器(需开启相应协议映射)。
安全加固与审计日志配置
- 强制双因素认证:在系统设置中启用TOTP(如Google Authenticator)。
- 会话录像保存:配置录像存储路径(建议挂载独立NAS卷),保留周期不少于90天。
- 命令过滤:禁止高危命令(如
rm -rf /),通过命令黑名单实现。 - 定期审计:每周导出操作日志,检查异常登录时间与高频命令。
常见问题与故障排查(Q&A)
Q1:连接跳板机后无法选择目标资产?
答:检查“资产管理”中该资产的状态标签是否为“活跃”,且授权用户已添加,若目标服务器IP为内网,需确保跳板机与目标网络可达。
Q2:Web终端键盘响应延迟高?
答:优化方案:
- 修改JumpServer WebSocket超时时间(
config.yml中CLIENT_HEARTBEAT_TIMEOUT=60) - 使用Chrome的
--disable-accelerated-2d-canvas参数启动
Q3:如何回收离职人员的权限?
答:在JumpServer用户管理中直接禁用该账号,系统将立即终止所有活跃会话,建议同步LDAP用户组,实现权限自动同步更新。
Q4:跳板机本身被入侵怎么办?
答:立即执行以下操作:
- 断开公网访问(iptables丢弃所有外部流量)
- 导出当前活跃连接清单并与运维团队核对
- 使用重置密钥功能(JumpServer提供一键重设)
搭建跳板机工具不仅是技术部署,更是企业安全体系的基石,零信任架构下的“最小权限 + 全量审计”模型,能显著降低内部威胁风险,建议结合自身环境容量,定期进行压力测试与灾备演练,若需更详细的配置手册,可参考JumpServer官方文档或社区案例进行二次定制。
标签: 访问跳板配置
