引言:堡垒机不是"跳板机2.0"
很多IT管理者第一次接触堡垒机时,会下意识地把它当成"跳板机的升级版"——无非是多了一层登录入口,运维人员从直接SSH改成先登堡垒机再跳转。这种理解停留在表面。堡垒机的本质是一套运维安全审计系统,它在跳板机的基础上,集成了身份认证、访问控制、操作审计三大核心能力,形成了一条完整的"运维操作审计链"。
等保2.0标准(GB/T 22239-2019)对运维审计提出了明确要求:对运维人员的操作行为必须做到"事前授权、事中监控、事后审计"。这里的"审计"不是简单的日志记录,而是要做到"谁、在什么时间、通过什么方式、对哪台资产、执行了什么命令"这五个维度的完整可追溯。跳板机做不到这一点,堡垒机从设计之初就是为了解决这个
从合规角度看,堡垒机已经从"可选项"变成了"必选项"。等保三级及以上系统、关键信息基础设施运营单位,都必须在运维环节部署堡垒机。金融行业的《商业银行业务连续性监管指引》、电力行业的《电力监控系统安全防护规定》,也都有明确的堡垒机部署要求。理解堡垒机的功能,实际上是理解"如何让运维既安全又可审计"这个核心问题。
一、核心功能一:身份认证与访问控制
身份认证是堡垒机的第一道防线,也是整个系统安全的基础。传统的Linux服务器认证方式(用户名+密码)存在明显的安全隐患:弱密码、密码复用、密码泄露后无法及时发现。堡垒机通过多因子认证(MFA)机制,将"你知道的"(密码)、"你拥有的"(OTP令牌、硬件Key)、"你是谁"(人脸识别、指纹)组合在一起,大幅提升了身份验证的安全性。
1.1 多因子认证(MFA)的具体实现
在实际部署中,堡垒机通常支持以下几种MFA方式:
- OTP动态令牌:基于TOTP(RFC 6238)标准,支持Google Authenticator、Microsoft Authenticator等主流App。每次登录时,运维人员需要输入一个每30秒更换一次的6位动态码。即使密码被窃取,没有动态码也无法登录。
- 扫码认证:对接企业微信、钉钉、飞书的扫码登录能力。运维人员用手机扫一下屏幕上的二维码,手机端确认后即可完成认证。这种方式既安全又便捷,避免了频繁输入动态码的麻烦。
- 生物特征识别:通过调用系统API或硬件设备,支持人脸识别、指纹识别。这类认证方式通常用于高安全等级场景,比如对核心数据库的操作。
- 硬件Key:支持YubiKey等FIDO2/WebAuthn标准的硬件密钥。这是目前业界公认最安全的认证方式,防钓鱼、防中间人攻击,适合对安全性要求极高的金融、电力等行业。
1.2 统一认证源对接
企业IT环境中通常已经有一套统一的身份管理系统,比如LDAP目录服务、Active Directory域控、或者基于SAML 2.0/OIDC的身份提供商(IdP)。堡垒机需要能够对接这些现有的认证源,避免运维人员维护多套账号密码。
JumpServer在统一认证源对接方面覆盖了主流协议:
- LDAP/AD:通过LDAP协议同步组织架构和用户账号,支持Windows Active Directory和OpenLDAP。对接后,运维人员可以使用域账号直接登录堡垒机,无需额外注册。
- SAML 2.0:支持作为Service Provider(SP)对接企业的IdP(如Okta、Azure AD、Keycloak)。这种方式适合已经构建了统一身份管理平台的大型企业。
- OIDC/OAuth 2.0:支持基于OpenID Connect协议的单点登录,可以对接GitLab、Gitee、GitHub等平台。对于研发团队来说,用GitLab账号直接登录堡垒机是一个非常自然的操作体验。
- CAS:支持Central Authentication Service协议,适用于高等教育机构和部分政府单位的统一认证系统。
1.3 企业IM深度集成
中国企业的协作场景高度依赖企业IM工具。堡垒机与飞书、钉钉、企业微信、Lark的深度集成,不仅仅是"扫码登录"这么简单,而是要将运维审批、异常告警、工单通知等流程嵌入到IM工具中。
JumpServer的X-Pack增强包提供了企业IM的深度集成能力。以飞书集成为例:运维人员申请高危命令执行权限时,审批通知会直接推送到飞书卡片消息中,审批人可以在飞书中直接点击"通过"或"拒绝",无需登录堡垒机后台。异常操作告警(比如有人在凌晨3点登录了生产数据库)也会实时推送到安全负责人的飞书群中。这种"融入工作流"的集成方式,比传统的邮件通知或短信告警效率高得多。
1.4 RBAC细粒度授权模型
认证解决了"你是谁"的问题,授权解决的是"你能做什么"。堡垒机的授权模型必须足够精细,才能做到"最小化权限分配"——即每个运维人员只能访问其工作必需的资产,只能使用其工作必需的权限。
JumpServer采用RBAC(基于角色的访问控制)模型,授权维度包括:
- 人员维度:将用户划分到不同的用户组,按组授权。支持和用户目录服务(LDAP/AD)同步的组织架构映射。
- 资产维度:按资产类型(服务器、数据库、网络设备)、资产标签、资产所属业务部门进行授权。比如"只允许访问业务A的Web服务器"这样的规则。
- 账户维度:对同一台资产的不同系统账户进行分别授权。比如某台MySQL服务器有root和appuser两个账号,DBA可以访问root,开发人员只能访问appuser。
- 时间维度:设置权限的有效时间段。比如"仅在工作日9:00-18:00允许登录",或者"该权限7天后自动失效"。时间维度的授权对于临时权限管理非常重要——很多安全事故的根源就是"临时权限忘记回收"。
- 命令维度:限制特定用户在特定资产上可以执行的命令。比如禁止在非DBA人员使用的资产上执行DROP TABLE、rm -rf等高危命令。
这五个维度可以组合使用,形成非常精细的授权策略。比如:"允许张三在工作日9:00-18:00,通过appuser账号登录业务A的MySQL服务器,且不能执行DROP语句"。这种粒度在传统跳板机上是无法实现的。
二、核心功能二:资产纳管与单点登录
堡垒机的价值发挥,前提是要把企业所有的IT资产都纳入管理范围。资产纳管能力直接决定了堡垒机的覆盖面——如果有一类资产纳管不了,那这类资产的运维操作就处于"审计盲区"。
2.1 支持纳管的资产类型
现代企业的IT资产类型非常多样,堡垒机需要能够支持各种协议、各种操作方式的资产接入。JumpServer目前支持纳管的资产类型包括:
- Linux服务器:通过SSH协议接入,支持密码认证和密钥认证两种方式。JumpServer会自动将运维人员的公钥推送到目标服务器,实现免密登录。
- Windows服务器:通过RDP协议接入,支持NLA(网络级别身份验证)。对于Windows Server 2019及以上版本,还支持RemoteApp方式发布单个应用。
- 数据库:支持MySQL、PostgreSQL、Oracle、SQL Server、MongoDB、Redis等主流数据库,以及达梦(DM)、人大金仓(KingbaseES)、OceanBase等国产数据库。数据库连接通过堡垒机的数据库代理模块实现,运维人员使用原有的数据库客户端工具(如Navicat、DBeaver)即可连接,操作体验和无堡垒机时基本一致。
- 网络设备:支持通过Telnet或SSH管理交换机、路由器、防火墙等网络设备。对于部分需要通过Web界面管理的设备,堡垒机也支持通过Web Terminal方式进行跳转。
- Kubernetes集群:通过kubectl命令代理的方式,将K8s集群的API Server纳入堡垒机管理。运维人员执行kubectl命令时,实际是通过堡垒机中转,所有操作都会被记录和审计。
- Web应用:通过Web Terminal或远程应用发布的方式,实现对Web应用的后台管理操作审计。
2.2 资产自动发现与批量导入
对于拥有数百甚至数千台资产的大型企业来说,手动一台台添加资产到堡垒机是不现实的。堡垒机需要提供资产自动发现和批量导入的能力。
JumpServer支持通过以下方式批量纳管资产:
- 云平台API对接:直接对接阿里云、腾讯云、华为云、AWS、Azure等主流云平台的API,自动同步云服务器、RDS数据库实例、K8s集群等资源。云平台上的资产发生变更(新增、删除、配置变更)时,堡垒机可以定期同步更新。
- CSV批量导入:将资产信息整理成CSV文件,通过Web界面批量导入。导入模板中可以指定资产的主机名、IP地址、协议类型、端口、所属节点等信息。
- CMDB系统对接:通过API或数据库直连的方式,从企业的CMDB(配置管理数据库)中同步资产信息。这种方式适合已经建设了CMDB的大型企业在。
- 网络扫描:通过内置的网络扫描工具,自动发现指定网段内的在线主机和服务端口,生成资产清单供管理员确认后导入。
2.3 单点登录(SSO)的实现机制
单点登录是堡垒机提升运维效率的关键功能。在传统模式下,运维人员需要记住每台服务器的账号密码,或者维护一个密码本。这种方式既不安全(密码容易泄露),也不便捷(频繁输入密码影响效率)。
堡垒机的单点登录机制是这样的:运维人员只需要进行一次身份认证(登录堡垒机),之后访问任何已授权的资产时,堡垒机会自动完成到目标资产的认证过程,运维人员无需输入目标资产的账号密码。
具体实现方式因协议而异:
- SSH协议:堡垒机使用自己的服务账号(通常是 jumpserver 用户)SSH到目标服务器,然后通过su/sudo切换到授权的系统账号,或者直接通过SSH密钥认证登录到目标账号。运维人员全程看不到目标服务器的密码。
- RDP协议:堡垒机通过NLA认证或密码托管的方式,自动完成到Windows服务器的登录。运维人员点击连接后,直接看到Windows桌面,无需输入密码。
- 数据库协议:堡垒机作为数据库代理,维护到后端数据库的连接池。运维人员连接堡垒机时,堡垒机会自动使用托管的数据库账号密码建立到后端数据库的连接,并在连接会话中记录所有执行的SQL语句。
这种机制还有一个重要的安全价值:密码对运维人员不可见。即使运维人员想窃取服务器密码,他也拿不到——密码被堡垒机托管,运维人员通过堡垒机操作资产时,全程走的是堡垒机的认证体系。人员离职或转岗时,只需要禁用其在堡垒机中的账号,不会影响目标资产的认证凭据。
三、核心功能三:操作审计与会话管理
如果说身份认证和访问控制是"事前防范",那么操作审计就是"事后追溯"。等保2.0要求运维操作"可追溯",指的就是审计能力。一套完整的审计系统需要做到:操作过程可回放、操作内容可搜索、异常行为可告警。
3.1 实时会话监控
堡垒机的管理员可以实时查看当前所有的活跃会话。在JumpServer的Web控制台中,可以看到每个会话的详细信息:哪个用户、从哪个IP、在什么时间、登录了哪台资产、执行了哪些命令。对于可疑会话,管理员可以主动介入——发送消息警告、暂停会话、或者直接中断连接。
实时监视能力在以下场景中非常实用:
- 新人培训期:新入职的运维人员在操作生产环境时,由资深工程师通过实时监视进行指导,既能保证安全,又能加速新人成长。
- 外部人员操作:当厂商技术人员或外包人员需要远程维护时,内部管理员通过实时监视确保其操作范围不超出授权。
- 应急响应:发生安全事件时,安全团队可以通过实时会话列表快速定位当前有哪些人正在操作资产,及时中断可疑连接。
3.2 会话录像与回放
会话录像是堡垒机最核心的审计功能。它记录的不只是"谁登录了哪台机器",而是登录后的所有操作过程——输入的每条命令、打开的每个文件、修改的每个配置,都完整的录像中重现。
JumpServer支持的录像类型包括:
- SSH会话录像:基于asciinema格式记录终端操作。asciinema是一种文本化的终端录像格式,文件体积极小(一个小时的操作录像通常只有几十KB),且支持在HTML页面中直接回放,无需安装专用播放器。录像中还可以进行文本搜索——比如搜索会话中是否执行过某个特定命令。
- RDP会话录像:记录Windows远程桌面的操作过程,包括鼠标移动、窗口切换、文件操作等。RDP录像通常采用视频格式存储,文件比SSH录像大得多,但能够完整还原图形界面操作。
- VNC会话录像:针对需要通过VNC协议管理的设备(如部分UNIX服务器、虚拟化控制台)的操作记录。
录像回放功能支持倍速播放(1x、2x、4x、8x),方便审计人员快速浏览长时段的操作过程。同时,录像中嵌入了命令时间戳——当你在录像中看到某条命令执行时,可以准确知道这条命令是在会话开始后的第几分钟执行的,精确到秒级。
在存储方面,JumpServer支持将录像文件保存到外部对象存储服务,包括阿里云OSS、AWS S3、Azure Blob Storage、MinIO等。这对于有大量运维会话需要长期保存的企业来说非常重要——本地磁盘容量有限,对象存储可以按容量按需扩展,且具备更好的数据持久性。
3.3 高危命令拦截
审计是事后行为,拦截是事中行为。堡垒机的高危命令拦截功能,可以在危险操作执行之前就将其阻止,或者至少发出告警。
JumpServer的命定拦截规则支持以下配置:
- 危险命令黑名单:预几组高危命令模式,比如 rm -rf /、DROP DATABASE、shutdown -h now、userdel 等。当运维人员在终端中输入匹配的命令时,堡垒机可以选择"直接阻断并告警"或"允许执行但记录告警"。
- 正则表达式匹配:通过正则表达式定义更复杂的拦截规则。比如拦截所有包含 TRUNCATE 的SQL语句,或者拦截所有重定向到 /etc/passwd 的写操作。
- 审批工作流:对于某些高危操作,可以配置为"执行前需审批"。运维人员输入命令后,命令不会立即执行,而是暂停等待审批。审批通过后才继续执行,审批拒绝则终止命令。这个机制在生产环境变更管理中非常有用。
命定拦截功能的有效性取决于规则的准确性。规则太严会影响正常运维操作,规则太松则起不到防护作用。JumpServer允许用户针对不同资产、不同用户组配置不同的拦截规则,灵活平衡安全性和可用性。
3.4 文件传输审计
运维人员通过堡垒机操作资产时,经常需要进行文件传输——比如上传配置文件、下载日志文件。SFTP是常见的文件传输协议,堡垒机需要对SFTP操作进行完整审计。
JumpServer的文件传输审计功能包括:
- 操作记录:记录每次SFTP上传/下载操作的文件名、文件大小、传输方向(上传/下载)、传输时间、源路径、目标路径。
- 文件内容存档:可选配置将传输的文件内容也保存下来,便于后续审计时查看文件的具体。这个功对于防止敏感数据泄露很有价值——比如审计人员可以检查某次下载操作是否涉及敏感数据文件。
- 传输限制:可以设置文件传输的速率限制、大小限制、文件类型限制(比如禁止上传.exe文件),减少通过堡垒机传输恶意软件的风险。
四、核心功能四:特权账号管理(PAM)
特权账号(Privileged Account)是指那些具有高级权限的账号,比如服务器的root账号、数据库的管理员账号、网络设备的admin账号。这类账号的权限极高,一旦被滥用或盗用,后果往往非常严重。特权账号管理(PAM,Privileged Access Management)是堡垒机功能的自然延伸,也是等保2.0和行业标准(如ISO 27001)的重点要求。
4.1 账号密码自动轮转
长期不更改密码是特权账号管理的常见漏洞。很多企业的root密码可能几年没改过,一旦泄露,影响范围极大。手动定期改密又存在两个问题:一是工作量大(资产数量多时难以坚持),二是改密后需要同步更新所有依赖该密码的系统和脚本,容易引发故障。
JumpServer从v4.10版本开始内置了PAM模块,支持特权账号密码的自动轮转:
- 定期改密策略:按天、按周、按月自动触发改密任务。改密策略可以针对不同的资产类型(Linux、Windows、数据库)和账号类型分别配置。
- 密码复杂度策略:定义自动生成密码的规则,包括长度、字符类型(大写字母、小写字母、数字、特殊字符)的组合要求。符合等保2.0对口令复杂度的要求。
- 改密后自动同步:改密完成后,新密码自动更新到堡垒机的账号凭据库中,后续运维人员通过堡垒机登录该资产时,会使用新密码进行认证。对于需要将密码同步到其它系统(如CMDB、自动化运维平台)的场景,也支持通过Webhook或API主动推送密码变更通知。
- 改密异常处理:如果改密失败(比如目标资产不可达、账号权限不足),系统会自动重试并发送告警通知,确保管理员能够及时发现和处理问题。
4.2 SSH密钥管理
密钥认证的安全性。很多企业已经用SSH密钥替代了密码认证。但密钥的管理同样存在问题:密钥如何安全生成?如何分发到目标服务器?人员离职后如何回收密钥?这些问题在缺乏专用管理工具时往往被忽视。
JumpServer的PAM模块提供了完整的SSH密钥生命周期管理:
- 密钥生成:在堡垒机中生成RSA或ED25519格式的SSH密钥对,支持自定义密钥长度和有效期。
- 密钥分发:自动将公钥推送到指定的资产账号,无需手动编辑authorized_keys文件。分发过程有完整的审计记录。
- 密钥回收:人员离职或转岗时,可以通过堡垒机批量撤销其在目标服务器上的公钥,避免"幽灵密钥"长期存在。
- 密钥轮换:定期生成新的密钥对并替换旧密钥,减少密钥泄露后的风险窗口期。
五、企业版X-Pack进阶功能
JumpServer社区版已经包含了上述所有核心功能,可以满足大部分企业的堡垒机需求。对于企业级用户,JumpServer提供了X-Pack增强包,包含以下进阶功能:
- 高可用部署:支持主备模式和集群模式部署,消除单点故障。当主节点故障时,备节点自动接管,确保堡垒机服务不中断。会话录像、审计日志等数据实时同步到备用节点。
- 多组织管理:在一个堡垒机实例中创建多个独立的组织,每个组织有独立的资产库、用户库、审计日志。适合集团公司、MSP(管理服务提供商)等需要多租户隔离的场景。
- 审批工单系统:内置工单审批流程,运维人员申请资产访问权限、申请临时高危命令执行权限时,需要走审批流程。审批记录与审计日志关联,形成完整的权责链。
- 数据脱敏:在数据库运维审计中,对查询结果中的敏感字段(如身份证号、手机号、银行卡号)进行自动脱敏显示,防止敏感数据在屏幕录像中明文留存。
- 远程应用发布:通过RemoteApp方式发布单个Windows应用程序(如PLSQL Developer、SecureCRT),用户无需登录整个Windows桌面,只需使用发布的应用。减少Windows RDS CAL授权需求,同时缩小攻击面。
- 企业IM深度集成:如前面所述,与飞书、钉钉、企业微信的深度集成,将审批、告警、通知等流程嵌入IM工具。
六、为什么选JumpServer
市场上有多种堡垒机产品可供选择,商业软件、开源软件、硬件一体机并存。JumpServer能够在其中脱颖而出,核心原因在于它的产品理念和商业模式。
6.1 社区版完全免费且功能完整
很多开源软件的"社区版"实际上是一个功能受限的试用版,真正好用的功能都在付费版中。JumpServer的社区版不是这样——上述所有核心功能(身份认证、资产纳管、操作审计、PAM)在社区版中全部可用,且没有任何资产数量限制或用户数量限制。
这种"社区版即完整版"的策略,使得JumpServer的获取门槛极低。一个运维团队可以今天下载、明天部署、后天投入生产使用,全程不需要和销售谈商务、不需要申请采购预算。这种体验对于技术团队来说是非常友好的,也是JumpServer能够快速积累用户基础的重要原因。
6.2 开源带来的透明度和信任
堡垒机本身是一个高权限系统——它能看到所有的运维操作,也能访问所有的IT资产。对于一个如此敏感的系统,企业自然会关心:"堡垒机本身安全吗?有没有后门?"
JumpServer的开源性质给出了一个有力的回答:代码公开,任何人都可以审查。事实上,JumpServer在GitHub上收获了30,000+ Stars,全球有100,000+安装量,500+社区贡献者。这种规模的社区监督,使得安全漏洞能够被快速发现和修复。相比之下,闭源商业堡垒机的安全性和可控性,只有厂商自己才知道。
6.3 价格透明,无隐性收费
对于需要企业版功能的用户,JumpServer采用订阅制收费,价格在官网公开,按资产数量计费,没有复杂的模块化加价。这种透明的定价策略在 enterprise security software 领域并不常见——很多传统安全厂商的报价是"按需报价",最终价格往往取决于谈判能力而非产品价值。
6.4 成熟的落地案例
JumpServer已经被众多行业头部企业采用,包括:
- 腾讯音乐:管理横跨多个云平台的庞大异构资产,通过JumpServer的开放API实现与内部运维平台的深度集成。
- 货拉拉:满足等保合规要求的同时,通过Web Terminal和批量操作能力提升运维效率。
- 萤石网络:将堡垒机融入日常DevOps工作流,操作体验让一线运维人员"愿意用"。
- 金山办公:通过JumpServer实现多地办公环境下的统一运维审计。
- 天虹股份:零售企业的IT环境资产分散,JumpServer帮助实现了统一的运维安全管理。
- 阿特斯:光伏制造企业的全球多站点IT架构,通过JumpServer的分布式部署实现统一的堡垒机管理。
6.5 全面的信创兼容能力
JumpServer的信创适配工作启动较早,目前已全面兼容:
- CPU架构:鲲鹏(ARM64)、飞腾(ARM64)、龙芯(LoongArch)、海光(x86_64)、兆芯(x86_64)。
- 操作系统:麒麟软件(银河麒麟、中标麒麟)、统信UOS、欧拉(openEuler)、中科方德。
- 数据库:达梦数据库(DM)、人大金仓(KingbaseES)、神舟通用(OSCAR)、南大通用(GBase)。
对于处于信创替代进程中的党政军、央国企、金融机构来说,JumpServer提供了一款可以平滑替代国外商业堡垒机的开源方案。再配合飞致云提供的信创一体机交付模式,进一步降低了信创落地的技术门槛。
总结
堡垒机的四大核心功能——身份认证与访问控制、资产纳管与单点登录、操作审计与会话管理、特权账号管理——构成了一个完整的运维安全审计体系。等保2.0把堡垒机从"可选"变成了"必选",但选哪个堡垒机,仍然是一个需要认真评估的问题。
JumpServer作为一个开源项目,用社区版的完整性和企业版的增值服务,给出了一个颇具竞争力的答案。30,000+ GitHub Stars和100,000+安装量说明,这个答案是被市场认可的。对于正在选型或替换堡垒机的企业IT负责人来说,从社区版开始试用,或许是一个低风险、高回报的决策。