centos7下测试安装开源堡垒机Jumpserver

2018年10月13日 7802点热度 1人点赞


  Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。其使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。并且采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制。


常用链接:
Jumpserver 项目地址:

Jumpserver 官方文档:




一、试验环境:

操作系统: CentOS 7.4
IP地址: 192.168.0.80
安装目录: /opt
数据库: mariadb
代理: nginx






二、准备Python3和Python虚拟环境

2.1、安装依赖包


2.2、编译安装


2.3、建立 Python 虚拟环境

因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境

使用 deactivate 命令退出python虚拟环境






三、安装Jumpserver

3.1、下载或Clone项目


3.2、安装依赖 RPM 包


3.3、安装python库依赖


3.4、安装redis(Jumpserver 使用 Redis 做 cache 和 celery broke)


3.5、安装mysql


3.6、创建数据库Jumpserver并授权


3.7、修改 Jumpserver 配置文件

配置文件内容如下所示,可直接复制使用(注意远程连接linux服务器软件终端编码格式)

1. BEGIN SECRET_KEY Setup
jumpserver使用 SECRET_KEY 来加密或解密数据。其值为随意输入随机字符串(推荐字符大于等于 50位)

2. BEGIN Django Secure Setup
ALLOWED_HOSTS 这个参数的设置是为了限制一些主机的访问的。当DEBUG=False的时候,这个值是必须要设定的,否则启动会报错。其值是一个列表,可以是ip地址,也可以是域名,还可以支持通配符,如['example.com','192.168.1.2','*.example.com'],如果希望所有人都可以访问,则将其值设置为['*']即可。

3. BEGIN Debug Setup
DEBUG 模式:True为开启, False为关闭,默认开启,当出现错误将显示完整的进程跟踪时。生产环境推荐关闭。
注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问。(所以我们这里先设置为true,等nginx都配置完毕后,可以回来改为false在重启jumpserver即可。)

4. BEGIN Log Setup
日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL
更多关于Django日志设置信息请查看此处

5. BEGIN Database Setup
使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3。本例使用的mysql数据库。已将sqlite3的配置项删除。
更多关于Django中数据库配置请参考此处:

6. BEGIN HTTP Setup
Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问

7. BEGIN Redis Setup
Redis 的相关设置



3.8、生成数据库表结构和初始化数据


3.9、启动Jumpserver


启动过程如果没有报错,并且使用 ss -tnl 查看8080端口也监听了。即可使用浏览器访问 http://192.168.0.80:8080/ 默认账号: admin 密码: admin 页面显示不正常先不用处理,继续往下操作,后面搭建 nginx 代理后即可正常访问,原因是因为 django 无法在非 debug 模式下加载静态资源。











四、安装 SSH Server 和 WebSocket Server: Coco

4.1、下载或 Clone 项目


4.2、 安装依赖


4.3、 修改配置文件并运行

如果 coco 与 jumpserver 分开部署,请手动修改 conf.py 。我们这里先不做修改,使用最简单默认配置文件启动cocod

启动成功后去Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/terminal/)接受coco的注册






五、安装 Web Terminal 前端: Luna

> Luna 已改为纯前端,需要 Nginx 来运行访问。
> 访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包,直接解压,不需要编译


5.1、下载并解压Luna






六、安装 Windows 支持组件(如果不需要管理 windows 资产,可以直接跳过这一步)

因为手动安装 guacamole 组件比较复杂,这里提供打包好的 docker 使用, 启动 guacamole


6.1、 Docker安装 (仅针对CentOS7,CentOS6安装Docker相对比较复杂)

添加docker官方源


6.2、启动 Guacamole

> 这里所需要注意的是 guacamole 暴露出来的端口是 8081,若与主机上其他端口冲突请自定义。
> 注意:这里需要修改下 http://<填写jumpserver的url地址> 例: http://192.168.244.144, 否则会出错(这里下载有点慢,需要等待一会儿)。
> 不能使用 127.0.0.1 ,可以更换 registry.jumpserver.org/public/guacamole:latest

启动成功后去Jumpserver 会话管理-终端管理(http://192.168.244.144:8080/terminal/terminal/)接受[Gua]开头的一个注册






七、配置 Nginx 整合各组件

7.1、安装 Nginx 根据喜好选择安装方式和版本


7.2、准备配置文件

新增虚拟主机配置文件jumpserver.conf

检查nginx配置文件是否配置正常


7.3 运行 Nginx


7.4 开始使用 Jumpserver

检查应用是否已经正常运行

7.4.1、确定jumpserver已经运行,如果没有运行请重新启动jumpserver

7.4.2、确定jumpserver已经运行,如果没有运行请重新启动coco

7.4.3、检查容器是否已经正常运行,如果没有运行请重新启动Guacamole

服务全部启动后,访问 http://192.168.0.88,访问nginx代理的端口,不要再通过8080端口访问

默认账号: admin 密码: admin

如果部署过程中没有接受应用的注册,需要到Jumpserver 会话管理-终端管理 接受 Coco Guacamole 等应用的注册。


本片安装文档到此结束,Jumpserver初始配置及添加并连接资产请等待后续文章。谢谢!




Chen

健康 · 开心 · 做自己