一、简介

为了保证服务器安全,加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有身份认证,授权,访问控制,审计等功能。

Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。

在公司中,分配人员服务器权限也是相当方便,如:来一个新人,在Jumpserver分配Jumpserver账号即可,人员离职,在Jumpserver删掉人员账号即可。无需担心人员离职留下后门,当然前提是检查防火墙,只允许Jumpserver服务器有其他服务器的ssh的权限。

目前市面上已经有很多jumpserver产品提供使用,这里就介绍最广泛的一款。
官方网址:https://www.jumpserver.org/

二、Jumpserver搭建

参考官方部署文档:https://docs.jumpserver.org/zh/master/install/setup_by_fast/

这款也是基于docker运行的,不管一键部署,还是手动部署都是docker,手动部署区别主要是改密码、IP、端口自定义之类的。默认的其实已经很好没必要改了。相对来所,搭建还是比较容易的,官方脚本一步到位。

1:一键部署

如果没有安装docker,可以选择这种方式,脚本会自带安装docker及相关配置。请确保服务器上没有已关闭其他mysql或者nginx服务,因为会占用端口。

# 默认会安装到 /opt/jumpserver-installer-v2.21.0 目录,如果类似ubuntu提示没权限,请加上sudo即可
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.21.0/quick_start.sh | bash
cd /opt/jumpserver-installer-v2.21.0# 安装完成后配置文件 /opt/jumpserver/config/config.txt

安装界面:

安装完成后,进入启动即可

cd /opt/jumpserver-installer-v2.21.0# 启动,如果权限问提,同意前面加上sudo即可。
./jmsctl.sh start# 停止
./jmsctl.sh down# 卸载
./jmsctl.sh uninstall# 帮助
./jmsctl.sh -h

2:手动部署

如果已经安装了docker,或者自己改配置在启动,可选择手动部署。

#进入下载目录
cd /opt
#下载安装包
wget https://github.com/jumpserver/installer/releases/download/v2.21.0/jumpserver-installer-v2.21.0.tar.gz
#解压
tar -xf jumpserver-installer-v2.21.0.tar.gz
#进入解压目录
cd jumpserver-installer-v2.21.0
# 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
cat config-example.txt
# 以下设置如果为空系统会自动生成随机字符串填入
## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/## 安装配置, amd64 默认使用华为云加速下载, arm64 请注释掉 DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
# DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
VOLUME_DIR=/opt/jumpserver
DOCKER_DIR=/var/lib/docker
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR##  MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息
USE_EXTERNAL_MYSQL=0
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver##  Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置数据库, 请输入正确的 Redis 信息
USE_EXTERNAL_REDIS=0
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_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=3389USE_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# 启动
./jmsctl.sh start# 安装完成后配置文件 /opt/jumpserver/config/config.txt

启动方式一样,脚本启动

cd /opt/jumpserver-installer-v2.21.0# 启动
./jmsctl.sh start# 停止
./jmsctl.sh down# 卸载
./jmsctl.sh uninstall# 帮助
./jmsctl.sh -h

3:启动测试

安装完成后,在服务器上,可看见docker的jumpserver服务都已经up状态。

浏览器输入服务器IP地址,即可进入

默认管理员账户admin,密码admin,第一次登录提示会更改密码,更改密码后,重新登录即可进入。

三、Jumpserver添加服务器、人员,以及授权

情景:员工zhangsan,服务器192.168.152.100。现在需要添加服务器192.168.152.100到jumpserver,并允许员工zhangsan登录。

1:用户管理

添加员工账户zhangsan,系统角色用户即可。这个简单,就不介绍了。

2:资产管理

2.1:系统用户

系统用户选项,有普通用户和特权用户,有些人分不清。

这两个用户,都是给jumpserver这个软件使用的,jumpserver用这两个用户连接到其他服务器。

特权用户:最高权限, 如 root 或 拥有 NOPASSWD: ALL sudo 权限的用户,只允许jumpserver使用,JumpServer 使用该用户来 推送系统用户获取资产硬件信息 等,系统也有提示。远程服务器上存在的用户信息。

普通用户:可以在服务器预先存在的用户,也可以由 特权用户 来自动创建。是zhangsan登录服务器时用的用户名。也可以直接是特权用户root等,看权限分配。

创建特权用户,给jumpserver软件连接用,这里用的ubuntu,登录方式密钥,上传密钥即可。

普通用户,可创建也可以不创建,如直接使用特权用户ubuntu即可。如果创建后(如:user01),jumpserver会在远程服务器上通过ubuntu这个特权用户自动创建这个用户(如:user01)。

2.2: 资产列表

资产列表,就是添加服务器地址,特权用户,就是上面创建的给jumpserver连接远程服务器使用的。


特权用户的账户密码没错的话,添加完成后,可以看到连接行是绿色的勾

点进去查看,也可以看到服务器相关硬件信息

到这里,服务器添加完成。

3:权限管理

服务器添加完成后,需要给zhangsan使用,就需要给zhangsan这个账户授权。


在资产授权里,可以看到已经存在的服务器,但是没有授权,也是空白。所以选择创建。

填写名称,用户选择zhangsan,如果有多个用户需要使用,可添加多个。

用户组,即对这个用户组的所有用户授权,便于人员的管理,这里只对单个人授权,所有保持为空,毕竟用户组有些人员也是没必要使用的。

资产,选择要授权的服务器,这里选择刚才的添加的192.168.152.100。

节点,即分组,在服务器很多的情况下,可以选择某个节点,即服务器分组给上面的人员授权。同理,这里只对单个服务器授权,所有保持为空,毕竟节点下所有服务器也是没必要全部使用的。

系统用户,我这里默认全部使用特权用户,及ubuntu,所以人员进入服务器都是以ubuntu进入。当然,如果上面创建了普通的系统用户,也可以选择普通的系统用户。如果公司人多的话,还是需要创建的,便于权限管理。


到这里,服务器授权管理已经完成。

四、Jumpserver用户登录使用

有两种登录方式,一种网页登录,另一种第三方ssh工具登录。

1:网页登录

浏览器打开jumpserver网址。

用zhangsan账户登录jumpserver,界面简单,只显示有权限的资产,即服务器名单

点击web终端,可直接进入网页版登录,服务器,选择需要的服务器点击即可。

2:ssh工具登录

如:xshell,Putty等,ssh堡垒机IP,端口:2222。进入根据提示选择需要登录的服务器。这里以xshell为例。

将端口改成2222,然后登录

登录后,输入zhangsan账户密码,即可,根据提示进入授权服务器

到这里就设置完成了。

五、Jumpserver审计功能

管理员用户,或者审计员用户,可以在视图审计台中,查看相关登录记录,命令记录,以及回放。

堡垒机、跳板机JumpServer的搭建,以及使用,图文详细相关推荐

  1. 运维堡垒机(跳板机)系统 python

    相信各位对堡垒机(跳板机)不陌生,为了保证服务器安全,前面加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有 身份认证,授权,访问控制,审计等功能,笔者用Python基本实现了上述功能. A ...

  2. [Linux]-堡垒机/跳板机作用、登陆异常处理

    堡垒机=跳板机+日志监控,也叫做运维安全审计系统,它的核心功能是 4A: 身份验证 Authentication 账号管理 Account 授权控制 Authorization 安全审计 Audit ...

  3. MobaXterm登录堡垒机/跳板机

    前言 xshell很好用,但是没找到正式版本,公司不允许使用,看了网上的一些资料,发现MobaXterm是比较好的替代产品.但是找了无数资料,发现网上的登录堡垒机的方法都无法正常登录,试了好久,气死! ...

  4. 前置机 堡垒机 跳板机以及连接方法

    工作中会去连接前置机.堡垒机.跳板机用来获取相关日志.以下是相关的定义. 前置机.网闸和摆渡机都是为了内网安全,尤其是银行.券商.电信运营商等的内网核心后台系统的安全,而使用的技术手段.跳板机和堡垒机 ...

  5. 前置机 网闸 摆渡机 跳板机 堡垒机

    前言 前置机.网闸和摆渡机都是为了内网安全,尤其是银行.券商.电信运营商等的内网核心后台系统的安全,而使用的技术手段.跳板机和堡垒机则是为了运维人员远程访问控制系统而搭建的机器. 一.前置机 1. 作 ...

  6. TelePort使用 堡垒机 跳板机 、 mac homebrew

    好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言. 跳板机是堡垒机的一种功能, 常见堡垒机 有 jumpserver和Teleport,这两款都是国产商品. TelePort介绍 在使用一 ...

  7. 通过堡垒机/跳板机实现文件在本地Mac与服务器之间的互传

    1.堡垒机 堡垒机,也可以成为跳板机. 日常开发中,有时候需要连接远程服务器.为了安全性等方面考虑,连接远程服务器之前,需要先连接堡垒机. 本地服务器.堡垒机和远程服务器之间的架构简单描述如下图: 访 ...

  8. 跳板机/堡垒机并不安全

    各位读者好,今天我很闲,就来分享一下,为何 堡垒机并不安全: 不知道什么是跳板机和堡垒机的可以去百度先普及下: 堡垒机和跳板机的安全性只体现到了对登陆者登录服务器时的权限和控制上,不管是阿里云还是华为 ...

  9. 跳板机 堡垒机的部署及登录

    目录 一.跳板机 二.堡垒机 1.为什么需要堡垒机 2.堡垒机的作用 3.堡垒机的运维思想 4.堡垒机的核心功能 5.堡垒机应用的场景 6.企业角度看堡垒机 7.管理角度来看堡垒机 总结 二.Jump ...

  10. 堡垒机介绍和跳板机的简单实现

    堡垒机: 在一个特定的网络环境下(公司),如果用户可以直接远程登录操控后端的服务器是十分危险的,为了保障网络和数据不受外部和内部用户的入侵和破坏,运用各种手段监控和记录运维人员对网络内的服务器.网络设 ...

最新文章

  1. DLINQ *.dbml文件该属于哪一层
  2. 计算机原理 英文版,计算机原理介绍英文版.doc
  3. 5分钟学会开发浏览器扩展
  4. python学习中遇到的问题
  5. 四合一图床HTML网站源码
  6. 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.
  7. oracle如何杀掉表死锁,oracle杀死死锁的方法
  8. Struts2-03-拦截器(BOS物流项目用户登录拦截)
  9. MPLS OPTION-B
  10. Ant Design Upload 文件上传功能
  11. Arduino驱动315MHZ无线模块
  12. 计算机竞赛奖学金申请书,计算机专业奖学金申请书
  13. 微软发布Windows 10:连Windows 7都能免费升级了
  14. oracle的mins,分钟的英文缩写,10min还是10mins!
  15. MOS开关管额定电流的选择
  16. 树莓派3B+增加虚拟内存
  17. 微信营销诀窍:有朋自各方来
  18. QT应用编程: 域名解析(域名转IP)
  19. Unity下如何实现RTMP或RTSP流播放和录制
  20. 2022年10月30日马丁·加德纳聚会线上活动重磅来袭!

热门文章

  1. 个人永久性免费-Excel催化剂功能第88波-批量提取pdf文件信息(图片、表格、文本等)...
  2. AD域控需要开放的端口
  3. 手动上传和自动上传 elUpload
  4. Freemarker 浅析
  5. Unity3D开发入门教程(四)——用Lua实现组件
  6. php 计算一年多少周,每周的起止日期
  7. breakall lisp文件_cad导入草图大师后自动成面问题
  8. C语言设计第七章答案,c语言程序设计第七章答案
  9. PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)
  10. Python语言程序设计 习题3