一、背景

笔者最近想起此前公司使用过的堡垒机系统,觉得用的很方便,而现在的公司并没有搭建此类系统,想着以后说不定可以用上;而且最近也有点时间,因此来了搭建堡垒机系统的兴趣,在搭建过程中参考了比较多的文档,其中最详细的还是官方文档,地址如下所示:

  1. Jumpserver 文档

二、操作概要

1. 系统运行
2. 配置入门
3. 测试验证

三、系统运行

在官方文档中安装堡垒机有很多种方法,这让笔者有些纠结,另外而且在不同系统中安装方法也不一致,不过正在徘徊不定时,发现一种通用的安装方法,便是采用docker进行安装,因此本文中笔者将以docker安装为例

3.1 下载镜像

在docker官方镜像库当中并没有收录jumpserver,因此下载镜像命令如下所示:

docker pull registry.jumpserver.org/public/jumpserver:1.0.0

下载过程可能比较慢,笔者大约花费了14分钟才将其下载完成,下载完成后结果如下所示

1.0.0: Pulling from public/jumpserver
af4b0a2388c6: Pull complete
aa66a3d10fd2: Pull complete
1d4c6a27f2ac: Pull complete
2490267572de: Pull complete
b00f1599768d: Pull complete
398fc903cdc3: Pull complete
f8490bbfc09a: Pull complete
86d238b365f5: Pull complete
2cd3b1ef59b2: Pull complete
4a21434eeb73: Pull complete
ae8cf3e909e0: Pull complete
7c440776471a: Pull complete
0a5e895f91af: Pull complete
b86672241685: Pull complete
af16a4945f95: Pull complete
0374e723cd6c: Pull complete
e18b86849df9: Pull complete
648aa832cb74: Pull complete
b52364a5c704: Pull complete
Digest: sha256:0f26e439c492ac52cbc1926aa950a59730607c947c79557ab3da51bfc2c7b5d4
Status: Downloaded newer image for registry.jumpserver.org/public/jumpserver:1.0.0

3.2 运行镜像

下载之后笔者需要将下载下来的容器运行起来,为了防止80端口被宿主机其他进程所占用,因此将容器端口映射到宿主机的8011上,运行命令如下所示:

docker run --name jms_server -d -p 8011:80 -p 2222:2222 registry.jumpserver.org/public/jumpserver:1.0.0

在参数当中因为有加入后台运行参数-d,容器运行之后终端不会进入容器bash中,而且当命令执行成功之后,docker将会返回容器ID,如果返回信息则可能出现了异常错误,正常返回结果如下所示

4709a7d85af28bf05a63fb3e42541a41c30edda6668fd54a446cfab006c35b9e

3.3 运行检查

容器运行之后,笔者需要对其进行检测确保运行成功,检查方式有两个,首先观察容器是否正常运行,然后是检查堡垒机是否能被浏览器所访问

首先通过如下命令可以查看当前正在运行的容器

docker ps

如果容器正常运行将会出现刚在笔者所运行的堡垒机容器ID,正常返回结果参考如下

CONTAINER ID        IMAGE                                             COMMAND               CREATED             STATUS              PORTS                                                   NAMES
4709a7d85af2        registry.jumpserver.org/public/jumpserver:1.0.0   "/opt/start_jms.sh"   8 minutes ago       Up 8 minutes        443/tcp, 0.0.0.0:2222->2222/tcp, 0.0.0.0:8011->80/tcp   jms_server

在返回结果当中可以看到之前docker返回的容器ID正处于运行状态,便可以确定容器运行正常,接着笔者还需要通过浏览器来检测是否运行成功,使用浏览器打开如下地址

http://127.0.0.1:8011/

当浏览器出现如下界面时,则基本代表成功

四、配置入门

在确定系统正常运行之后,接下来就可以对系统进行一些配置,堡垒机配置比较简单,下面的配置是将是使用堡垒机最为基础的一些配置,配置主要是添加一些资产进行管理,这便需要添加管理用户、系统普通用户、账户授权等操作。

4.1 登录系统

在前面的检验运行的截图当中可以看到需要登录,而账号和密码笔者并没有在官方文档中所看到,笔者随手一尝试,发现用户名和密码分别是adminadmin,如下图所示

登录成功之后,进入系统看到的界面如下图所示

4.2 管理用户

接下来笔者需要添加一些资产,添加资产的前提条件是有一个管理用户,这个管理用户是资产的最高权限账户,堡垒机之后会使用此账户来登录并管理资产,和获取一些统计信息,笔者在资产管理->管理用户列表中点击创建系统用户按钮,便来到了创建管理用户的页面,如下图所示

在表单中可以看见必须填写用户名,和认证所用的密码或私钥,按照真实情况去填写,比如笔者的资产最高权限账户是song,密码123456Ab,那么就如实填写上去。

4.3 资产管理

在添加管理用户之后,便可以添加资产了,添加资产也非常的简单,在资产列表点击创建资产按钮,便来到了添加资产的页面,如下图所示

添加资产需要填写,资产的IP地址,以及ssh的端口号,以及选择资产的操作系统类型,并且选择用哪一个管理用户

4.4 系统用户

在资产管理下还有一个系统用户管理,这个系统用户的使用场景是,有时候需要在很多个目标资产中创建一个普通账户,这时候肯定是十分麻烦;此时便可以通过堡垒机上的系统用户管理来创建一个系统用户;然后下发到目标资产中,这样一来就不需要去目标主机一个个登录然后去创建,因此非常方便,添加系统用户如下图所示

创建系统用户需输入需要创建的账号,以及选择认证的方式,默认为秘钥方式,也可以将选择框选中去掉,通过密码来认证。

五、测试验证

在前面的配置步骤操作完毕后,便可以进行一些常规功能验证,以此来加深对jumpserver系统的了解,这些功能测试点有 资产连接测试、用户授权、Web终端、在线会话、命令记录等功能。

5.1 连接测试

连接测试的目的是检查资产是否可以被堡垒机所访问,可以在资产列表点击资产名称,便可以进入资产详情页面,右侧有两个按钮,点击刷新按钮,正确配置的参考效果如下图所示

如果能看到左侧的硬件信息发生了变更,就代表此前配置的管理用户没有问题,否则会弹出错误提示框;

5.2 用户授权

当配置资产后,如果想在堡垒机中直接连接终端就还需要给用户授权,授权分为两个步骤,第一步是给web终端账户授权,在会话管理->终端管理,如下图所示

第二步则是给用户自己本身授权,在授权管理->资产权限->创建权限规则中做好相应配置,如下图所示

5.3 web终端

当给用户授权之后,用户便可以会话管理->Web终端中与系统进行交互,如下图所示

5.4 在线会话

有些时候想看谁在操作服务器,可以很轻松的通过在线会话功能来查看当前有哪些用户在操作终端,在会话管理->在线会话列表中进行查看,如下图所示

5.5 命令记录

笔者觉得堡垒机最大的作用之一便是审计,如果想知道某个用户在系统中执行了那些命令,可以很方便的在会话管理->命令记录中进行查看,如下图所示

六、 图书推荐

如果对笔者的实战文章较为感兴趣,可以关注笔者新书《PHP Web安全开发实战》,现已在各大平台上架销售,封面如下图所示

作者:汤青松

微信:songboy8888

日期:2018-10-30

基于Docker搭建Jumpserver堡垒机操作实践相关推荐

  1. CentOS下搭建Jumpserver堡垒机

    什么是堡垒机? 堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器.网络设备.安全设备.数据库等设备的操作行为 ...

  2. 虚拟机通过jumpserver登录服务器,搭建 JumpServer 堡垒机管理数万台游戏服务器

    原标题:搭建 JumpServer 堡垒机管理数万台游戏服务器 1 Jumpserver 堡垒机概述-部署 Jumpserver 运行环境 1.1跳板机概述 跳板机就是一台服务器,开发或运维人员在维护 ...

  3. 【JumpServer-初识篇】一键搭建JumpServer堡垒机、对接server服务器主机

    大家好,我是无名小歌. 欢迎加入云社区 今天分享JumpServer堡垒机,带领大家搭建以及使用JumpServer连接我们的后端server服务器. 这里安装的版本v2.22.2,采用的是离线部署J ...

  4. 搭建 JumpServer 堡垒机管理数万台游戏服务器

    文章目录 1 Jumpserver 堡垒机概述-部署 Jumpserver 运行环境 1.1跳板机概述 1.2Jumpserver 实验拓扑图 1.3初始化系统环境 1.4安装 jumpserver ...

  5. Linux 搭建 JumpServer 堡垒机

    跳板机概述 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作. 跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是 ...

  6. 搭建jumpserver堡垒机

    (1).跳板机和堡垒机概述 跳板机属于内控堡垒机范畴,是一种用于单点登陆的主机应用系统.跳板机就是一台服务器,维护人员在维护过程中,首先要统一登录到这台服务器上,然后从这台服务器再登录到目标设备进行维 ...

  7. 离线安装JumpServer堡垒机操作记录

    文章目录 一.服务器环境 1.JumpServer要求环境 2.升级内核 二.离线安装JumpServer 1.安装MySQL 2.安装Redis 3.安装JumpServer 3.1.获取离线包并上 ...

  8. jumpserver 堡垒机环境搭建(图文详解)

    Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL授权 Python编写,容易 ...

  9. jumpserver堡垒机 (资源)

    23.5 jumpserver介绍 • 官网www.jumpserver.org • 跳板机概述: 跳板机就是一台服务器,开发戒运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标 设备迚 ...

最新文章

  1. 模拟PLC 的圆弧插补方式在VC中绘制圆弧
  2. 《ASP.NET Web 站点高级编程》勘误 Part 3
  3. Codeforces 755B. PolandBall and Game 贪心
  4. 排优解难 网上邻居常遇故障解决方法
  5. [转]进程,线程和多线程
  6. 双网卡上网冲突解决_【技术文章】局域网IP地址冲突罪魁祸首是什么?这几点要注意!(附高手处理方法)...
  7. 弹簧触摸开关原理图_电梯弹簧抱闸调整
  8. C++学习书籍推荐《The C++ Standard Library 2nd》下载
  9. Linux篇 | 磁盘存储和文件系统
  10. 从输入URL到页面呈现经历了哪些?DOM文档加载的步骤?
  11. OpenKM文档管理系统开源源码v6.3.9
  12. matlab有限单元法计算桁架算例代码
  13. delphi模拟键盘按键
  14. 答案原文翻译解释《避凶就吉精明鬼,千变万化心不变》这句话是指什么意思?...
  15. macos10.14系统:MacOS Mojave
  16. 慎用!3个容易被打的Python恶搞脚本!
  17. MATLAB中删除矩阵的某些列或某些行
  18. 存量之争:国美零售以全零售探索破局之道
  19. html页面滚动条监听事件,滚动条的scroll事件
  20. Hadoop:MapReduce编程之统计二手房数目

热门文章

  1. 模拟计算器进行四则运算(同等优先级)(内测第2届第3题)
  2. Copy-On-Write容器之一:CopyOnWriteArrayList
  3. struts2 s:property/标签的使用--输出时间格式转换
  4. Unix Vi 命令详解
  5. choices相当于实现一个简化版的外键
  6. 检查电脑链接的网络是否支持ipv6
  7. Sharing A Powerful Tool For Calculate Code Lines
  8. java语言的科学与艺术-编程练习10.4
  9. Quotations
  10. Enterprise Library 3.0 发布