运维圈子里,堡垒主机和堡垒机两个名词经常混用,就算产品厂商有时也不会刻意区分。但拆开来看,二者的区别很清晰,一个指代硬件载体,另一个指代整套软件系统。
堡垒主机这个概念最早出自防火墙领域,不是运维行业提出。上世纪90年代,Marcus Ranum在防火墙相关著作中定义堡垒主机,指经过安全加固,专门抵御攻击的计算机。一般部署在外围网络或者DMZ区域,直接暴露公网,用来承载Web、DNS、FTP这类必须对外提供的服务。设计思路是把攻击者的攻击目标吸引到这台主机,保护内网安全。早年提到堡垒主机,就是一台实体加固计算机,可以是Unix工作站,也可以是NT服务器。

后续这个概念被引入运维领域,含义发生变化。2000年前后,不少中大型企业为集中管控运维远程登录,在机房部署跳板机,运维人员先登录跳板机,再跳转访问其他服务器。早期跳板机缺少审计能力,谁登录、执行哪些操作,事后无法追溯。2005年左右,跳板机的基础思路叠加身份认证、权限管控、操作录像等功能,演变成独立产品,也就是现在所说堡垒机,又叫运维审计系统。这时堡垒机指代一套软件系统,可以部署在物理服务器、虚拟机、云主机,也能以SaaS形式提供。
腾讯云对堡垒机的定义描述明确,它是集成用户管理、授权管理、认证管理、综合审计的集中运维管理系统,核心是4A体系:认证、授权、账号、审计。安恒信息文档拆分功能更细,包含身份认证、权限管理、访问控制、操作审计、会话管理。简单来讲,所有内网服务器访问请求,都必须经过堡垒机。它核验身份,校验访问权限,记录每一条命令和文件传输操作,拦截非法行为,录制会话。
堡垒主机在这套架构里,就是承载堡垒机系统的服务器。部署JumpServer或者硬件堡垒机设备,需要硬件资源运行程序,这台机器就是堡垒主机。可以是机房独立物理服务器,虚拟机,或是云主机实例。选型看规模、预算、合规需求,小团队用2核4G虚拟机部署开源方案足够,大型企业会选用硬件设备或者高可用集群。
简单总结,堡垒机是安全审计系统,堡垒主机是运行这套系统的硬件载体。行云管家的科普内容写得很直白,堡垒机不属于服务器,是安全审计系统;普通服务器执行指令,没有堡垒机的监控审计能力。这句话对比堡垒机和普通服务器没问题,如果把普通服务器替换成堡垒主机,关系就反过来,堡垒主机本身属于服务器,只是专门承载堡垒机系统,不直接对外提供业务服务。
实际工作中两个名词混用有原因。很多厂商硬件产品直接命名堡垒主机,设备预装整套系统,用户通电即可使用。这种场景下,用户口中堡垒主机和堡垒机就是同一事物。不过做方案设计、编写标书的时候,区分二者很重要。提出部署堡垒机,代表需要上线4A管控系统;采购堡垒主机,代表采购承载系统的硬件或者虚拟机资源。前者是功能需求,后者是资源需求。
还有容易混淆的跳板机。跳板机常被当作堡垒机同义词,但跳板机本质就是一台普通服务器,放置在特定网络位置,运维登录跳板机再跳转其他设备。缺少认证集成、细粒度权限、操作录像,发生安全事件无法追溯。堡垒机基于跳板机思路开发,补齐跳板机缺失的安全能力。所以有人说拥有跳板机,仅代表有一台中转服务器;拥有堡垒机,则代表部署完整管控审计系统,跳板机可以作为其中组件,也可能被堡垒机替代。
运维场景下堡垒主机和堡垒机的核心差异,就是载体和功能的区别。堡垒主机属于硬件或者虚拟资源,可以在云平台创建,或是机房部署物理机。堡垒机是运行在上面的业务逻辑,管控认证、权限、审计、会话。采购堡垒机产品,购买的是功能与授权;做部署规划,评估堡垒主机的CPU、内存、存储资源。两个名词放在一起讨论,大多是在规划这套系统该搭载在什么规格的机器上,并不是指代两套完全独立的设备。