堡垒机--JumpServer
一、JumpServer基本概述
1.1、什么是跳板机?
跳板机就是一台服务器,具备公网和内网,我们的开发人员或者运维人员,要想维护内部集群服务时,需要先统一登陆到跳板机这台服务器,然后在通过跳板机的内网登陆目标集群服务器
1.2、跳板机的缺陷
没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作,违规i操作导致故障,一旦出现操作事故很难快速定位到原因和责任人;此时堡垒机就诞生了。
1.3、什么是堡垒机
堡垒机其实是基于跳板机基础之上,能够实现运维更加安全的操作目标集群服务器,提供安全保证。
较于跳板机优点:
1、资产集中管理(统一管理)
2、审计,记录,视频回放操作记录
3、限制如rm,dd等危险命令的执行
4、限制登陆目标服务器的身份权限
1.4、为什么要使用堡垒机
首先,堡垒机提供了运维安全审计的4A规范:
Authentication:身份鉴别,防止身份冒用和复用
Authorization :授权控制,防止内部误操作和权限滥用
Accouting:账号管理,人员和资产的管理
Auditing:安全审计,追溯和分析事故的依据
1.5、什么是Jumpserver
1、JumpServer 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议, 是符合 4A 的专业运维审计系统。
2、JumpServer 使用 Python / Django 进行开发, 遵循 Web 2.0 规范, 配备了业界领先的 Web Terminal 解决方案, 交互界面美观、用户体验好。
3、JumpServer 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。
4、JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。
【4A规范】
【发展历程】
1.6、Jumpserver主要组件
1、Jumpserver:提供管理后台,管理员可以通过web页面进行资产管理,用户管理和资产授权等操作。
2、koko:提供SSH server和web Termianal server方式登陆资产
3、Lina Luna:提供web前端页面,后续会将整合到Lina中
4、Guacamole:提供RDP功能,用户可通过该方式登陆windows资产。(暂时只能通过 web Terminal来访问)
1.7、Jumpserver特色优势
1、开源: 零门槛,线上快速获取和安装;
2、分布式: 轻松支持大规模并发访问;
3、无插件: 仅需浏览器,极致的 Web Terminal 使用体验;
4、多云支持: 一套系统,同时管理不同云上面的资产;
5、云端存储: 审计录像云端存储,永不丢失;
6、多租户: 一套系统,多个子公司和部门同时使用。
1.8、Jumpserver基础架构图
Jumpserver作用
1 产品解耦程度高,便于后期分布式部署与横向扩展
2 集中统一管理全国各地服务器
二、JumpServer安装配置(官方安装部署文档)
这里我采用最快捷的方式安装(自动部署)
1、安装python3.x
yum install python3 python3-devel
2、创建 Python 虚拟环境,并且载入 Python 虚拟环境
[root@jumpserver-168-182-149 ~]# mkdir /opt
[root@jumpserver-168-182-149 ~]# python3.6 -m venv /opt/py3
[root@jumpserver-168-182-149 ~]# source /opt/py3/bin/activate
(py3) [root@jumpserver-168-182-149 ~]#
# 退出当前虚拟环境
deactivate
3、安装
cd /opt
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.10.2/quick_start.sh | bash
注意:如果下载失败了,多执行几次就行,网络问题导致的
安装完成
>>> 安装配置 JumpServer
1. 配置网络
是否需要支持 IPv6? (y/n) (默认为 n): 完成
2. 配置加密密钥
SECRETE_KEY: ZWI0ZTRkNTYtMjU3Mi0zMGJlLWZkNmYtNmNjNzcwODQ1NzEz
BOOTSTRAP_TOKEN: ZWI0ZTRkNTYtMjU3
完成
3. 配置持久化目录
是否需要自定义持久化存储, 默认将使用目录 /opt/jumpserver? (y/n) (默认为 n): 完成
4. 配置 MySQL
是否使用外部 MySQL? (y/n) (默认为 n): 完成
5. 配置 Redis
是否使用外部 Redis? (y/n) (默认为 n): 完成
>>> 安装完成了
1. 可以使用如下命令启动, 然后访问
./jmsctl.sh start
2. 其它一些管理命令
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
更多还有一些命令, 你可以 ./jmsctl.sh --help 来了解
3. Web 访问
http://192.168.182.244:8080
https://192.168.182.244:8443
默认用户: admin 默认密码: admin
4. SSH/SFTP 访问
ssh admin@192.168.182.244 -p2222
sftp -P2222 admin@192.168.182.244
5. 更多信息
我们的官网: https://www.jumpserver.org/
我们的文档: https://docs.jumpserver.org/
4、启动服务
cd /opt/jumpserver-installer-v2.10.2/
./jmsctl.sh start
5、访问(http://192.168.182.244:8080)
默认账号/密码:admin/admin
但是第一次登录进去需要修改默认密码,我这里设置为(P@ssw0rd)
重新登录即可。