大多数的安全设备都接触过,只有堡垒机没有深入了解,所以一直想了解一下堡垒机的安装和使用。市面上好多商业化的物理设备堡垒机,目前没有接触,幸好有有开源的堡垒机 --Jumpserver 。今天安装测试一下。
参考资料:http://docs.jumpserver.org/zh/docs/introduce.html#
当时版本:1.4.9
2019年3月26日
一、总体介绍
Jumpserver 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议, 是符合 4A 的专业运维审计系统。
Jumpserver 使用 Python / Django 进行开发, 遵循 Web 2.0 规范, 配备了业界领先的 Web Terminal 解决方案, 交互界面美观、用户体验好。
Jumpserver 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。
Jumpserver 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。
二、安装
具体操作系统下安装有详细文档,我不想在安装过程中浪费太多时间,所以使用比较火的docker,顺便学习一下docker的使用。
操作系统Cent OS 7,Docker安装过程略。
Docker 安装
Jumpserver 封装了一个 All in one Docker, 可以快速启动。该镜像集成了所需要的组件, 支持使用外置 Database 和 Redis
Tips: 不建议在生产中使用, 因为所有软件都打包到一个Docker中了, 不是Docker最佳实践
生产环境部署建议参考 进阶安装文档。
快速启动
使用 root 命令行输入

$ if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr     -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi $ if [       "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom |     tr -dc A-Za-z0-9 | head -c 16`; echo       "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo       $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

这一步是随机生成2个环境变量SECRET_KEY、BOOTSTRAP_TOKEN,保存到~/.bashrc。

$ docker run --name jms_all -d -p 80:80 -p 2222:2222 -e SECRET_KEY=$SECRET_KEY -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_all:latest

这一步是运行容器jumpserver/jms_all:latest,第一次执行本地没有镜像,会到网上的镜像库下载镜像,镜像大小1.33GB。

可以先使用docker pull jumpserver/jms_all:latest把镜像下载到本地。

docker search jms_all 搜索网上镜像

docker images 可以查看本地镜像

-d 是后台运行

-p 80:80 -p 2222:2222 是把容器端口映射到本地。

docker ps -a

此命令查看正在运行的容器。

jumpserver 安装教程 docker jumpserver介绍_堡垒机


访问

浏览器访问: http://<容器所在服务器IP>

SSH访问: ssh -p 2222 <容器所在服务器IP>

XShell等工具请添加 connection 连接, 默认 ssh 端口 2222

默认管理员账户 admin 密码 admin。

也可以使用docker jumpserver容器外连数据库,这里不使用,不记录。

二、登录配置

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_02


使用admin/admin登录

登录以后界面:

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_03


右上角可以查看帮助文档、切换中英文、个人信息不全、用户界面和管理界面切换、注销登录。

用户界面就是指admin用户登录堡垒机以后远程管理已分配的资产,管理界面是对于JumpServer的管理。

1.系统设置

首先进行系统设置:

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_04


更改当前站点URL,默认是localhost,改为自己站点的url,如果是外网登陆建议配合DNS解析和端口映射。

jumpserver 安装教程 docker jumpserver介绍_堡垒机_05


邮件设置

设置邮箱信息,以方便发送密码邮件,SSL TLS根据所使用邮箱进行按需设置。

其他LDAP、终端设置、安全设置根据需要设置。

2.用户管理

jumpserver 安装教程 docker jumpserver介绍_堡垒机_06


默认只有一个administrator管理员账户,在这里可以创建用户,创建用户组。

jumpserver 安装教程 docker jumpserver介绍_Docker_07


输入必填项,MFA默认禁用,生产环境可以启用。

MFA是类似于Google Authenticator的动态密码验证方式。

jumpserver 安装教程 docker jumpserver介绍_堡垒机_08


创建完成后可以查看用户信息,只要在系统设置内邮箱设置没有问题,创建用户后会给用户邮箱发送一个密码设置链接邮件。

也可以手动发送重置密码邮件。

jumpserver 安装教程 docker jumpserver介绍_docker_09


稍后创建用户登录密码。此用户是用来分配给个人,通过web或ssh方式登录堡垒机的账户。

下面应该添加主机资产,但是在添加主机资产的时候会引用到管理用户,所以先添加管理用户。

3.管理用户

jumpserver 安装教程 docker jumpserver介绍_docker_10


管理用户是针对于主机资产的管理员账户,可以用来推送一般权限账户。

jumpserver 安装教程 docker jumpserver介绍_docker_11


4.资产管理

jumpserver 安装教程 docker jumpserver介绍_Docker_12


默认没有资产,default下面也没有节点,可以创建不同类型的节点,在节点组下创建节点。

也可以对网域进行管理,网域概念估计是之前版本的IDC、机房的概念。

jumpserver 安装教程 docker jumpserver介绍_堡垒机_13


jumpserver 安装教程 docker jumpserver介绍_docker_14


节点是对节点进行分组,类似于用户组对用户分组。

创建完成后可以在资产列表点击所创建的资产,查看资产详情。

jumpserver 安装教程 docker jumpserver介绍_堡垒机_15


切换到资产用户列表

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_16


可以点解测试,对资产进行验证。

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_17


这里提示ok。

5.创建系统用户

针对于主机资产创建的系统用户,会使用管理账户对主机资产进行账户推送,自动登录,也可以使用手动登录方式。

jumpserver 安装教程 docker jumpserver介绍_Docker_18


6.资产授权

以上工作准备完毕下面就是资产授权。也就是说把主机资产分配给用户。

jumpserver 安装教程 docker jumpserver介绍_Docker_19


jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_20


把资产授权给user1,我这里添加了一个linux和一个windows。

7.用户登录管理

登录注册用户时填写的邮箱。

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_21


点击重置密码的连接,打开页面进行密码设置。

如果同时使用admin进行管理的话,重置新用户密码时使用另一个浏览器,同一个浏览器会共用cookie,会发现登录以后时admin管理界面。

jumpserver 安装教程 docker jumpserver介绍_Docker_22


登录以后看到提示补充信息,可以不补充,补充的内容有ssh公钥,以使用ssh公钥登录堡垒机。

可以查看拥有的资产。对资产进行登录。

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_23


jumpserver 安装教程 docker jumpserver介绍_堡垒机_24


通过浏览器或ssh方式进行登陆。

浏览器可以支持terminal service,ssh不支持terminal service。

8.会话管理可以对会话进行管理,还可以回放,查看操作过程。

jumpserver 安装教程 docker jumpserver介绍_堡垒机  JumpServer_25


其他更深入功能还没有研究。

比如ssh公钥登录,MFA功能,会话管理,数据库备份,导入/导出,批处理,命令过滤,定期修改密码等等。

这里只做个敲门砖。