堡垒机——网络技术手段

news2024/11/24 11:48:46

目录

一、简介

1.什么是跳板机

2.跳板机缺陷

3.什么是堡垒机

4.为什么要使用堡垒机

4.1堡垒机设计理念 

4.2堡垒机的建设目标

4.3堡垒机的价值

4.4总结

5.堡垒机的分类

6.堡垒机的原理

7.堡垒机的身份认证

8.堡垒机的运维方式常见有以下几种

9.堡垒机其他常见功能

二、JumpServer

1.JumpServer介绍

2.JumpServer架构

3.JumpServer组件

4.JumpServer优势

5.JumpServer实现的功能

6.Authentication——身份验证

7.Account——账号管理

8.Authorization——授权控制

9.Audit——安全审计

三、JumpServer安装部署

1.部署方式

1.1单机部署

1.2HA高可用部署

1.3异地同步部署

1.4集群部署(分布式部署)

2.下载JumpServer安装包

3.安装JumpServer

4.启动并访问


一、简介

1.什么是跳板机

跳板机就是一台服务器,具备公网和内网,我们的开发人员或者运维人员,要想维护内部集群服务时,需要先统一登陆到跳板机这台服务器,然后在通过跳板机的内网登陆目标集群服务器

2.跳板机缺陷

没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作,违规操作导致故障,一旦出现操作事故很难快速定位到原因和责任人;此时堡垒机就诞生了。

3.什么是堡垒机

堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。

其从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能。从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。形象地说,终端计算机对目标的访问,均需要经过堡垒机的翻译。打一个比方,堡垒机扮演着看门者的工作,所有对网络设备和服务器的请求都要从这扇大门经过。因此堡垒机能够拦截非法访问和恶意攻击,对不合法命令进行阻断,过滤掉所有对目标设备的非法访问行为,并对内部人员误操作和非法操作进行审计监控,以便事后进行责任追踪。

堡垒机其实是基于跳板机基础之上,能够实现运维更加安全的操作目标集群服务器,提供安全保证。

  • 资产集中管理(统一管理)
  • 审计,记录,视频回放操作记录
  • 限制如rm,dd等危险命令的执行
  • 限制登陆目标服务器的身份权限

4.为什么要使用堡垒机

在日常对网络设备和服务器运行维护的过程中,常常会出现如下一些主要问题:

  • 多个用户使用同一个账号管理一台设备。这种做法会导致发生安全事故后,难以定位账号的实际使用者和责任人,存在较大安全风险和隐患。

  • 一个用户使用多个账号管理多台设备。目前,这种做法是比较普遍的,一个运维人员往往需要管理很多设备,他需要记忆多套账号口令,在多套主机系统、网络设备之间切换。这种做法会降低工作效率,增加工作复杂度。

  • 现在的网络设备和服务器大多数是被动防御,即在安全问题发生后人为的通过日志分析去定位安全责任,这种做法很难及时通过系统自身审计发现违规操作行为和追查取证。

随着堡垒机的上线,我们可以解决上述这些问题,以及其他的诸如访问控制、自动化操作等问题。

4.1堡垒机设计理念 

堡垒机提供了运维安全审计的4A规范:即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)为核心

  • Authentication:身份鉴别,防止身份冒用和复用
  • Authorization:授权控制,防止内部误操作和权限滥用
  • Accouting:账号管理,人员和资产的管理
  • Auditing:安全审计,追溯和分析事故的依据

4.2堡垒机的建设目标

其次堡垒机的建设目标可以概况为5W,主要是为了减低运维风险。

  • what审计:你做了什么?
  • which授权:你能做哪些?
  • where账号:你要去那?
  • who认证你是谁?
  • when来源:访问时间?

4.3堡垒机的价值

  • 集中管理
  • 集中权限分配
  • 统一认证
  • 集中审计
  • 数据安全
  • 运维高效
  • 运维合规
  • 风险管控

4.4总结

堡垒机能让运维更安全,更加便捷的登陆目标资产服务 堡垒机还可以帮助企业快速构建“身份鉴别,访问控制,安全审计”,助力企业满足新等保要求。什么是等保?

所有企业都需要使用堡垒机。因为堡垒机是企业进行“资产管理,运维安全审计”的重要组件。

5.堡垒机的分类

堡垒机分为商业堡垒机开源堡垒机

开源软件毫无疑问将是未来的主流。Jumpserver 是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统,GitHub Star 数超过 1.1 万,Star 趋势就可以看出其受欢迎程度

6.堡垒机的原理

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

1.运维平台

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

2.管理平台

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

3.自动化平台

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

4.控制平台

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

5.审计平台

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

说明:三权分立
三权的理解:配置,授权,审计
三员的理解:系统管理员,安全保密管理员,安全审计员
三员之三权:废除超级管理员;三员是三角色并非三人;安全保密管理员与审计员必须非同一个人

7.堡垒机的身份认证

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

  • 本地认证:本地账号密码认证,一般支持强密码策略
  • 远程认证:一般可支持第三方AD/LDAP/Radius认证
  • 双因子认证:UsbKey、动态令牌、短信网关、手机APP令牌等
  • 第三方认证系统:OAuth2.0、CAS等。

8.堡垒机的运维方式常见有以下几种

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

9.堡垒机其他常见功能

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

二、JumpServer

1.JumpServer介绍

JumpServer是由FIT2CLOUD(飞致远)公司旗下一款开源的堡垒机,这款也是全球首款开源的堡垒机,使用GNUGPLv2.0开源协议,是符合4A规范的运维安全审计系统,使用Python开发,遵循Web 2.0规范,配备了业界领先的WebTerminal方案,交互界面美观、用户体验好,同时采纳分布式架构,支持多机房跨区域部署以及横向扩展,无资产数量及并发限制。

JumpServer是全球首款完全开源的堡垒机,使用GNUGPLv2.0开源协议,是符合4A的专业运维审计系统。 JumpServer使用Python/Django进行开发,遵循Web2.0规范,配备了业界领先的WebTerminal解决方案,交互界面美观、用户体验好。

JumpServer采纳分布式架构,支持多机房跨区域部署,中心节点提供API,各机房部署登录节点,可横向扩展、无并发访问限制。

JumpServer现已支持管理SSH、Telnet、RDP、VNC协议资产。

堡垒机的核心功能是“运维+安全审计”,要实现这一目标,需要在终端计算机和服务器资产中间加一层协议转发节点,多有对目标资产的请求都需要经过这一节点,该节点能够拦截非法访问,阻断不合规的危险命令,并对内部人员的所有操作进行审计监控,一遍进行时候追溯,以上所说的中间节点就是堡垒机。堡垒机在网络环境中的经典

2.JumpServer架构

JumpServer 采用分层架构,分别是负载层、接入层、核心层、数据层、存储层

JumpServer基础架构 

3.JumpServer组件

  • 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 应用

JumpServer 的主要组件有四个,分别为:jumpserver、Koko、Luna、 Guacamole

  • Jumpserver:提供管理后台,管理员可以通过 web 页面进行资产管 理,用户管理和资产授权等操作。
  • koko:提供 SSH server 和 web Termianal server 方式登陆资产
  • Lina Luna:提供 web 前端页面,后续会将整合到 Lina 中
  • Guacamole:提供 RDP 功能,用户可通过该方式登陆 windows 资产。

4.JumpServer优势

  • 开源:零门槛,线上快速获取和安装;
  • 分布式:轻松支持大规模并发访问;
  • 无插件:仅需浏览器,极致的 Web Terminal 使用体验;
  • 多云支持:一套系统,同时管理不同云上面的资产;
  • 云端存储:审计录像云端存储,永不丢失;
  • 多租户:一套系统,多个子公司和部门同时使用;
  • 多应用支持:数据库,Windows 远程应用,Kubernetes。

5.JumpServer实现的功能

名词含义
用户组、用户添加组方便进行授权,用户是授权和登录的主体,用户可以加入用户组,进行批量管理
资产组、资产、IDC资产就是管理的机器(主机),主机信息简洁完整,用户自定义备注登录,支持自动获取主机的硬件信息,资产同样可以加入资产组,进行批量管理
SUDO、系统用户、授权规则支持sudo用户授权,系统用户用于登录客户端,授权规则是将用户、资产和系统用户关联起来
在线历史、登录历史、命令记录、上传下载记录在线实时监控用户操作,统计用户命令记录,录像回放用户操作内容,阻断控制,详细记录用户上传和下载
上传、下载支持文件的上传和下载,实现方式是使用rz(上传)和sz(下载)命令
默认设置默认管理用户,设置包括用户密码密钥,默认信息为了方便添加资产而设计

6.Authentication——身份验证

  • 登录认证:资源统一登录和认证、LDAP 认证、支持 OpenID,实现单点登录
  • 多因子认证:MFA(Google Authenticator)

多因子认证官方说明https://www.sohu.com/a/524304887_120144445

7.Account——账号管理

  • 集中账号管理:管理用户管理、系统用户管理
  • 统一密码管理:资产密码托管、自动生成密码、密码自动推送、密码过期设置
  • 批量密码变更:定期批量修改密码、生成随机密码
  • 多云环境的资产纳管:对私有云、公有云资产统一管理

8.Authorization——授权控制

  • 资产授权管理:资产树、资产或资产组灵活授权、节点内资产自动继承授权
  • RemoteApp:实现更细粒度的应用级授权
  • 组织管理:实现多租户管理,权限隔离
  • 多维度授权:可以对用户、用户组或者系统角色授权
  • 指令限制:限制特权指令使用、支持黑白名单
  • 统一文件传输:SFTP 文件的上传\下载
  • 文件管理:Web SFTP 文件管理 

9.Audit——安全审计

  • 会话管理:在线会话管理、历史会话管理
  • 录像管理:linux 录像支持、windows 录像支持
  • 指令审计:指令记录
  • 文件传输审计:上传\下载记录审计

三、JumpServer安装部署

1.部署方式

1.1单机部署

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

特点:

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

1.2HA高可用部署

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

特点:

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

1.3异地同步部署

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

特点:

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

1.4集群部署(分布式部署)

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

特点:

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

2.下载JumpServer安装包

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

我们安装的是Linux操作系统的JumpServer,所以需要准备Centos的操作系统,目前大部分环境都在使用Centos7。

Centos7 镜像下载网址:https://vault.centos.org/

JumpServer的安装包下载地址:https://www.jumpserver.org/

3.安装JumpServer

cd /opt
tar zxvf jumpserver-offline-installer-v3.10.9-amd64.tar.gz
cd jumpserver-offline-installer-v3.10.9-amd64/
./jmsctl.sh install
#等待安装即可 如遇到y/n回车即可

>>> 安装完成了
1. 可以使用如下命令启动, 然后访问
cd /opt/jumpserver-offline-installer-v3.10.9-amd64
./jmsctl.sh start

2. 其它一些管理命令
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
更多还有一些命令, 你可以 ./jmsctl.sh --help 来了解

3. Web 访问
http://192.168.241.11:80
默认用户: admin  默认密码: admin

4. SSH/SFTP 访问
ssh -p2222 admin@192.168.241.11
sftp -P2222 admin@192.168.241.11

5. 更多信息
我们的官网: https://www.jumpserver.org/
我们的文档: https://docs.jumpserver.org/

4.启动并访问

cd /opt/jumpserver-offline-installer-v3.10.9-amd64
./jmsctl.sh start

http://192.168.241.11:80
默认用户: admin  默认密码: admin

会显示初始密码过于简单(这里建议更改密码)

至此,堡垒机搭建并访问已完成,下次我们讲讲堡垒机如何使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1646596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker安装redis命令及运行

docker安装redis: docker run -d -p 6379:6379 --name redis redis:latest -d: 以 守护进程模式 运行容器,容器启动后会进入后台运行,并脱离当前命令行会话。 -p: 显示端口号。 -p 6379:6379: 将容器内部的 6379 端口映射到宿主机 6379 端…

OpenHarmony实战开发-上传文件

Web组件支持前端页面选择文件上传功能,应用开发者可以使用onShowFileSelector()接口来处理前端页面文件上传的请求。 下面的示例中,当用户在前端页面点击文件上传按钮,应用侧在onShowFileSelector()接口中收到文件上传请求,在此接…

行业唯一!易保全牵头编制的《区块链数据访问安全技术通则》发布

近日,易保全牵头参与编制的《区块链数据访问安全技术通则》经中国国际经济技术合作促进会正式发布,为中国区块链数据安全技术提供了标准参考。 易保全作为牵头起草单位、易保全CEO兼董事长刘刚担任主要起草人参与其中,在区块链技术安全风险…

初识C语言——第十三天

关键字2: static 修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型) static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,其他源文件不能使用 …

【数据库】MySQL安装与卸载

文章目录 [toc]MySQL下载网盘链接下载网址 MySQL安装解压生成data文件安装MySQL启动MySQL服务 MySQL登录设置root用户密码 环境变量配置MySQL卸载 个人主页:丷从心 系列专栏:MySQL 学习指南:数据库 MySQL下载 网盘链接 链接:h…

一个404引发的困惑:贵圈真乱,此文随时可能被删

今天在问答区看到一个比较低级的问题,这个问题99.9999%学过java的人都会遇到,就是404错误,如果只是404,那就没有必要写出来了,都说评论区/回答区会出神评论,这里的神评论就是出在回答区,通篇都是…

JS基础:JS语法规范详解(最全!)

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端基础路线”,可获取完整web基础…

2024/5/4 英语每日一段

But something is slowing that rocket down: lack of access to the types of data used to train robots so they can interact more smoothly with the physical world.It’s far harder to come by than the data used to train the most advanced AI models like GPT—mos…

jdk环境安装

jdk安装 创建软件安装的目录 mkdir -p /bigdata/{soft,server} /bigdata/soft 安装文件的存放目录 /bigdata/server 软件安装的目录 把安装的软件上传到/bigdata/soft 目录 解压到指定目录 -C :指定解压到指定目录 tar -zxvf /bigdata/soft/jdk-8u241-linux-x64.tar.gz -C /b…

快速编写测试用例(超详细~)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 当你学会了如何设计测试用例之后,接下来便是开始用例…

234234235

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

TypeScript学习日志-第二十天(模块解析)

模块解析 一、ES6之前的模块规范 前端模块化规范是有很多的,在es6模块化规范之前分别有一下的模块化规范 一、Commonjs 这是 NodeJs 里面的模块化规范 // 导入 require("xxx"); require("../xxx.js"); // 导出 exports.xxxxxx function() …

复写零(双指针)

下面的解法需要手动画图,举例去体会,只有自己手动去做了,才会有所收获。 class Solution {public void duplicateZeros(int[] arr) {int n arr.length;//先找到最后一个元素的位置;//至于为什么要直接先设dest 为-1,这是经过研究…

X 推出 Stories 功能,由 Grok AI 生成新闻摘要

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

框架漏洞RCE-1

一、前提 1、命令执行漏洞:直接调用操作系统命令。攻击者构造恶意命令,将命令拼接到正常的输入中,达到恶意攻击的目的。 (1)、常见命令执行函数 PHP:exec、shell_exec、system、passthru、popen、proc_open、反引号等 ASP.N…

虚拟键代码

虚拟键代码 虚拟键码 (Winuser.h) - Win32 apps | Microsoft Learn 在Windows操作系统中,虚拟键代码(Virtual-Key Codes)是一组用来表示键盘上按键的数值。这些代码通常用于Windows API函数,以便程序能够识别和处理键盘输入。 虚拟…

嵌入式系统应用-拓展-FLASH之操作 SFUD (Serial Flash Universal Driver)之KEIL应用

这里已经假设SFUD代码已经移植到工程下面成功了,如果读者对SFUD移植还不了解。可以参考笔者这篇文章:SFUD (Serial Flash Universal Driver)之KEIL移植 这里主要介绍测试和应用 1 硬件设计 这里采用windbond 的W25Q32这款芯片用于SFUD测试。 W25Q32是…

IP地址类型

这些IP地址中有IPv4和IPv6地址,以及一些是链路本地地址(通常用于本地网络中的通信),而另一些则是可以被路由的公共或私有IP地址。 这里是您提供的IP地址的一些简要说明: IPv6 链路本地地址:以fe80:开头的地址是IPv6链路本地地址。这些地址仅用于同一链路(如以太网段或无…

ue引擎游戏开发笔记(33)——武器与角色的匹配,将新武器装备到角色身上

1.需求分析: 武器能出现在世界中,完成了第一步,下一步需要角色和武器适配,即不论角色跑动,射击等,武器和角色都相匹配,将武器装备到角色身上。 2.操作实现: 1.首先先把角色原有的武…

【LeetCode刷题】739. 每日温度(单调栈)

1. 题目链接2. 题目描述3. 解题方法4. 代码 1. 题目链接 739. 每日温度 2. 题目描述 3. 解题方法 用一个栈st保存每个数的下标,同时创建一个数组res保存结果,初始值都为0。循环遍历题目中的数组temperature。如果temperature[i] > st.top()&#x…