jumpserver实战
参考:https://jumpserver.readthedocs.io/zh/master/quick_start.html
一、系统设置
1.设置用户访问的URL
2.设置邮件地址及验证
- 点击页面上边的"邮件设置", 进入邮件设置页面
- 默认使用 25 端口, 不勾选 SSL 和 TLS; 如果需要勾选 SSL, 端口需要修改成 465; 如果需要勾选 TLS, 端口需要改成 587
- 不可以同时勾选 SSL 和 TLS
- 发送账号一定要填
- 配置邮件服务后, 点击页面的"测试连接"按钮, 如果配置正确, JumpServer 会发送一条测试邮件到您的 SMTP 账号邮箱里面, 确定收到测试邮件后点击保存即可使用
3.设置邮件内容
内容可自行编辑
4.配置LDAP
我这里不使用LDAP,不做配置
5.终端设置
- 密码认证”和”密钥认证”是 SSH 连接跳板机时所使用的认证方式(都不选会造成无法使用 SSH 方式连接登录跳板机, 不影响 web 登录)
- “Telnet成功正则表达式” telnet设备登陆失败需要设置
- “命令存储””录像存储”位置设置
- “命令存储””录像存储”修改后, 需要在Jumpserver 会话管理-终端管理 修改terminal的配置 录像存储 命令记录, 然后重启 Jumpserver 服务
-
设置后重启 koko 才能生效
6.安全设置
- “MAF二次认证”勾选会开启全局强制”MFA”, 所有 jumpserver 用户必须使用动态口令进行认证登录(即时生效)
- “限制登录失败”和”限制登录时间”设置需要重启 jumpserver 才能生效
- “SSH最大空闲时间”设置需要重启 koko 才能生效
-
“密码校验规则”设置立即生效
二、用户管理
1.用户组设置
添加用户组
用户名即jumpserver登陆账号,用户组是用来资产授权,当某个资产对一个用户组授权后,这个用户组下面的所有用户都可以使用这个资产了.角色用于区分一个用户是管理员还是普通用户.
点击用户管理–>用户组–>添加用户组
2.用户设置
创建用户,并将其添加到刚刚创建的jumpserver组中。
密码会自动产生,并通过邮件发送到用户邮箱中,邮箱内容会让你设置新的登录密码。
修改完密码之后,然后登录账号,首次登录需要填写信息
公钥在本地生成的
三、资产管理
1.资产管理--管理用户
管理用户是被管理服务器的 root,或拥有 NOPASSWD: ALL sudo 权限的用户,Jumpserver 使用该用户来推送系统用户、获取资产硬件信息等。
2.资产管理--系统用户
系统用户是 Jumpserver 跳转登录资产时使用的用户,可以理解为登录资产用户, Jumpserver使用系统用户登录资产。
系统用户的 Sudo 栏填写允许当前系统用户免sudo密码执行的程序路径,如默认的/sbin/ifconfig,意思是当前系统用户可以直接执行 ifconfig 命令或 sudo ifconfig 而不需要输入当前系统用户的密码,执行其他的命令任然需要密码,以此来达到权限控制的目的。
此处的权限应该根据使用用户的需求汇总后定制,原则上给予最小权限即可。
系统用户创建时,如果选择了自动推送 Jumpserver 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机、Windows )不支持 Ansible, 请手动填写账号密码。
Linux 系统协议项务必选择 ssh 。如果用户在系统中已存在,请去掉自动生成密钥、自动推送勾选
3.资产管理--网域列表
网域功能是为了解决部分环境无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。
这个功能,一般情况不用到。
4.资产管理--资产列表
点击页面左侧的“资产管理”菜单下的“资产列表”按钮,查看当前所有的资产列表。
点击页面左上角的“创建资产”按钮,进入资产创建页面,填写资产信息。
IP 地址和管理用户要确保正确,确保所选的管理用户的用户名和密码能”牢靠”地登录指定的 IP 主机上。资产的系统平台也务必正确填写。公网 IP 信息只用于展示,可不填,Jumpserver 连接资产使用的是 IP 信息。
如果资产不能正常连接,请检查管理用户的用户名和密钥是否正确以及该管理用户是否能使用 SSH 从 Jumpserver 主机正确登录到资产主机上。
我在操作时也有连不上的情况,我的情况是更改配置文件 或者更改了其他东西,只重启了jumpserver进程,而没有全部重启,比如koko ,Guacamole。都要重启。
四、权限管理
节点,对应的是资产,代表该节点下的所有资产。
用户组,对应的是用户,代表该用户组下所有的用户。
系统用户,及所选的用户组下的用户能通过该系统用户使用所选节点下的资产。
节点,用户组,系统用户是一对一的关系,所以当拥有 Linux、Windows 不同类型资产时,应该分别给 Linux 资产和 Windows 资产创建授权规则。
五、会话管理
1.会话管理--Web终端
Web 终端是资产使用界面, 管理员和用户都是从这里登录到资产上, 执行操作。点击资产名字连接资产, 点击"Server"下的"Disconnect"断开资产连接。
2.会话管理--命令记录
命令记录里面存放的是用户在资产上执行过哪些命令, 单击一行记录, 会展示命令执行的结果:
点击"转到"连接, 会跳转到详细的会话页面, 如果会话已结束可以查看会话录像, 如果会话正在线可中断会话。
3.会话管理--历史会话
3.1查看历史会话
历史会话同在线会话包含的信息一样, 都有用户、资产和 IP 地址等信息。
2.2 查看历史话录像
JumpServer 提供历史会话的录像观看。点击左侧的"回放"按钮, 即可观看录像。
4.会话管理--文件管理
文件管理允许对 SSH 协议资产进行文件上传下载创建删除操作(不支持上传文件夹), 目前也不支持系统用户是手动登录的资产。
6.会话管理--终端管理
终端列表页面列出了 JumpServer 正在使用的终端有哪些, 例如:koko、Gua 等。终端第一次使用, 会首先向 JumpServer 发送请求注册, 在 JumpServer 中接受注册后就可以正常使用该终端了。
六、作业中心
1.作业中心--批量命令
可以通过该功能快速下发命令到资产, 目前仅支持能被 ansible 管理的资产, 要求 系统用户 登陆方式为 自动登陆。
2.作业中心--任务列表
作业是 JumpServer 向其所管理下的资产发送的指令, 例如, 测试资产可连接性、获取资产硬件信息、测试管理用户可连接性和测试系统用户可连接性等命令。默认展示最近7天的作业记录。
七、日志审计
1.日志审计--登录日志
2.日志审计--FTP日志
3.日志审计--操作日志
4.日志审计--改密日志
5.日志审计--批量命令
八、仪表盘
仪表盘.png九、排错
(1)koko 不在线
原因:版本不匹配
解决过程如下:
(py3) [root@qa95-devel jumpserver]# Server_IP=`ip addr | grep 'state UP' -A2 | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1`
(py3) [root@qa95-devel jumpserver]# docker run --name jms_koko -d -p 2222:2222 -p 127.0.0.1:5000:5000 -e CORE_HOST=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN --restart=always jumpserver/jms_koko:1.5.5
Unable to find image 'jumpserver/jms_koko:1.5.5' locally
1.5.5: Pulling from jumpserver/jms_koko
e7c96db7181b: Pull complete
579b06fc1e6a: Pull complete
1a195461e3ce: Pull complete
cb544743625b: Pull complete
ec65f2bdce0b: Pull complete
Digest: sha256:e6c35bd8a9f7be72055be21380344c81c4a6330efa254aabf60b8a4796d508c5
Status: Downloaded newer image for jumpserver/jms_koko:1.5.5
a42306dc4572b58dff389a0d0bf7c62dda0251800039345c17a84cda87734739
(py3) [root@qa95-devel jumpserver]#
然后koko注册成功,并处于在线状态:
(2)Guacamole 注册失败
原因:版本不匹配
解决过程如下:
(py3) [root@qa95-devel jumpserver]# docker stop jms_guacamole
jms_guacamole
(py3) [root@qa95-devel jumpserver]# docker rm jms_guacamole
jms_guacamole
(py3) [root@qa95-devel jumpserver]# docker run --name jms_guacamole -d -p 127.0.0.1:8081:8080 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN --restart=always jumpserver/jms_guacamole:1.5.5
Unable to find image 'jumpserver/jms_guacamole:1.5.5' locally
1.5.5: Pulling from jumpserver/jms_guacamole
ab5ef0e58194: Pull complete
edf7bc06322e: Pull complete
2034ec367e45: Pull complete
e75756b89a95: Pull complete
f04c5d071413: Pull complete
2599c3a6a821: Pull complete
52a073ddf64c: Pull complete
805616d72c12: Pull complete
3c40529b36f6: Pull complete
3044f8f99b07: Pull complete
d97561b081f3: Pull complete
Digest: sha256:667651fd4fe9836d6c4121c66cde25095dce966e9610035da512af25cbe00b79
Status: Downloaded newer image for jumpserver/jms_guacamole:1.5.5
71f7e22b7b0e1687b55f79063b3fe9c699286157c1efd361e4a68ee4ad141a95
(py3) [root@qa95-devel jumpserver]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71f7e22b7b0e jumpserver/jms_guacamole:1.5.5 "./entrypoint.sh" 4 minutes ago Up 4 minutes 127.0.0.1:8081->8080/tcp jms_guacamole
a42306dc4572 jumpserver/jms_koko:1.5.5 "./entrypoint.sh" 29 minutes ago Up 29 minutes 0.0.0.0:2222->2222/tcp, 127.0.0.1:5000->5000/tcp jms_koko
(py3) [root@qa95-devel jumpserver]#
然后Guacamole注册成功,如下所示:
网友评论