Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机搭建JumpServer堡垒机

大家好,又见面了,我是你们的朋友全栈君。

Linux 搭建 JumpServer 堡垒机

  • 跳板机概述

跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。 

跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;

  • 堡垒机概述:

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

  • 总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • JumpServer 2.12.1 环境要求: 
  • 注意:全新安装的 Linux

  • 需要连接 互联网
    使用 root 用户执行

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 快速开始

    仅需两步快速安装 JumpServer:

  • 准备一台 2核4G (最低)且可以访问互联网的 64 位 Linux 主机;
  • 以 root 用户执行如下命令一键安装 JumpServer。
  • 实验环境
  • CentOS 7.6   192.168.2.19   SElinux、Firewalld以及iptables 均为关闭状态
  • wget https://ghproxy.com/https://github.com/jumpserver/jumpserver/releases/download/v2.12.1/quick_start.sh | bash

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 查看 docker 运行状态 

  • docker  ps -a

Linux 搭建 JumpServer 堡垒机

  • 打开浏览器访问 http://192.168.2.19

  • 默认 用户名 密码 admin

  • 首次登陆会强制更新密码

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • jumpserver 平台系统初始化

  • 系统基本设置
  • 这里要写成自己真实的 URL 地址,不然后期用户访问不了。http://192.168.2.19,设置完成后,并点击“提交”按钮。

Linux 搭建 JumpServer 堡垒机

  • 邮件设置

  • 根据自己的实际情况填写,完成点击提交保存

Linux 搭建 JumpServer 堡垒机

  • 用户管理,添加用户组。

  • 用户名即 Jumpserver 登录账号。用户组是用于资产授权,当某个资产对一个用户组授权后,这个用户组下面的所有用户就都可以使用这个资产了。角色用于区分一个用户是管理员还是普通用户。
  • 点击用户管理 —> 查看用户组 —> 创建—>提交

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 添加用户

  • 点击用户管理 —> 用户列表 —> 创建用户
  • 其中,名称是真实姓名,用户名即 Jumpserver 登录账号。
  • 这里选择生成重置密码链接,通过邮件发送给用户。方式来重置新建用户密码
  • 权限选择为系统管理员

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  •  登陆邮箱查看

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  •  勾选我同意 ,提交

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

  • 扩展:
    MFA,Multi-FactorAuthentication,即多因子认证,是一种简单有效的安全认证方法。它能够在用户名和密码之外,再增加一层保护。MFA 设备,又叫动态口令卡或 Token 卡,是提供这种安全认证方法的设备。
  • MFA 设备如:
    硬件 MFA 设备
    硬件 MFA 设备如下图所示,正面的 6 位数动态安全码 30 秒更新一次,背面有该硬件 MFA 设备的序列号。
     

Linux 搭建 JumpServer 堡垒机

  • 编辑资产树添加节点
  • 使用 admin 用户登录 jumpserver,选择 资产管理 —-> 系统用户 —> 特权用户
  • 特权用户为 root 或者拥有 sudo ‘NOPASSWD’ ALL 权限的普通用户,生成环境推荐使用 sudo 用户+SSH密钥 认证

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  •  资产管理—->资产列表—>右键 创建节点

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 点击提交后,大约20秒(视硬件、网络情况)左右会看到硬件信息

  • 如果看不到请检查管理用户的用户名和密钥是否正确以及该管理用户是否能使用 SSH 从 Jumpserver 主机正确登录到资产主机上。

Linux 搭建 JumpServer 堡垒机

  • 创建授权规则

  • 节点,对应的是资产,代表该节点下的所有资产。
  • 用户组,对应的是用户,代表该用户组下所有的用户。
  • 系统用户,及所选的用户组下的用户能通过该系统用户使用所选节点下的资产。
  • 节点,用户组,系统用户是一对一的关系,所以当拥有 Linux、Windows 不同类型资产时,应该分别给 Linux 资产和 Windows 资产创建授权规则。
  • 创建普通用户

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 权限管理—-资产授权—-选择 default test—创建 

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 注:这一条授权的含意是: 只要是“test”组中的人,对节点“default–test”中的所有服务器,拥有“系统管理员用户”的权限。
  • 授权提交后,查看 192.168.2.4 是否创建用户以及权限

Linux 搭建 JumpServer 堡垒机

  •  普通 用户 gf  拥有 sudo 权限

Linux 搭建 JumpServer 堡垒机

  • 打开资产所在的节点:
    双击资产名字,就连上资产了:
    如果显示连接超时,请检查为资产分配的系统用户用户名和密钥是否正确,是否正确选择 Linux 操作系统,协议 ssh,端口 22,以及资产的防火墙策略是否正确配置等信息。

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

  •  使用 xshell 连接 jumpserver 管理服务器

Linux 搭建 JumpServer 堡垒机

  • 查看历史命令记录

Linux 搭建 JumpServer 堡垒机

  •  查看历史会话并回放视频 

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  •  历史会话

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机 Linux 搭建 JumpServer 堡垒机

  • 文件管理功能

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 可以新建文件夹,也可以上传文件到服务器。这些创建的文件和上传的文件,都会存在目标服务器的/tmp 目录下

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  • 作业中心
    任务列表作业是 Jumpserver 向其所管理下的资产发送的指令, 例如, 测试资产可连接性、获取资产硬件信息、测试管理用户可连接性和测试系统用户可连接性等命令。默认展示最近 7 天的作业记录。
    点击作业名称可以查看作业的具体详情、作业的历史版本以及作业执行的历史记录

Linux 搭建 JumpServer 堡垒机

  • 批量命令
    可以通过该功能快速下发命令到资产, 目前仅支持能被 ansible 管理的资产, 要求 系统用户 登陆方式为 自动登陆 

Linux 搭建 JumpServer 堡垒机

  • 使用 jumpserver 管理 mysql 数据库

  • 添加 Mysql 系统用户,服务器需正确安装、配置及启动Mysql 服务

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

  •  创建应用

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机Linux 搭建 JumpServer 堡垒机

  •  应用授权

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机 Linux 搭建 JumpServer 堡垒机

  • 测试,选择会话管理,会看到左侧有刚才授权的应用

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机 Linux 搭建 JumpServer 堡垒机


  • 手动安装

  • CentOS 7.6   192.168.2.2
  • 准备工作:
  • 安装 mariadb   redis  
Redis >= 6.0
MariaDB >= 10.2
  • 首先安装配置 mariadb
  • vim /etc/yum.repos.d/mariadb.repo 
    [mariadb]
    name = MariaDB
    baseurl=http://yum.mariadb.org/10.6/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    enabled=1
  • yum -y install mariadb-server mariadb wget gcc epel-release git MariaDB-shared mariadb-devel
  • systemctl enable mariadb –now
  • mysql
  • >alter user ‘root’@’localhost’ identified by ‘123456’;
    flush privileges;

    create database jumpserver default charset ‘utf8’ collate ‘utf8_bin’;
    grant all on jumpserver.* to ‘jumpserver’@’%’ identified by ‘PASSWORD’; 

    flush privileges;

  • systemctl restart mariadb

Linux 搭建 JumpServer 堡垒机

  • 安装 redis
  • yum -y install  http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  • 使用 remi repository 源安装 Redis
  • yum –enablerepo=remi install -y redis
  • vim /etc/redis.conf 
  • 修改如下:
    bind 192.168.2.2
    requirepass PASSWORD
  • 启动 Redis
  • systemctl enable redis.service –now

Linux 搭建 JumpServer 堡垒机

  • 安装 jumpserver
  • cd /opt
  • wget https://github.com/jumpserver/installer/releases/download/v2.12.1/jumpserver-installer-v2.12.1.tar.gz
  • tar -xf jumpserver-installer-v2.12.1.tar.gz
  • cd jumpserver-installer-v2.12.1
  • vim config-example.txt 
    # 以下设置如果为空系统会自动生成随机字符串填入
    ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
    ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/

    ## 安装配置, 可以使用华为云加速下载, arm64 用户需要注释掉 DOCKER_IMAGE_PREFIX
    # DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
    VOLUME_DIR=/opt/jumpserver
    DOCKER_DIR=/var/lib/docker

    SECRET_KEY=PASSWORD
    BOOTSTRAP_TOKEN=PASSWORD

    LOG_LEVEL=ERROR

    ##  MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息
    ##根据自己的实际情况设置
    USE_EXTERNAL_MYSQL=1
    DB_HOST=192.168.2.2
    DB_PORT=3306
    DB_USER=jumpserver
    DB_PASSWORD=PASSWORD
    DB_NAME=jumpserver

    ##  Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置数据库, 请输入正确的 Redis 信息
    ##根据自己的实际情况设置
    USE_EXTERNAL_REDIS=1
    REDIS_HOST=192.168.2.2
    REDIS_PORT=6379
    REDIS_PASSWORD=PASSWORD

    ## Compose 项目设置, 如果 192.168.250.0/24 网段与你现有网段冲突, 请修改然后重启 JumpServer
    COMPOSE_PROJECT_NAME=jms
    COMPOSE_HTTP_TIMEOUT=3600
    DOCKER_CLIENT_TIMEOUT=3600
    DOCKER_SUBNET=192.168.250.0/24

    ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
    USE_IPV6=0
    DOCKER_SUBNET_IPV6=2001:db8:10::/64

    ## Nginx 配置, USE_LB=1 表示开启, 为 0 的情况下, HTTPS_PORT 定义不生效
    HTTP_PORT=80
    SSH_PORT=2222
    RDP_PORT=3389

    USE_LB=0
    HTTPS_PORT=443

    ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
    USE_TASK=1

    ## XPack, USE_XPACK=1 表示开启, 开源版本设置无效
    USE_XPACK=0

    # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=true 表示关闭浏览器即 session 过期
    # SESSION_COOKIE_AGE=86400
    SESSION_EXPIRE_AT_BROWSER_CLOSE=true

    # Koko Lion XRDP 组件配置
    CORE_HOST=http://core:8080

    # 额外的配置
    CURRENT_VERSION=

  • ./jmsctl.sh install
     

    Linux 搭建 JumpServer 堡垒机

    Linux 搭建 JumpServer 堡垒机

    Linux 搭建 JumpServer 堡垒机

    Linux 搭建 JumpServer 堡垒机

    Linux 搭建 JumpServer 堡垒机

  • ./jmsctl.sh start 启动  restart 重启  stop 停止 upgrade 更新

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

Linux 搭建 JumpServer 堡垒机

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148292.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • word2vec训练中文词向量

    word2vec训练中文词向量词向量作为文本的基本结构——词的模型。良好的词向量可以达到语义相近的词在词向量空间里聚集在一起,这对后续的文本分类,文本聚类等等操作提供了便利,这里简单介绍词向量的训练,主要是记录学习模型和词向量的保存及一些函数用法。一、搜狐新闻1.中文语料库准备本文采用的是搜狗实验室的搜狗新闻语料库,数据链接http://www.sogou.com/labs/resource/cs.php下载下来的…

  • 51单片机按键控制步进电机加减速及正反转

    51单片机按键控制步进电机加减速及正反转之前尝试用单片机控制42步进电机正反转,电机连接导轨实现滑台前进后退,在这里分享一下测试程序及接线图,程序部分参考网上找到的,已经实际测试过,可以实现控制功能。所用硬件:步进电机及驱动器、STC89C52单片机、直流电源1、硬件连接图注意:上图为共阳极接法,实际连接参考总体线路连接。 驱动器信号端定义:PUL+:脉冲信号输入正。(C…

  • 图片切割系统_图片切片工具

    图片切割系统_图片切片工具上一阵子做过一个图片切割效果,得到很多人关注。其中有很多人向我询问如何做一个真正的图片切割(裁剪),这里需要声明一下:首先js是不能操作客户端文件的(除非特殊情况),所以图片的切割必须在后台处理,对于

  • C#中FileStream与StreamReader/StreamWriter区别

    C#中FileStream与StreamReader/StreamWriter区别FileStreamFileStream类不是静态类,表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。使用时需要创建对象,FileStream类既可以对文本文件进行读也可以对多媒体文件进行写,以字节数组的形式进…

  • query did not return a unique_json.parsearray(string,class)

    query did not return a unique_json.parsearray(string,class)query.uniqueResult()和query.getSingleResult()当我使用query.getSingleResult()返回实例时,提示有错,不知道什么原因。按提示修改后还是有错后来使用query.uniqueResult()方法解决问题。publicstaticDepartmentgetDepartment(Sessionsession,Strin

  • OpenGrok简单使用说明「建议收藏」

    OpenGrok简单使用说明「建议收藏」opengrok查看android源码简单的使用说明,快速搜索定位代码位置。。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号