JumpServer安装及使用配置
目录
安装JumpServer
吹个牛批这是我师哥写的JumpServer,同一个老师,就是我有点废物其余的没啥


JumpServer属于堡垒机,openvpn属于跳板机
跳板机概述
- 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。
跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;
堡垒机概述:
- 堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。
总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等功能。
- 准备一台 2核4G (最低)且可以访问互联网的 64 位 Linux 主机;
- 以 root 用户执行如下命令一键安装 JumpServer。
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.25.4/quick_start.sh | bash
https://docs.jumpserver.org/zh/master/install/setup_by_fast/
[root@ubuntu2004 ~]#echo '{"registry-mirrors": ["https://frc3mkbl.mirror.aliyuncs.com"]}'> /etc/docker/daemon.json #加速器
[root@ubuntu2004 ~]#cat /etc/docker/daemon.json
{"registry-mirrors": ["https://frc3mkbl.mirror.aliyuncs.com"]}
[root@ubuntu2004 ~]#docker info 查看是否成功(加速)
docker run --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jumpserver -e MYSQL_USER=jumpserver -e MYSQL_PASSWORD=123456 -d -p 3306:3306 mysql:5.7.30
[root@ubuntu2004 ~]#apt install mysql-client
MySQL
[root@ubuntu2004 ~]#mkdir -p /etc/mysql/mysql.conf.d/
[root@ubuntu2004 ~]#mkdir -p /etc/mysql/conf.d/#生成服务器配置文件,指定字符集
[root@ubuntu2004 ~]#tee /etc/mysql/mysql.conf.d/mysqld.cnf <<EOF
[mysqld]
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
datadir= /var/lib/mysql
symbolic-links=0
character-set-server=utf8 #添加此行,指定字符集
EOF#生成客户端配置文件,指定字符集
[root@ubuntu2004 ~]#tee /etc/mysql/conf.d/mysql.cnf <<EOF
[mysql]
default-character-set=utf8 #添加此行,指定字符集
EOFdocker的MySQL文件映射
docker run -d -p 3306:3306 --name mysql --restart always \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=jumpserver \
-e MYSQL_USER=jumpserver \
-e MYSQL_PASSWORD=123456 \
-v /data/mysql:/var/lib/mysql \
-v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf mysql:5.7.30docker rm -f mysql
Redis
就一条命令就行,可以跑起来
[root@ubuntu2004 ~]#docker run -d -p 6379:6379 --name redis --restart always redis:6.2.7
Jumpserver
cat key。sh 运行生成key
if [ ! "$SECRET_KEY" ]; then
SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`;
echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc;
echo SECRET_KEY=$SECRET_KEY;
else
echo SECRET_KEY=$SECRET_KEY;
fi
if [ ! "$BOOTSTRAP_TOKEN" ]; then
BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`;
echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc;
echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
else
echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
fi
生成的复制下来
SECRET_KEY=Qy4tINeDjnfMl4EImTQtUOfPsFAEA8vNNOhhNdZRiH7ogENsZr
BOOTSTRAP_TOKEN=87UrzD4vmNYr1MnO 把下面的替换掉 这俩
docker run --name jms_all -d \
-v /opt/jumpserver/core/data:/opt/jumpserver/data \
-v /opt/jumpserver/koko/data:/opt/koko/data \
-v /opt/jumpserver/lion/data:/opt/lion/data \
-p 80:80 \
-p 2222:2222 \ #这下面的这两行替换成上面的
-e SECRET_KEYSECRET_KEYSECRET_KEY=Qy4tINeDjnfMl4EImTQtUOfPsFAEA8vNNOhhNdZRiH7ogENsZr \
-e BOOTSTRAP_TOKEN=87UrzD4vmNYr1MnO \
-e LOG_LEVEL=ERROR \
-e DB_HOST=10.0.0.100 \ #本机也得写ip
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=123456 \
-e DB_NAME=jumpserver \
-e REDIS_HOST=10.0.0.100 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD='' \
--privileged=true \
--restart always \
jumpserver/jms_all:v2.25.5 #不写默认最新版
做个域名解析用IP地址,这样用ip地址访问


[root@ubuntu2004 ~]#docker logs -f jms_all 用这个命令来结果 (密码自己输,复制用是错)
使用/账号管理
- 开发张三
- 测试李四
- 运维 王五
三大账号分类
jumpserver账号, jumpserver通过自带ansible创建的账号,服务器自带root账号
JumpServer 支持三种登录用户
- 系统管理员
- 普通用户
- 系统审计员

邮件设置
写系统root的名称密码
添加系统用户账号。可以创建分组,添加多个分组 云也行
创建普通账号让以普通权限链接 
自动推送,通过内置的ansible创建账号
创建账号的资产授权,
只有账号没有和服务器账号授权没法操控

可以手动上传目录同步在tmp目录下

查看历史会话审计,
快进,记录,下载,下载的视频需要专门的jumpserver视频播放器解压
https://github.com/jumpserver/VideoPlayer/releases

禁止相关命令使用
应用授权mysql数据链接
也是需要关联
excel表格批量ip导入导出

就写ip号 ,和节点位置(节点多余的都删了),别的内存什么的不用自己改

节点id(改成你所在的分区位置) 或者把节点名称改了也行