安装
安装说明
如果要使用进行源码编译安装,官方要求如下:
选项 | 内容 |
---|---|
Linux kernel | >= 4.0 |
soft | wget curl tar gettext iptables python |
DB | mysql >=5.7 |
mariadb >=10.2 | |
redis >=5.0 |
由于编译安装难度过大,安装的组件非常多,推荐使用官方一键安装脚本、离线安装或者直接使用docker部署都可以。
本文档基于离线安装进行编写
安装jumpserver
最新版本为v2.21.4
,下载地址为:https://cdn0-download-offline-installer.fit2cloud.com/jumpserver/jumpserver-offline-installer-v2.21.4-amd64-194.tar.gz,下载之前需要注册一个账号
下载完成后上传安装包到服务器,开始解压、安装
tar xvf jumpserver-offline-installer-v2.21.4-amd64-194.tar.gz
cd jumpserver-installer-v2.21.4/
# 执行安装脚本
./jmsctl.sh install
# 安装时需要注意一下设置:
>>> Install and Configure JumpServer
# SECRETE_KEY和BOOTSTRAP_TOKEN要记住
1. Configure Private Key
SECRETE_KEY:
BOOTSTRAP_TOKEN:
complete
# 安装目录,默认为/opt/jumpserver,如果要修改为其他目录请选择Y
2. Configure Persistent Directory
Do you need custom persistent store, will use the default directory /opt/jumpserver? (y/n) (default n): n
complete
# 是否使用外置数据库,选择n
3. Configure MySQL
Do you want to use external MySQL? (y/n) (default n): n
complete
# 配置redis,选择n
4. Configure Redis
Do you want to use external Redis? (y/n) (default n): n
complete
# 是否自定义jumpserver访问端口,默认为80端口,需要就选择y,不要和其他应用端口冲突
5. Configure External Port
Do you need to customize the JumpServer external port? (y/n) (default n): n
complete
6. Init JumpServer Database
Creating network "jms_net" with driver "bridge"
安装完成后,会在底部显示相关安装信息
>>> The Installation is Complete
7. You can use the following command to start, and then visit
cd /root/jumpserver-offline-installer-v2.21.4-amd64-194
# 启动服务
./jmsctl.sh start
8. Other management commands
# 常用选项
./jmsctl.sh stop # 停止服务
./jmsctl.sh restart # 重启服务
./jmsctl.sh backup # 备份jumpserver
./jmsctl.sh upgrade # 升级jumpserver
# 查看帮助,使用 --help选项
For more commands, you can enter ./jmsctl.sh --help to understand
10. Web access
# 访问地址
http://192.168.1.154:80
# 默认登录用户名和密码,正式环境请及时修改密码
Default username: admin Default password: admin
11. SSH/SFTP access
# ssh选项、sftp选项
ssh -p2222 admin@192.168.1.154
sftp -P2222 admin@192.168.1.154
13. More information
# 官方网站和文档
Official Website: https://www.jumpserver.org/
Documentation: https://docs.jumpserver.org/
配置jumpserver
修改登录密码
在浏览器输入:http://192.168.1.154, 即可打开页面,如果自定了端口请使用:http://ip:端口进行访问
输入用户名:admin,密码:admin,进行登录,登录成功提示需要修改初始密码,修改成功以后,再次登录即可
主页面:
设置邮箱
点击右上角齿轮标志打开系统设置
点击邮件服务器>点击设置
输入如下信息,点击提交完成设置
配置完成以后,进行测试,验证配置是否正常
收到邮件,邮箱配置成功
新建管理节点
点击:**资产管理>资产列表>右键Default>创建节点,**新建2个节点:Linux和Windows
添加特权用户
特权用户指的是操作系统里的最高权限用户,Linux一般为root,Windows一般为administrator,是jumpserver用来推送系统用户和获取硬件信息等其他功能所用的账号,并且只能使用ssh协议进行登录
点击:资产管理>系统用户>特权用户,添加一个特权用户,输入如下信息
创建资产
以Linux为例
点击资产管理>资产列表>创建,新建一个资产列表,输入完成点击底部的提交完成创建
资产创建信息填写好保存之后隔几秒钟时间刷新一下网页,ssh 协议资产的可连接图标会显示 绿色,且 **硬件信息 **会显示出来
如果刷新多次如上2项,仍然不正常,请检查是否有如下情况:
- 如果 可连接 的图标是 黄色 或者 红色,可以点击 资产 的 名称,在右侧 快速修改 - 测试可连接性 点击 测试 按钮,根据错误提示处理
- 被连接 Linux 资产需要 python 组件,且版本大于等于 2.6,Ubuntu 等资产默认不允许 root 用户远程 ssh 登录,请自行处理,Windows 资产需要手动安装 OpenSSH Server
- 如果资产不能正常连接,请检查 特权用户 的 用户名 和 **密码 **是否正确以及该 特权用户 是否能使用 SSH 从 JumpServer 主机正确登录到资产主机上
添加应用
点击应用管理>数据库>创建,创建一个mariadb数据库应用,输入信息,添加提交完成添加
创建普通用户
创建登录资产时所用的用户,这个用户就是Linxu上的普通账户,可以在服务器上先行创建好,也可以由jumpserver关联的特权用户进行自动创建然后推送到资产上
点击资产管理 >系统用户 > 创建普通用户>ssh,创建一个SSH协议系统用户,点击提交,完成添加
创建应用账户
点击资产管理 >系统用户 > 创建普通用户>创建>mariadb,输入添加的参数,点击提交完成mariadb
添加命令过滤
可以对系统账户绑定一些命令,对于这些命令允许的的可以使用,策略禁止的无法使用,比如rm
或者cp
、mv
之类的命令
点击资产管理>命令过滤>创建,添加一些规则
添加完命令以后,对这些命令配置策略,允许执行或者拒绝执行,点击规则栏里对应的命令
点击命令过滤器规则
在内容里添加,*rm.*,号匹配rm后面的参数,比如rm -rf,rm -f,按照规划把需要过滤的命令全部添加规则即可
添加完成以后,在系统用户里对
添加jumpserver用户
jumpserver用户指的是登录jumpserver堡垒机的用户。在此添加2个用户zhangsan和lisi
点击用户管理>用户列表>创建,依次完成zhansan和lisi的用户创建
为用户分配资产
创建完资产以后,需要为用户分配资产授权。
示例授权zhangsan访问测试机203的权限,授权lisi访问mariadb的权限
授权zhangsan访问测试机203的权限
点击权限管理>资产授权>选择资产>创建
分配资产时,用户组千万不要选择,否则在同一组的人能互相看见、访问对方已经互相授权的资产
输入如下信息,点击提交完成分配
授权lisi访问mariadb数据库
点击权限管理>应用授权>选择资产>创建>mariadb
步骤和上面差不多,不在叙述
测试
完成所有步骤以后,分别登录zhangsan和lisi两个用户验证,授权是否正常
zhangsan测试
登录zhangsan,点击左上角的web终端
点击左侧列表,选择授权的服务器
单击打开服务器,选择Web CLI
执行命令进行验证
查看过滤命令,提示命令XX是被禁止的
lisi测试
操作步骤和张三一致,只不过把Linux换成了mariadb
查看审计
登录管理员账户,点击视图>审计台
点击会话审计:
会话记录
显示当前正在进行的会话记录和历史会话记录
在线会话:
历史会话:
命令记录
审计用户在机器上使用过的命令
点击记录后面的转到,可以查看详细执行情况,点击回放,可以查看本次操作的录像
文件传输
审计用户上传到服务器的文件
缺点
在命令记录里,执行的SQL语句记录不太完善,不过可以通过历史记录的回放录像查看操作过程
使用之前的问题点
在使用jumpserver之前,应该需要考虑如下几点?
- jumpserver部署完以后,如何访问?
- 哪些人使用,该如何授权?
- 服务器的ssh-key或者登录密码是否管理混乱,是否需要进行回收?
- 如果研发嫌没办法使用可视化管理软件怎么办?比如使用Navicat、RedisDesktopManager等?
- **Linux是否有些文件权限是777,如果有的话需要回收,回收是否对程序有什么影响?! **
参考来源
jumpserver官方文档
https://docs.jumpserver.org/zh/master/