前言
1.什么是跳板机
跳板机就是一台服务器,具备公网和内网,我们的开发人员或者运维 人员,要想维护内部集群服务时,需要先统一登陆到跳板机这台服务 器,然后在通过跳板机的内网登陆目标集群服务器
2.跳板机缺陷
没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作,违规操作导致故障,一旦出现操作事故很难快速定位到原因和责任人;此时堡垒机就诞生了
一、堡垒机
1.1堡垒机是什么
堡垒机其实是基于跳板机基础之上,能够实现运维更加安全的操作目标集群服务器,提供安全保证
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责
堡垒机目前也有很多叫运维审计系统。
简单总结一句话:堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)
堡垒机的核心是可控及审计。
可控是指权限可控、行为可控。
权限可控,比如某个工程师要离职或要转岗了。如果没有一个统一的权限管理入口,是一场梦魇。
行为可控,比如我们需要集中禁用某个危险命令,如果没有一个统一入口,操作的难度可想而知。
- 资产集中管理(统一管理)
- 审计,记录,视频回放操作记录
- 限制如 rm,dd 等危险命令的执行
- 限制登陆目标服务器的身份权限
1.2堡垒机的由来
堡垒机是从跳板机(也叫前置机)的概念演变过来的。早在2000年左右的时候,一些中大型企业为了能对运维人员的远程登录进行集中管理,会在机房部署一台跳板机。
跳板机其实就是一台lunix/windows操作系统的服务器。所有运维人员都需要先远程登录跳板机,然后从跳板机登录其他服务器中进行运维操作。
随着技术和需求的发展,越来越多的客户需要对运维操作进行审计。因此,堡垒机应运而生。
1.3堡垒机设计理念
堡垒机主要是有4“A”理念。
即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)为核心
堡垒机提供了运维安全审计的 4A 规范:
- Authentication:身份鉴别,防止身份冒用和复用
- Authorization :授权控制,防止内部误操作和权限滥用
- Accouting:账号管理,人员和资产的管理
- Auditing:安全审计,追溯和分析事故的依据
1.4堡垒机的建设目标
堡垒的建设目标可以概括为5“W”,主要是为了降低运维风险。具体如下:
- 审计:你做了什么?(What)
- 授权:你能做哪些?(Which)
- 账号:你要去哪?(Where)
- 认证:你是谁?(Who)
- 来源:访问时间?(When)
1.5堡垒机的价值
- 集中管理
- 集中权限分配
- 统一认证
- 集中审计
- 数据安全
- 运维高效
- 运维合规
- 风险管控
1.6堡垒机的分类
堡垒机分为商业堡垒机和开源堡垒
开源软件毫无疑问将是未来的主流。Jumpserver 是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统,GitHub Star 数超过 1.1 万,Star 趋势就可以看出其受欢迎程度
1.7堡垒机原理
目前常见堡垒机的主要功能分为以下几个模块:
1、运维平台
RDP/VNC运维;SSH/Telnet运维;SFTP/FTP运维;数据库运维;Web系统运维;远程应用运维;
2、管理平台
三权分立;身份鉴别;主机管理;密码托管;运维监控;电子工单;
3、自动化平台
自动改密;自动运维;自动收集;自动授权;自动备份;自动告警;
4、控制平台
IP防火墙;命令防火墙;访问控制;传输控制;会话阻断;运维审批;
5、审计平台
命令记录;文字记录;SQL记录;文件保存;全文检索;审计报表;
说明:三权分立
三权的理解:配置,授权,审计
三员的理解:系统管理员,安全保密管理员,安全审计员
三员之三权:废除超级管理员;三员是三角色并非三人;安全保密管理员与审计员必须非同一个人
1.8堡垒机的身份认证
堡垒机主要就是为了做统一运维入口,所以登录堡垒机就支持灵活的身份认证方式:
- 本地认证:本地账号密码认证,一般支持强密码策略
- 远程认证:一般可支持第三方AD/LDAP/Radius认证
- 双因子认证:UsbKey、动态令牌、短信网关、手机APP令牌等
- 第三方认证系统:OAuth2.0、CAS等。
1.9堡垒机的运维方式常见有以下几种
- B/S运维:通过浏览器运维。
- C/S运维:通过客户端软件运维,比如Xshell,CRT等。
- H5运维:直接在网页上可以打开远程桌面,进行运维。
- 无需安装本地运维工具,只要有浏览器就可以对常用协议进行运维操作,支持ssh、telnet、rlogin、rdp、vnc协议
- 网关运维:采用SSH网关方式,实现代理直接登录目标主机,适用于运维自动化场景。
1.10堡垒机其他常见功能
- 文件传输:一般都是登录堡垒机,通过堡垒机中转。使用RDP/SFTP/FTP/SCP/RZ/SZ等传输协议传输。
- 细粒度控制:可以对访问用户、命令、传输等进行精细化控制
- 支持开放的API
二、jumpserver
2.1jumpserver介绍
- **JumpServer **是由 FIT2CLOUD(飞致远)公司旗下一款开源的堡垒机, 这款也是全球首款开源的堡垒机,
- 使用 GNU GPL v2.0 开源协议,是 符合 4A 规范的运维安全审计系统,使用 Python 开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、 用户体验好,
- 同时采纳分布式架构,支持多机房跨区域部署以及横向 扩展,无资产数量及并发限制。
- JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产
- 堡垒机的核心功能是“运维+安全审计”,要实现这一目标,需要在 终端计算机和服务器资产中间加一层协议转发节点,多有对目标资产的请求都需要经过这一节点,该节点能够拦截非法访问,阻断不合规 的危险命令,并对内部人员的所有操作进行审计监控,以便进行时候 追溯,以上所说的中间节点就是堡垒机。堡垒机在网络环境中的经典
2.2应用架构
- JumpServer 采用分层架构,分别是负载层、接入层、核心层、数据层、存储层
JumpServer 应用架构图如下
- JumpServer 分为多个组件,大致的架构如下图所示,其中 Lina 和 Luna 为纯静态文件,最终由 Nginx 整合。
2.3jumpserver组件说明
- Core 组件是 JumpServer 的核心组件,其他组件依赖此组件启动。
- Koko 是服务于类 Unix 资产平台的组件,通过 SSH、Telnet 协议提供字符型连接。
- Lion 是服务于 Windows 资产平台的组件,用于 Web 端访问 Windows 资产。
- XRDP 是服务于 RDP 协议组件,该组件主要功能是通过 JumpServer Client 方式访问 windows 2000、XP 等系统的资产。
- Razor 是服务于 RDP 协议组件,JumpServer Client 默认使用 Razor 组件访问 Windows 资产。
- Magnus 是服务于数据库的组件,用于通过客户端代理访问数据库资产。
- Kael 是服务于 GPT 资产平台的组件,用于纳管 ChatGPT 资产。
- Chen 是服务于数据库的组件,用于通过 Web GUI 方式访问数据库资产。
- Celery 是处理异步任务的组件,用于执行 JumpServer 相关的自动化任务。
- Video 是专门处理 Razor 组件和 Lion 组件产生录像的格式转换工作,将产生的会话录像转化为 MP4 格式。
- Panda 是基于国产操作系统的应用发布机,用于调度 Virtualapp 应用
2.4JumpServer 的产品特色包括
- 开源:零门槛,线上快速获取和安装;
- 分布式:轻松支持大规模并发访问;
- 无插件:仅需浏览器,极致的 Web Terminal 使用体验;
- 多云支持:一套系统,同时管理不同云上面的资产;
- 云端存储:审计录像云端存储,永不丢失;
- 多租户:一套系统,多个子公司和部门同时使用;
- 多应用支持:数据库,Windows 远程应用,Kubernetes。
2.5JumpServer 实现的功能
名词 含义用户组、用户添加组方便进行授权,用户是授权和登录的主体,用 户可以加入用户组,进行批量管理资产组、资产、IDC资产就是管理的机器(主机),主机信息简洁完整, 用户自定义备注登录,支持自动获取主机的硬件信息, 资产同样可以加入资产组,进行批量管理sudo、系统用户、授权规 则 支持 sudo 用户授权,系统用户用于登录客户端,授权 规则是将用户、资产和系统用户关联起来在线历史、登录历史、命 令记录、上传下载记录在线实时监控用户操作,统计用户命令记录,录像回 放用户操作内容,阻断控制,详细记录用户上传和下 载上传、下载支持文件的上传和下载,实现方式是使用 rz(上传) 和 sz(下载)命令默认设置默认管理用户,设置包括用户密码密钥,默认信息为 了方便添加资产而设计
2.6身份验证 Authentication
- 登录认证:资源统一登录和认证、LDAP 认证、支持 OpenID,实现单点登录
- 多因子认证:MFA(Google Authenticator)
https://www.sohu.com/a/524304887_120144445(多因子认证官方说明)
2.7账号管理 Account
- 集中账号管理:管理用户管理、系统用户管理
- 统一密码管理:资产密码托管、自动生成密码、密码自动推送、密码过期设置
- 批量密码变更:定期批量修改密码、生成随机密码
- 多云环境的资产纳管:对私有云、公有云资产统一管理
2.8授权控制 Authorization
- 资产授权管理:资产树、资产或资产组灵活授权、节点内资产自动继承授权
- RemoteApp:实现更细粒度的应用级授权
- 组织管理:实现多租户管理,权限隔离
- 多维度授权:可以对用户、用户组或者系统角色授权
- 指令限制:限制特权指令使用、支持黑白名单
- 统一文件传输:SFTP 文件的上传\下载
- 文件管理:Web SFTP 文件管理
2.9安全审计 Audit
- 会话管理:在线会话管理、历史会话管理
- 录像管理:linux 录像支持、windows 录像支持
- 指令审计:指令记录
- 文件传输审计:上传\下载记录审计
三、堡垒机的部署方式
3.1单机部署
堡垒机主要都是旁路部署,旁挂在交换机旁边,只要能访问所有设备即可
部署特点:
- 旁路部署,逻辑串联。
- 不影响现有网络结构。
3.2HA高可靠部署
旁路部署两台堡垒机,中间有心跳线连接,同步数据。对外提供一个虚拟IP
部署特点:
- 两台硬件堡垒机,一主一备/提供VIP。
- 当主机出现故障时,备机自动接管服务。
3.3异地同步部署
通过在多个数据中心部署多台堡垒机。堡垒机之间进行配置信息自动同步
部署特点:
- 多地部署,异地配置自动同步
- 运维人员访问当地的堡垒机进行管理
- 不受网络/带宽影响,同时祈祷灾备目的
3.4集群部署(分布式部署)
当需要管理的设备数量很多时,可以将n多台堡垒机进行集群部署。
其中两台堡垒机一主一备,其他n-2台堡垒机作为集群节点,给主机上传同步数据,整个集群对外提供一个虚拟IP地址
部署特点:
- 两台硬件堡垒机,一主一备、提供VIP
- 当主机出现故障时,备机自动接管服务。
四、jumpserver部署
4.1下载安装包
JumpServer - 开源堡垒机 - 官网
目前,常用的堡垒机有收费和开源两类。收费的有行云管家、纽盾堡垒机,开源的有JumpServer 这几种各有各的优缺点,如何选择,大家可以根据实际场景来判断
Centos7 镜像下载网址:https://vault.centos.org/
下载安装包地址开源社区 - FIT2CLOUD 飞致云
JumpServer的安装包下载地址:https://www.jumpserver.org/
版本是可以自己选择的
4.2安装JumpServer
systemctl stop firewalld
setenforce 0
cd /opt
tar xf jumpserver-installer-v2.28.8.tar.gz
cd jumpserver-installer-v2.28.8/
./jmsctl.sh install
#等待安装即可 如遇到y/n回车即可
4.2.1启动并访问
cd /opt/jumpserver-installer-v2.28.8
./jmsctl.sh start
4.3浏览器去访问
http://192.168.246.12:80
默认用户: admin 默认密码: admin
然后重新输入密码,账户admin,密码123123
版权归原作者 白开水~不加糖 所有, 如有侵权,请联系我们删除。