目录
前言
1.什么是跳板机
2.跳板机缺陷
一、堡垒机
1.1堡垒机是什么
1.2堡垒机的由来
1.3堡垒机设计理念
1.4堡垒机的建设目标
1.5堡垒机的价值
1.6堡垒机的分类
1.7堡垒机原理
1.8堡垒机的身份认证
1.9堡垒机的运维方式常见有以下几种
1.10堡垒机其他常见功能
二、jumpserver
2.1jumpserver介绍
2.2应用架构
2.3jumpserver组件说明
2.4JumpServer 的产品特色包括
2.5JumpServer 实现的功能
2.6身份验证 Authentication
2.7账号管理 Account
2.8授权控制 Authorization
2.9安全审计 Audit
三、堡垒机的部署方式
3.1单机部署
3.2HA高可靠部署
3.3异地同步部署
3.4集群部署(分布式部署)
四、jumpserver部署
4.1下载安装包
4.2安装JumpServer
4.2.1启动并访问
4.3浏览器去访问
前言
1.什么是跳板机
跳板机就是一台服务器,具备公网和内网,我们的开发人员或者运维 人员,要想维护内部集群服务时,需要先统一登陆到跳板机这台服务 器,然后在通过跳板机的内网登陆目标集群服务器
2.跳板机缺陷
没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作,违规操作导致故障,一旦出现操作事故很难快速定位到原因和责任人;此时堡垒机就诞生了
一、堡垒机
1.1堡垒机是什么
堡垒机其实是基于跳板机基础之上,能够实现运维更加安全的操作目标集群服务器,提供安全保证
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责
堡垒机目前也有很多叫运维审计系统。
简单总结一句话:堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)
堡垒机的核心是可控及审计。
可控是指权限可控、行为可控。
权限可控,比如某个工程师要离职或要转岗了。如果没有一个统一的权限管理入口,是一场梦魇。
行为可控,比如我们需要集中禁用某个危险命令,如果没有一个统一入口,操作的难度可想而知。
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 firewalldsetenforce 0cd /opttar 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