@jumpserver跳板机使用详解

jumpserver

一、jumpserver堡垒机

【jumpserver文件下载】

1、jumpserver简介

Jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统, 助力互联网企业高效 用户、资产、权限、审计 管理的跳板机

【jumpserver官网】

【jumpserver文档】

1、jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统

2、Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好

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

2、jumpserver功能

【jumpserver官网功能详解】

1)#统一认证

2)#资产管理

3)#统一授权

4)#审计 

5)#支持LDAP认证(轻型目录访问协议 Light Directory Access Protocol)

6)#Web terminal(页面站点)

7)#SSH Server 

8)#支持Windows RDP (远程窗口)

3、jumpserver的特点

1#完全开源,GPL授权
2#Python编写,容易再次开发
3#实现了跳板机基本功能,身份认证、访问控制、授权、审计 、批量操作等。
4#集成了Ansible,批量命令等
5#支持WebTerminal
6#Bootstrap编写,界面美观
7#自动收集硬件信息
8#录像回放
9#命令搜索
10#实时监控
11#批量上传下载

二、jumpserver的实现(安装调试)

1、jumpserver的安装

【官网下载(自定义选择版本)】

1)#Jumpserver 环境要求:
硬件配置: 2个CPU核心, 4G 内存, 50G 硬盘(最低)
操作系统: Linux 发行版 x86_64
Python = 3.6.x
Mysql Server ≥ 5.6
Mariadb Server ≥ 5.5.56
Redis

2)#jumpserver的下载
    安装Git :yum install git
    使用克隆下载源代码:git clone --depth=1 https://github.com/jumpserver/jumpserver.git

2、jumpserver的调试

下载jumpserver代码—>推送jumpserver代码—>创建jumpserver目录—>编辑jumpserver代码—>使用解释器执行代码文件(运行代码脚本)

#编辑jumpserver使用脚本
[root@local ~]# vim /jumpserver/quick_start.sh

#!/bin/bash

function prepare_check() {
  isRoot=`id -u -n | grep root | wc -l`
  if [ "x$isRoot" != "x1" ]; then
      echo -e "[\033[31m ERROR \033[0m] Please use root to execute the installation script (请用 root 用户执行安装脚本)"
      exit 1
  fi
  processor=`cat /proc/cpuinfo| grep "processor"| wc -l`
  if [ $processor -lt 2 ]; then
      echo -e "[\033[31m ERROR \033[0m] The CPU is less than 2 cores (CPU 小于 2核,JumpServer 所在机器的 CPU 需要至少 2核)"
  memTotal=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
  if [ $memTotal -lt 3750000 ]; then
      echo -e "[\033[31m ERROR \033[0m] Memory less than 4G (内存小于 4G,JumpServer 所在机器的内存需要至少 4G)"
      exit 1
  fi
function install_soft() {
        dnf -q -y install python2
        ln -s /usr/bin/python2 /usr/bin/python
      else
        dnf -q -y install $1
      yum -q -y install $1
    elif command -v apt > /dev/null; then
      apt-get -qqy install $1
    elif command -v zypper > /dev/null; then
      zypper -q -n install $1
    elif command -v apk > /dev/null; then
      apk add -q $1
    else
    fi
}

function prepare_install() {
  for i in curl wget zip python; do
    command -v $i &>/dev/null || install_soft $i
  done
}

function get_installer() {
  echo "download install script to /opt/jumpserver-installe (开始下载安装脚本到 /opt/jumpserver-installe)"
  if [ ! "$Version" ]; then
    echo -e "[\033[31m ERROR \033[0m] Network Failed (请检查网络是否正常或尝试重新执行脚本)"
  fi
  cd /opt
  if [ ! -d "/opt/jumpserver-installer-$Version" ]; then
    wget -qO jumpserver-installer-$Version.tar.gz https://github.com/jumpserver/installer/releases/download/$Version/jumpserver-installer-$Version.tar.gz || {
      rm -rf /opt/jumpserver-installer-$Version.tar.gz
      echo -e "[\033[31m ERROR \033[0m] Failed to download jumpserver-installer (下载 jumpserver-installer 失败, 请检查网络是
否正常或尝试重新执行脚本)"
      exit 1
    }
    tar -xf /opt/jumpserver-installer-$Version.tar.gz -C /opt || {
      rm -rf /opt/jumpserver-installer-$Version
      echo -e "[\033[31m ERROR \033[0m] Failed to unzip jumpserver-installe (解压 jumpserver-installer 失败, 请检查网络是否正
常或尝试重新执行脚本)"
      exit 1
    }
    rm -rf /opt/jumpserver-installer-$Version.tar.gz
  fi
}

function config_installer() {
  cd /opt/jumpserver-installer-$Version
  JMS_Version=$(curl -s 'https://api.github.com/repos/jumpserver/jumpserver/releases/latest' | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
  if [ ! "$JMS_Version" ]; then
    echo -e "[\033[31m ERROR \033[0m] Network Failed (请检查网络是否正常或尝试重新执行脚本)"
    exit 1
  fi
  sed -i "s/VERSION=.*/VERSION=$JMS_Version/g" /opt/jumpserver-installer-$Version/static.env
  ./jmsctl.sh install
}

function main(){
  prepare_check
  prepare_install
  get_installer
  config_installer
}

main

4、jumpserver的使用

1)运行源代码脚本在这里插入图片描述

2)执行安装成功

在这里插入图片描述

3)启动jumpserver

[root@local ~]# cd /jumpserver/jumpserver-installer-v2.10.2/
[root@jumpserver jumpserver-installer-v2.10.2]# ./jmsctl.sh start #启动
jms_redis is up-to-date
jms_mysql is up-to-date
jms_core is up-to-date


[root@jumpserver jumpserver-installer-v2.10.2]# ./jmsctl.sh stop #停止

三、jumpserver管理测试

1、创建 Jumpserver 用户

用户管理—>用户列表—>创建用户

2、创建管理用户

资产管理—>管理用户—>创建管理用户(用户是资产服务器上存在的系统用户)

3、 创建系统用户

资产管理—>系统用户—>创建系统用户(资产服务器上存在的系统用户)

4、创建资产

资产管理—>ROOT(右击可先新建节点)—>创建资产

5、资产授权

权限管理—>资产授权—>创建授权规则

6、用户使用资产

JumpServer 文档

四、jumserver管理详解

1#浏览器web上输入主机IP地址加上8080端口号进入能录界面

在这里插入图片描述

2#默认登录用户名与密码都是admin,选择登录,成功登录后进行设置用户和密码

在这里插入图片描述

3、创建用户和密码

在这里插入图片描述

在这里插入图片描述

4)#切换新账号使用登录,创建用户组,添加用户权限及添加多用户,为多个用护添加用户权限,添加组及多用户权限,设置用户使用

在这里插入图片描述

5)#用户创建完成后,进行用户资产管理,创建用户管理资产,对资产进行审计

在这里插入图片描述

6)#点击资产管理中的资产列表,根据公司服务器创建对应的资产,也可为其加上相应标签,在资产列表页面,右击default即可创建对应文件夹,或更名等等操作


在这里插入图片描述

7)#创建服务器需要的系统用户,此时用户的密码要与服务器上的用户密码对应

在这里插入图片描述

8)#资产管理中的“命令过滤”是针对一些危险命令的禁用的,如:rm等点击应用管理中的数据库,可以创建数据库与数据库服务器上的某个数据库连接

在这里插入图片描述

9)#权限管理------->资产授权,可以为用户授权

在这里插入图片描述

在这里插入图片描述

10)#权限管理---------->应用授权,为用户添加一些权限

在这里插入图片描述

11)#会话管理中:
可以通过会话管理,查看当前的会话,和历史会话
可以通过命令记录,查找到操作人员对机器的记录,
可以通过web终端连接到对应的服务器
也可以通过文件管理页面,完成对文件的操作
终端管理可以查看当前终端服务器的状态

在这里插入图片描述

12)#作业中心
可以查看任务的一些详细信息
可以让服务器批量执行命令,当然前提是权限得够
任务监控 一般很少用到了解即可

在这里插入图片描述

13)#日志审计
日志审计里就是所有服务器,操作时产生的日志

在这里插入图片描述

14)#系统设置中最重要的一点就是可以将我们的邮箱与jumpserver进行绑定,可以到达监控的目的,同时公司资产有任何问题,我们都可以知道,但是需要我们将邮箱的SMTP,与pop功能打开

在这里插入图片描述

posted @ 2021-06-14 21:57  ଲ一笑奈&何  阅读(897)  评论(0编辑  收藏  举报