当前位置:网站首页>堡垒机、跳板机JumpServer的搭建,以及使用,图文详细
堡垒机、跳板机JumpServer的搭建,以及使用,图文详细
2022-04-23 20:19:00 【the丶only】
一、简介
为了保证服务器安全,加个堡垒机,所有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=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
# 启动
./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审计功能
管理员用户,或者审计员用户,可以在视图审计台中,查看相关登录记录,命令记录,以及回放。
版权声明
本文为[the丶only]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_52270081/article/details/124341513
边栏推荐
- SIGIR'22 "Microsoft" CTR estimation: using context information to promote feature representation learning
- Remote code execution in Win 11 using wpad / PAC and JScript 3
- Confusion about thread blocking after calling the read () method of wrapper flow
- Historical track data reading of Holux m1200-e Bluetooth GPS track recorder
- Leetcode XOR operation
- Openharmony open source developer growth plan, looking for new open source forces that change the world!
- 腾讯邱东洋:深度模型推理加速的术与道
- SQL Server Connectors By Thread Pool | DTSQLServerTP plugin instructions
- Mysql database - single table query (II)
- Investigate why close is required after sqlsession is used in mybatties
猜你喜欢
DNS cloud school rising posture! Three advanced uses of authoritative DNS
波场DAO新物种下场,USDD如何破局稳定币市场?
SQL Server Connectors By Thread Pool | DTSQLServerTP plugin instructions
LeetCode异或运算
【目标跟踪】基于帧差法结合卡尔曼滤波实现行人姿态识别附matlab代码
Openharmony open source developer growth plan, looking for new open source forces that change the world!
Servlet learning notes
DNS cloud school | quickly locate DNS resolution exceptions and keep these four DNS status codes in mind
MySQL advanced lock - overview of MySQL locks and classification of MySQL locks: global lock (data backup), table level lock (table shared read lock, table exclusive write lock, metadata lock and inte
DTMF dual tone multi frequency signal simulation demonstration system
随机推荐
Electron入门教程4 —— 切换应用的主题
Wave field Dao new species end up, how does usdd break the situation and stabilize the currency market?
Leetcode XOR operation
使用 WPAD/PAC 和 JScript在win11中进行远程代码执行3
Azkaban recompile, solve: could not connect to SMTP host: SMTP 163.com, port: 465 [January 10, 2022]
Fundamentals of network communication (LAN, Wan, IP address, port number, protocol, encapsulation and distribution)
[graph theory brush question-4] force deduction 778 Swimming in a rising pool
The market share of the financial industry exceeds 50%, and zdns has built a solid foundation for the financial technology network
Error reported by Azkaban: Azkaban jobExecutor. utils. process. ProcessFailureException: Process exited with code 127
Understanding various team patterns in scrum patterns
Local call feign interface message 404
Redis installation (centos7 command line installation)
R language uses econocrats package to create microeconomic or macroeconomic map, visualize indifference function indifference curve, customize calculation intersection, and customize the parameters of
論文寫作 19: 會議論文與期刊論文的區別
Database query - course selection system
16MySQL之DCL 中 COMMIT和ROllBACK
[2022] regard 3D target detection as sequence prediction - point2seq: detecting 3D objects as sequences
WordPress插件:WP-China-Yes解决国内访问官网慢的方法
Numpy mathematical function & logical function
Es index (document name) fuzzy query method (database name fuzzy query method)