文章目录
- 前言
- 安装
- 用户管理
- 1. 创建用户
- 2. 创建组
- 资产管理
- 1.添加linux服务器
- 2.添加windos服务器
- 权限管理
- 授权
- 测试
前言
简介:
Jumpserver 是全球首款完全开源的堡垒机,使用GNU GPL v2.0开源协议,是符合4A(认证Authentication、账号Account、授权Authorization、审计Audit)的专业运维审计系统。Jumpserver 使用Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。 Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制。
官网: https://www.jumpserver.org
github地址:https://github.com/jumpserver/jumpserver
作用:
- 管理公司所有资产
- 给员工授权服务器权限,并记录操作过程
- 合4A规范,可以完成身份验证,使我们轻松地管理各种人员的资产和权限,并且有安全审计功能,记录用户各种操作。
- JumpServer 现已支持管理
SSH、 Telnet、 RDP、 VNC
协议资产。
堡垒机配置要求:
使用的端口:
ps:图片来源b站:肥兔克劳德
安装
- 下载安装脚本
[root@localhost ~]# wget https://github.com/jumpserver/jumpserver/releases/download/v2.7.1/quick_start.sh
[root@localhost ~]# cat /quick_start.sh
# 如果网络比较慢,可以直接复制脚本安装,脚本如下:
#!/bin/bash
function prepare_check() {
isRoot=`id -u -n | grep root | wc -l`
if [ "x$isRoot" != "x1" ]; then
echo -e "[\033[31m ERROR \033[0m] Please use root to execute the installation script (请用 root 用户执行安装脚本)"
exit 1
fi
processor=`cat /proc/cpuinfo| grep "processor"| wc -l`
if [ $processor -lt 2 ]; then
echo -e "[\033[31m ERROR \033[0m] The CPU is less than 2 cores (CPU 小于 2核,JumpServer 所在机器的 CPU 需要至少 2核)"
exit 1
fi
memTotal=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
if [ $memTotal -lt 7500000 ]; then
echo -e "[\033[31m ERROR \033[0m] Memory less than 8G (内存小于 8G,JumpServer 所在机器的内存需要至少 8G)"
exit 1
fi
}
function install_soft() {
if command -v dnf > /dev/null; then
if [ "$1" == "python" ]; then
dnf -q -y install python2
ln -s /usr/bin/python2 /usr/bin/python
else
dnf -q -y install $1
fi
elif command -v yum > /dev/null; then
yum -q -y install $1
elif command -v apt > /dev/null; then
apt-get -qqy install $1
elif command -v zypper > /dev/null; then
zypper -q -n install $1
elif command -v apk > /dev/null; then
apk add -q $1
else
echo -e "[\033[31m ERROR \033[0m] Please install it first (请先安装) $1 "
exit 1
fi
}
function prepare_install() {
for i in curl wget zip python; do
command -v $i &>/dev/null || install_soft $i
done
}
function config_docker() {
if [ ! -f "/etc/docker/daemon.json" ]; then
mkdir -p /etc/docker/
wget -qO /etc/docker/daemon.json https://demo.jumpserver.org/download/docker/daemon.json || {
rm -f /etc/docker/daemon.json
}
fi
}
function get_installer() {
Version=$(curl -s 'https://api.github.com/repos/jumpserver/installer/releases/latest' | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}'
| sed 's/\"//g;s/,//g;s/ //g')
cd /opt
if [ ! -d "/opt/jumpserver-installer-$Version" ]; then
wget -qO jumpserver-installer-$Version.tar.gz https://github.com/jumpserver/installer/releases/download/$Version/jumpserver-installer-$Vers
ion.tar.gz || {
rm -rf /opt/jumpserver-installer-$Version.tar.gz
echo -e "[\033[31m ERROR \033[0m] Failed to download jumpserver-installer (下载 jumpserver-installer 失败, 请检查网络是否正常或尝试重新执
行脚本)"
exit 1
}
tar -xf /opt/jumpserver-installer-$Version.tar.gz -C /opt || {
rm -rf /opt/jumpserver-installer-$Version
echo -e "[\033[31m ERROR \033[0m] Failed to unzip jumpserver-installe (解压 jumpserver-installer 失败, 请检查网络是否正常或尝试重新执行脚
本)"
exit 1
}
rm -rf /opt/jumpserver-installer-$Version.tar.gz
fi
}
function config_installer() {
cd /opt/jumpserver-installer-$Version
JMS_Version=$(curl -s 'https://api.github.com/repos/jumpserver/jumpserver/releases/latest' | grep "tag_name" | head -n 1 | awk -F ":" '{print
$2}' | sed 's/\"//g;s/,//g;s/ //g')
sed -i "s/VERSION=.*/VERSION=$JMS_Version/g" /opt/jumpserver-installer-$Version/static.env
./jmsctl.sh install
}
function main(){
prepare_check
prepare_install
config_docker
get_installer
config_installer
}
main
-----------------------------------------------------------
- 给予执行权并执行
[root@localhost ~]# chmod +x quick_start.sh
[root@localhost ~]# ./quick_start.sh
- 脚本运行期间会有交互信息,如图选择默认回车即可。
- 安装完成,如图所示
- 启动
- 打开浏览器,输入ip访问,默认账号密码都是admin
用户管理
1. 创建用户
注:该用户为jumpserver的登陆用户,可以对资产远程操作的用户。有三种:系统管理员
、系统审计员
、用户
。默认的有一个系统管理员Administrator(admin) 。
- 创建普通用户
- 创建一个审计人员
- 浏览用户列表
2. 创建组
资产管理
可管理的资产
资产管理中涉及两个用户,一个是管理用户
,一个是系统用户
,很多初学者分不清两个用户的作用。
- 这两个用户并不是jumpserver堡垒机的web界面的登录用户。
- 这两个用户都需要填写所控制硬件设备的登陆账户名和密码
- 管理用户需要账号密码是为了获取对应资产的一些硬件信息和登陆权限,可以理解为只对一个资产负责
- 系统用户需要密码是为了由jumpserver的web页面跳转到远程管理窗口,这个密码和账号可以是一批的形同账号密码的linux服务器或是windos服务器。
1.添加linux服务器
- 创建管理用户(这里的管理用户是可以连接 服务器的用户 如连接服务器端的
root
用户,或是普通用户,但是要给予一定的提权。如abc用户 NOPASSWD: ALL sudo 权限的用户, JumpServer 使用该用户来推送系统用户
、获取资产硬件信息
等。 )
- 添加系统用户(可以理解为登录资产用户,简单来说是用户使用自己的用户名登录 JumpServer,JumpServer 使用系统用户登录资产。也可以视为这个系统用户可以登录很多相同密码的资产。)
- 添加linux服务器
保存后可以看到资产列表多了一台linux的服务器
2.添加windos服务器
- 添加管理用户
- 添加一个系统用户
- 加入一台windos服务器
权限管理
资产授权:对普通登录用户进行授权,是其有远程控制资产的能力
授权
最后可以看到授权列表有一条新的授权信息
里面包含3个用户、3个组、2台资产
测试
用张三用户登录jumpserver,可以看到能够操控两台资产