Jumpserver介绍
官网:http://www.jumpserver.org/
安装文档:http://docs.jumpserver.org/zh/docs/step_by_step.html
一 跳板机概述: 跳板机就是一台服务器,开发或运维人员在维护过程中需要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。 跳板机的缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位的原因和责任人。
二 堡垒机的概述: 堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的***和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。 总结:堡垒机比跳板机 多了实时收集、监控网络环境、集中报警等功能。
三 Jumpserver的概述:
jumpserver是一款使用Python、Django开发的开源跳板机(堡垒机)系统,可以实现认证、授权、审计及自动化运维功能,助力企业高效用户、资产、权限、审计管理。它是完全开源的,我们可以针对它来进行二次开发,实现更多的功能。
jumpserver采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。
功能:
Auth统一认证
CMDB资产管理
日志审计
自动化运维(ansible)
部署jumpserver运行环境
Jumpserver服务端:jinkai03 192.168.186.144
客户机:jinkai02 192.168.186.141
设置firewalld防火墙规则,允许指定端口放行
[root@jinkai02 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@jinkai02 ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@jinkai02 ~]# firewall-cmd --zone=public --add-port=2222/tcp --permanent
Success
或者直接关闭防火墙
[root@jinkai02 ~]# systemctl stop firewalld
[root@jinkai02 ~]# systemctl disbale firewalld
关闭selinux
[root@jinkai02 ~]# setenforce 0
永久关闭selinux需要去/etc/selinux/config去吧enforcing改成disabled
修改字符集, 否则可能报 input/output error的问题, 因为日志里打印了中文
[root@jinkai02 ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@jinkai02 ~]# export LC_ALL=zh_CN.UTF-8
[root@jinkai02 ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
安装jumpserver
官网脚本安装:
curl -sSL
https://github.com/jumpserver/jumpserver/releases/download/v2.5.3/quick_start.sh | sh
执行时间会很长,耐心等待,执行完成后会提示进入:
cd /opt/setuptools/
执行:./jmsctl.sh start
登录jumpserver
网页输入IP登录jumpserver,默认账号admin,密码admin
第一次登录会提示更改密码
密码重置:administrator---个人信息---登录密码设置
测试登录:
Jumpserver平台初始化--系统设置项:
基本设置--填入堡垒机IP和邮件主题名称
邮件设置:SMTP主机,SMTP端口,SMTP账号,SMTP密码,设置完成后点击--测试连接,看是否可以收到邮件
这些设置需要手动重启一下jms服务才能生效
创建管理账户
管理用户是服务器的root,或拥有NOPASSWD: ALL sudo权限的用户,Jumpserver使用该用户来 推送系统用户、获取资产硬件信息等。
点击资产管理 → 管理用户 → 创建
创建管理用户:名称(用户名称)用户名和名称建议设置一样,密码为空,设置SSH秘钥,无密码登录
创建秘钥:
[root@jinkai03 ~]# ssh-keygen
[root@jinkai03 ~]# ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[root@jinkai03 ~]# cat /root/.ssh/id_rsa
把显示的私钥复制粘贴到Windows上做成文本文档,导入
点击提交后linuxprobe用户创建成功
之后需要到客户机上创建用户linuxprobe,并复制堡垒机上的公钥到authorized_keys文件中
[root@jinkai03 ~]# cat /root/.ssh/id_rsa.pub
---------------------------------------------------省略----------------------
[root@jinkai02 ~]# useradd linuxprobe
[root@jinkai02 ~]# su - linuxprobe
[linuxprobe@jinkai02 ~]$ mkdir .ssh
[linuxprobe@jinkai02 ~]$ vim .ssh/authorized_keys
粘贴堡垒机的公钥---------省略-----------
[linuxprobe@jinkai02 ~]$ chmod 700 .ssh/
[linuxprobe@jinkai02 ~]$ chmod 400 .ssh/authorized_keys
测试堡垒机是否可以通过私钥登录客户机jinkai02
[root@jinkai03 .ssh]# ssh linuxprobe@192.168.186.141
Last login: Mon Dec 28 23:57:16 2020
[linuxprobe@jinkai02 ~]$
这样,我们jumpserver的管理用户linuxprobe就创建成功了。以后,每增加一台新机器,都需要在新机器增加用户linuxprobe,同时将公钥复制到authorized_keys文件中。
创建普通用户
普通用户就是用来登录jumpserver浏览器界面的用户,或者用命令行方式登录堡垒机的用户。
首先需要创建一个用户组 运维 ,用户管理 → 用户组 → 创建用户组
用户管理 → 用户列表 → 创建用户,创建一个普通用户 zhangsan
点击提交,用户创建成功,也会发送一封邮件到刚指定的邮箱,是重置密码的链接
如果是忘记系统用户的登录密码可以通过上面的方法进行重置
添加机器
资产管理 → 资产列表,左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,右侧是属于该节点下的资产。
点击创建资产,关联刚创建的管理用户linuxprobe,主机名,主机IP,系统平台,节点
因为关联了管理用户linuxprobe,所以jinkai02上也必须有这个用户,在之前我们已经创建了该用户,我们还需要给这个用户sudo的权限。
visudo
linuxprobe ALL=(ALL) NOPASSWD:ALL
除了这样创建以外,我们还可以按照模板批量地导入资产,而不必这样一个一个去创建。
添加系统用户并授权
添加完机器后,还需要添加系统用户,系统用户是 Jumpserver跳转登录资产时使用的用户,可以理解为登录资产用户。
资产管理 → 系统用户 → 创建系统用户
自动推送会在资产中自动生成该用户,创建之后点击zhangsan进入系统用户详情,这里也可以手动去推送及测试连通性
添加授权规则
权限管理 → 资产授权,选中Linux节点,点击创建权限规则
点击提交,到这里我们相当于完成了设置的步骤。
接下来就是测试能否使用系统用户直接登录到jinkai02上,先切换到用户界面
点击Web终端,会打开一个新页面
连接超时,网络不通,但是手动检测是通的
实验未成功,仍需努力!!!