堡垒机

堡垒机(跳板机)

堡垒机(跳板机) 1

1. 为什么要使用堡垒机? 2

1.2. 堡垒机4A认证 2

2. Jumpserver的部署 3

2.1. jumpserver的操作结构和管理方式 3

2.2. 核心架构组建 3

2.3. 服务器配置: 4

2.4. 部署: 5

2.5. 脚本一键安装: 15

2.6. 学习之前先把用户的关系搞清楚: 19

2.7. 快速上手: 25

2.8. 功能详解: 44

为什么要使用堡垒机?

堡垒机

堡垒机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 -uroot -p'密码'

堡垒机

修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

flush privileges;

创建一个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';

flush privileges;

安装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 使用该用户来 `推送系统用户`、`获取资产硬件信息` 等。
普通用户功能:
普通用户自动推送用户的方式:

堡垒机

堡垒机

动态用户功能:

首先创建autouser jumpserver用户

堡垒机

可以直接使用jumpserver用户名推送到系统用户

堡垒机

然后资产授权,使用auto系统用户,授权给autouser1

堡垒机

在系统用户auto中推送下会自动创建autouser1推送到资产中

堡垒机

尝试登陆(提示:jumpserver用户不能出现中文名,否则用户无法推送到服务器)

堡垒机

资产管理:

资产树:

堡垒机

添加资产到资产树

堡垒机

堡垒机

XPACK(需要开启企业版)

堡垒机

堡垒机

堡垒机

创建同步任务:

堡垒机

堡垒机

密码管理:

堡垒机

授权控制:

应用:

堡垒机

资产及授权:

命令过滤:

堡垒机

测试使用autouser进行命令过滤

堡垒机

堡垒机

堡垒机

测试:

堡垒机

组织管理:

堡垒机

堡垒机

连接资产方式:

堡垒机

web

堡垒机

终端:

堡垒机

文件传输:

堡垒机

默认上传到tmp目录下

批量命令:

堡垒机

审计

会话审计

堡垒机

在线查看会话,可手动操作终端:

堡垒机

历史录像,下载录像:

堡垒机

堡垒机

使用命令记录定位命令:

堡垒机

日志审计:

登陆日志:

堡垒机

操作和授权日志:

堡垒机

修改密码日志:

堡垒机

批量命令日志:

堡垒机

发布者:LJH,转发请注明出处:https://www.ljh.cool/34979.html

(0)
上一篇 2023年4月2日 下午6:21
下一篇 2023年4月5日 下午10:25

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注