《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 网络 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。

用一句话来说,堡垒机就是用来后控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事溯源)

堡垒机很多时候也叫运维审计系统,它的核心是可控及审计。可控是指权限可控、行为可控。权限可控,比如某个工程师要离职或要转岗了。如果没有一个统一的权限管理入口,是一场梦魇。行为可控,比如我们需要集中禁用某个危险命令,如果没有一个统一入口,操作的难度可想而知。

为什么需要堡垒机

堡垒机是从跳板机(也叫前置机)的概念演变过来的。早在2000年左右,一些中大型企业为了能对运维人员的远程登录进行集中管理,会在机房部署一台跳板机。跳板机其实就是一台unix/windows操作系统的服务器,所有运维人员都需要先远程登录跳板机,然后再从跳板机登录其他服务器中进行运维操作。

但跳板机并没有实现对运维人员操作行为的控制和审计,使用跳板机过程中还是会有误操作、违规操作导致的操作事故,一旦出现操作事故很难快速定位原因和责任人。此外,跳板机存在严重的安全风险,一旦跳板机系统被攻入,则将后端资源风险完全暴露无遗。同时,对于个别资源(如telnet)可以通过跳板机来完成一定的内控,但是对于更多更特殊的资源(ftp、rdp等)来讲就显得力不从心了。

人们逐渐认识到跳板机的不足,进而需要更新、更好的安全技术理念来实现运维操作管理。需要一种能满足角色管理与授权审批、信息资源访问控制、操作记录和审计、系统变更和维护控制要求,并生成一些统计报表配合管理规范来不断提升IT内控的合规性的产品。在这些理念的指导下,2005年前后,堡垒机开始以一个独立的产品形态被广泛部署,有效地降低了运维操作风险,使得运维操作管理变得更简单、更安全。

堡垒机的设计理念

堡垒机主要是有4A理念,即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)。

堡垒机的目标

堡垒机的建设目标可以概括为5W,主要是为了降低运维风险。具体如下:

  1. 审计:你做了什么?(What)
  2. 授权:你能做哪些?(Which)
  3. 账号:你要去哪?(Where)
  4. 认证:你是谁?(Who)
  5. 来源:访问时间?(When)

堡垒机的价值

  1. 集中管理
  2. 集中权限分配
  3. 统一认证
  4. 集中审计
  5. 数据安全
  6. 运维高效
  7. 运维合规
  8. 风险管控

堡垒机的原理

目前常见堡垒机的主要功能分为以下几个模块:

1、运维平台

RDP/VNC运维;SSH/Telnet运维;SFTP/FTP运维;数据库运维;Web系统运维;远程应用运维;

2、管理平台

三权分立;身份鉴别;主机管理;密码托管;运维监控;电子工单;

3、自动化平台

自动改密;自动运维;自动收集;自动授权;自动备份;自动告警;

4、控制平台

IP防火墙;命令防火墙;访问控制;传输控制;会话阻断;运维审批;

5、审计平台

命令记录;文字记录;SQL记录;文件保存;全文检索;审计报表;

说明:三权分立

三权的理解:配置,授权,审计

三员的理解:系统管理员,安全保密管理员,安全审计员

三员之三权:废除超级管理员;三员是三角色并非三人;安全保密管理员与审计员必须非同一个人。

堡垒机的身份认证

堡垒机主要就是为了做统一运维入口,所以登录堡垒机必须支持灵活的身份认证方式,比如:

1、本地认证

本地账号密码认证,一般支持强密码策略

2、远程认证

一般可支持第三方AD/LDAP/Radius认证

3、双因子认证

UsbKey、动态令牌、短信网关、手机APP令牌等

4、第三方认证系统

OAuth2.0、CAS等。

堡垒机的常见运维方式

  • B/S运维:通过浏览器运维。
  • C/S运维:通过客户端软件运维,比如Xshell,CRT等。
  • H5运维:直接在网页上可以打开远程桌面,进行运维。无需安装本地运维工具,只要有浏览器就可以对常用协议进行运维操作,支持ssh、telnet、rlogin、rdp、vnc协议
  • 网关运维:采用SSH网关方式,实现代理直接登录目标主机,适用于运维自动化场景。

堡垒机的其他常见功能

  • 文件传输:一般都是登录堡垒机,通过堡垒机中转。使用RDP/SFTP/FTP/SCP/RZ/SZ等传输协议传输。
  • 细粒度控制:可以对访问用户、命令、传输等进行精细化控制。
  • 支持开放的API

堡垒机的部署方式

1、单机部署

堡垒机主要都是旁路部署,旁挂在交换机旁边,只要能访问所有设备即可。

部署特定:

  • 旁路部署,逻辑串联。
  • 不影响现有网络结构。

2、HA高可靠部署

旁路部署两台堡垒机,中间有心跳线连接,同步数据。对外提供一个虚拟IP。

部署特点:

  • 两台硬件堡垒机,一主一备/提供VIP。
  • 当主机出现故障时,备机自动接管服务。

3、异地同步部署

通过在多个数据中心部署多台堡垒机。堡垒机之间进行配置信息自动同步。

部署特点:

  • 多地部署,异地配置自动同步
  • 运维人员访问当地的堡垒机进行管理
  • 不受网络/带宽影响,同时祈祷灾备目的

4、集群部署(分布式部署)

当需要管理的设备数量很多时,可以将n多台堡垒机进行集群部署。其中两台堡垒机一主一备,其他n-2台堡垒机作为集群节点,给主机上传同步数据,整个集群对外提供一个虚拟IP地址。

部署特点:

  • 两台硬件堡垒机,一主一备、提供VIP
  • 当主机出现故障时,备机自动接管服务。

开源产品

目前,常用的堡垒机有收费和开源两类。收费的有行云管家、纽盾堡垒机,开源的有jumpserver。这几种各有各的优缺点,如何选择,大家可以根据实际场景来判断。

文章目录
  1. 1. 为什么需要堡垒机
  2. 2. 堡垒机的设计理念
  3. 3. 堡垒机的目标
  4. 4. 堡垒机的价值
  5. 5. 堡垒机的原理
  6. 6. 堡垒机的身份认证
  7. 7. 堡垒机的常见运维方式
  8. 8. 堡垒机的其他常见功能
  9. 9. 堡垒机的部署方式
  10. 10. 开源产品