为什么要使用堡垒机?
堡垒机4A认证
Jumpserver的部署
jumpserver的操作结构和管理方式
核心架构组建
服务器配置:
部署:
部署文档:
https://www.cnblogs.com/you-men/p/13939724.html
https://docs.jumpserver.org/zh/master/install/setup_by_fast/
环境初始化
关闭防火墙,selinux
阿里云的yum源和epel源
yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
epel源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
清除和建立缓存
yum clean all
yum makecache
安装jumpserver依赖的环境
yum -y install git python3-pip automake python3-devel readline-devel zlib zlib-devel gcc
yum -y install sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
编码修改为UTF-8
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
写入全局配置文件
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
locale
(跳过)部署mysql5.7
配置YUM源
下载mysql源安装包
yum -y install wget
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源
yum -y localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
安装MySQL
yum -y install mysql-community-server
--nogpgcheck
mysqld -V
开启:
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld
mysql5.7安装时会产生一个默认的密码,查看此密码的文件一般存在于/var/log/mysqld.log上
查看密码并登录
grep 'temporary password' /var/log/mysqld.log
修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
创建一个utf8的数据库
create database jumpserver default charset 'utf8' collate 'utf8_bin';
create user 'jumpserver'@'%' IDENTIFIED BY 'ljh123456';
grant all privileges on jumpserver.* to 'jumpserver'@'%' identified by 'ljh123456';
安装mysql
yum -y install mariadb mariadb-devel mariadb-server
systemctl enable mariadb && systemctl start mariadb
mysqladmin -u root password ‘123’
create database jumpserver default charset 'utf8' collate 'utf8_bin';create user 'jumpserver'@'%' IDENTIFIED BY '123'; grant all on jumpserver.* to 'jumpserver'@localhost identified by '123'; flush privileges;
部署python3
为什么要下载python解释器(virtualENV)?
安装:
wget https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tgz
解包配置编译安装
tar -zxvf Python-3.10.3.tgz
cd Python-3.10.3
./configure --prefix=/usr/local/python3
make && make install
/usr/local/python3/bin/python3 -V
一键安装:
yum -y install python36 python36-devel
部署redis:
yum -y install redis
systemctl enable redis && systemctl start redis
检测
redis-cli
部署jumpserver服务
后台启动需要依赖数据库,后台程序启动的时候回去连接数据库,需要保证数据库起来
mkdir /opt/jumpserver-2.1.0
wget -O /opt/jumpserver-2.1.0.tar.gz https://github.com/jumpserver/jumpserver/archive/refs/tags/2.1.0.tar.gz
tar -xf jumpserver-2.1.0.tar.gz -C /opt/jumpserver-2.1.0 --strip-components 1
ln -s /opt/jumpserver-2.1.0 /opt/jumpserver
cd /opt/jumpserver
安装rpm相关依赖
ls -l requirements/
yum install -y $(cat requirements/rpm_requirements.txt)
安装 python 依赖为 JumpServer 项目单独创建 python3 虚拟环境,并安装相关依赖(在requirements.txt文件中)
python3.6 -m venv /opt/py3
source /opt/py3/bin/activate
每次运行项目都需要先执行 source /opt/py3/bin/activate 载入此环境
pip3 install -r requirements/requirements.txt
配置jumpserver配置文件
cd /opt/jumpserver
cp -a config_example.yml config.yml
grep -Ev '^#|^$' config.yml
SECRET_KEY
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo
BOOTSTRAP_TOKEN
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24;echo
对python进行数据库迁移
python3 /opt/jumpserver/apps/manage.py makemigrations
遇到的错误:
然后在django 工程路径下的__init__.py文件中加入如下代码:
import pymysql
pymysql.install_as_MySQLdb()
/opt/jumpserver/jms start -d
脚本一键安装:
环境初始化
关闭防火墙,selinux
setenforce 0
iptables -F
阿里云的yum源和epel源
yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
epel源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
清除和建立缓存
yum clean all
yum makecache
安装jumpserver依赖的环境
yum -y install git python3-pip automake python3-devel readline-devel zlib zlib-devel gcc
yum -y install sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
编码修改为UTF-8
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
写入全局配置文件
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
locale
cd /opt
wget https://github.com/jumpserver/installer/releases/download/v2.20.0/jumpserver-installer-v2.20.0.tar.gz
tar -xf jumpserver-installer-v2.20.0.tar.gz
cd jumpserver-installer-v2.20.0
安装完成后配置文件 /opt/jumpserver/config/config.txt,可以参考config-example.txt,不懂可以直接跳过
cp -a /opt/jumpserver/config/config-example.txt /opt/jumpserver/config/config.txt
./jmsctl.sh install
相关命令:
# 启动
./jmsctl.sh start
# 停止
./jmsctl.sh down
# 卸载
./jmsctl.sh uninstall
# 帮助
./jmsctl.sh -h
学习之前先把用户的关系搞清楚:
1、jumpserver用户,针对jumpserver操控,登陆普通服务器(web或ssh),所使用的特有用户
2、系统用户 是JumpServer 登录资产时使用的账号,如 root `ssh root@host`,而不是使用该用户名登录资产(ssh admin@host)`;
特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等;
普通用户 可以在资产上预先存在,也可以由 特权用户 来自动创建。
详细说明:
Jumpserver的用户
1,所有权限的统一入口
2,这个用户指堡垒机账号
jumpserver用户能干什么?
能用这个账号登录web页面
能用这个账号登录命令行界面
用户分类:
admin 管理员用户
这个用户是最大权限的用户了。可以增删改查平台上面的任何一个地方。
普通用户
这个是指可以登录到web界面的普通用户。
比如:开发,测试,审计......人员。
这个用户只有查看资产的一些权限。
用户之间的访问和管理:
系统用户:
管理用户和普通用户
管理用户(新版本叫特权用户)
2,这个用户是给Jumpserver系统平台用的,jumpserver会用这个用户去服务器上面拿到服务器的一些信息。 比如:cpu,内存,硬盘,型号等等。所以说这个用户的权限要大。
1,这个管理用户是存在于资产服务器上面的用户。就相当于你服务器上面的超级用户。
4,这个用户你必须要先在你的服务器上面创建好。
5,这个用户你可以用root,也可以在服务器上面创建一个普通用户,然后给这个普通用户sudo权限就行。 `NOPASSWD: ALL` sudo 权限的用户
普通用户
1,这个用户就相当于你服务器上面的普通用户。
2,最终开发,测试...登录到服务器上面的用户就是这个用户。
3,这个用户你可以不用先在服务器上面创建好。管理用户会帮你去创建的。
案例:
新来一个开发叫,吴彦祖,他需要服务器1.1.1.1 2.2.2.2的权限。
用admin登录到web 界面,新建wuyanzu用户。然后吴彦祖就可以登录到web界面了。
首先得给资产创建管理用户(特权用户)
然后就可以创建资产了。我们需要特权用户(管理用户)选择我们创建的。
我们创建好了资产了之后就需要把资产授权给吴彦祖,让她有权限去登录服务器
创建授权之前我们需要创建一个系统用户,这个系统用户是真正登录到1.1.1.1 2.2.2.2上面的用户。 这个用户可以不用手动在服务器上面创建
然后我们就可以去创建授权规则了,也就是一个把两台服务器授权给吴彦祖的规则
快速上手:
登陆:账号和密码都是admin
基本设置
管理员设置邮箱:
163smtp/pop3新增的授权密码
TGTIJRKWTOFDUXOU
提交后随便发一封邮件进行测试:
收到邮件
管理员创建普通系统用户:
创建的用户收到邮件并设置密码:
创建的运维小弟用户登录下同意并提交
创建一个特权用户(root或者拥有 `NOPASSWD: ALL` sudo 权限的用户,这个用户你必须要先在你的服务器上面创建好)和一个普通用户(普通用户可以自动推送,jumpserver会帮你在资产中自动创建并推送这个用户,这里选择自己创建用户维护)
测试系统用户连通性
资产创建管理(使用管理员账户):
创建资产(使用特权用户)
点击创建
资产授权:
首先要在服务器中添加系统普通用户:
useradd jumpserver_user
passwd jumpserver_user
创建授权,授权给运维小弟
远程登陆及监控操作
使用运维小弟登陆
ssh终端:
ssh 运维小弟@192.168.1.10 -p2222
web终端:
审计员(管理员创建jumpserver”运维小弟“用户时赋予的权限)或者是管理员进行监控
管理员或系统审计员可以主动中断链接
运维小弟这边:
管理员可以在命令记录中查看具体的命令和执行返回结果,点击”转到“可以下载和查看录像:
常见报错解决:
如果出现unhealthy的docker,使用脚本 ./jmsctl.sh start 然后systemctl stop docker ./jmsctl.sh start
功能详解:
身份认证:
工单审核:需要开启企业版
开启MFA
在创建用户的时候设定启动MFA
使用此用户登陆时:
扫码登陆验证即可
登陆时即可出现二次验证码:
系统用户
特权用户:
特权用户 是资产已存在的, 并且拥有 高级权限 的系统用户, 如 root 或 拥有 `NOPASSWD: ALL` sudo 权限的用户。 JumpServer 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。
普通用户功能:
普通用户自动推送用户的方式:
动态用户功能:
然后资产授权,使用auto系统用户,授权给autouser1
在系统用户auto中推送下会自动创建autouser1推送到资产中
尝试登陆(提示:jumpserver用户不能出现中文名,否则用户无法推送到服务器)
资产管理:
资产树:
添加资产到资产树
XPACK(需要开启企业版)
创建同步任务:
密码管理:
授权控制:
应用:
资产及授权:
命令过滤:
测试使用autouser进行命令过滤
测试:
组织管理:
连接资产方式:
web
终端:
文件传输:
默认上传到tmp目录下
批量命令:
审计
会话审计
在线查看会话,可手动操作终端:
历史录像,下载录像:
使用命令记录定位命令:
日志审计:
登陆日志:
操作和授权日志:
修改密码日志:
批量命令日志:
发布者:LJH,转发请注明出处:https://www.ljh.cool/34979.html