Jumper Server 堡垒机搭建过程
背景说明
- 公司组织考核, 要对一套系统进行安全设置.有一个项目是使用堡垒机进行登录
- 堡垒机有多种用途,可以实现日志审计和安全设置等.
- 买商业设备的话太困难了,不如使用开源的额Jumper Server进行简单应急处理
- 如下简单记录本次搭建过程和遇到的坑.
遇到的坑
- 使用Jumper Server v2.17.3的版本进行搭建:
使用jms_all进行allinone部署.发现会出现错误
Perform migrate failed, exit
退而求其次使用tar包里面的命令行进行安装
依旧如此.
不管是使用内置数据库,还是外置数据库.
怀疑版本存在问题,进行回退.
获取安装介质
https://community.fit2cloud.com/#/products/jumpserver/downloads
- 注意我这次选择的是 2.13.1的版本.这个是完整安装包.比较大.
wget https://github.com/jumpserver/installer/releases/download/v2.13.1/jumpserver-installer-v2.13.1.tar.gz
可以获取安装脚本从网上获取安装也可以.
进行安装
- 因为家里网络较差采用 下载github命令方式安装.
tar -zxvf xxx && cd xxxx
./jmsctl.sh install
本次为了快速. 一开始手工建了数据库. 但是本次未进行.
直接使用内置数据库即可, 一路next
会自动安装docker 安装docker-compose
自动拉取镜像以及进行数据库的初始化操作.
安装完成之后需要启动
./jmsctl.sh start
外置数据库的设置
create database jumpserver default charset 'utf8';
create user 'jumpserver'@'%' identified by 'yourpassword';
grant all on jumpserver.* to 'jumpserver'@'%';
flush privileges;
## MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置 MySQL, 请输入正确的 MySQL 信息
USE_EXTERNAL_MYSQL=1
DB_HOST=10.110.xx.xx
DB_PORT=3306
DB_USER=jumpserver
DB_PASSWORD=yourpassword
DB_NAME=jumpserver
## Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置 Redis, 请输入正确的 Redis 信息
USE_EXTERNAL_REDIS=1
REDIS_HOST=10.110.xx.xx
REDIS_PORT=6379
REDIS_PASSWORD=yourpassword
- 注意 需要关闭防火墙或者是开放端口
- 如果必须开启防火墙, 那么docker 网桥的ip地址需要单独查看后进行开放
设置https访问
- 建议申请一个域名 对应jumper server的地址
- 建议再申请一个证书, 使用https
- 使用nginx 方向代理 jumper Server的80端口.
- 将机器默认80端口实现禁止访问,保证安全.
- 这种方式最为简单. 但是需要注意的话 需要对每一个请求进行web socket协议升级
设置用户
- Jumper Server的默认用户是 admin/admin
- 注意登录用户后立马需要进行密码修改
- 设置好密码需要进行下一步操作.
用户设置
- 登录Jumper Server 之后需要进行一些简要设置
1. 添加用户分组, 用户分组可以用于分配资产
2. 添加用户, 注意用户名字段,可以是中文,用于登录.注意可以添加为管理员也可以添加为仅是业务用户.
3. 资产管理-系统用户-添加特权用户. 建议可以设置多个特权用户,不同的分组机器可以使用不同的密码
4. 添加资产-输入地址信息,分组信息,以及输入特权用户,注意这个特权用户需要与添加资产的机器密码保持一直才可以登录.
5. 权限管理-资产授权-创建资产授权规则-注意可以给用户分组和资产分组同时授权实现一定程度上的RBAC
6. 切换登录web用户. 打开web端就可以管理了
简要效果
