1.Jumpserver简介
JumpServer 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议, 是符合 4A 的专业运维审计系统。
JumpServer 使用 Python / Django 进行开发, 遵循 Web 2.0 规范, 配备了业界领先的 Web Terminal 解决方案, 交互界面美观、用户体验好。
JumpServer 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。
JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。
1.特色优势
开源: 零门槛,线上快速获取和安装;
分布式: 轻松支持大规模并发访问;
无插件: 仅需浏览器,极致的 Web Terminal 使用体验;
多云支持: 一套系统,同时管理不同云上面的资产;
云端存储: 审计录像云端存储,永不丢失;
多租户: 一套系统,多个子公司和部门同时使用。
2.功能列表
2.JumpServer的部署
jumpserver容器化部署,主要分为三个部分,mysql数据库的容器化部署,redis的容器化部署,jumpserver容器的启动。为了更好的部署,保证数据的安全和服务的性能,一般建议就是mysql,redis,jumpserver分开部署,不部署在一台机器上。我这里为了演示方便,就把三个服务部署到一台机器上,其实我选择容器化部署的原因就是,可以在一台服务器进行部署,互不影响,jumpserver镜像集成了所需要的组件, 支持使用外置 Database 和 Redis。不用像非容器化部署一样,还需要安装一堆依赖组件。
1.环境要求
硬件配置: 2个CPU核心, 4G 内存, 50G 硬盘(最低)
操作系统: Linux 发行版 x86_64
Python= 3.6.x
Mysql Server ≥5.6Mariadb Server ≥5.5.56Redis
提前在服务器上安装好docker环境,可以参考我的其他文章,这里就不介绍了。
2.部署mysql容器服务
#从上面的环境要求我们看出,jumpserver依赖的外置数据库服务有版本要求,我们这里从官方容器仓库中直接拉取mysql5.7版本的镜像。
[root@jumpserver-no ~]# docker pull mysql:5.7#我们在宿主机上准备好mysql的配置文件和数据存放目录,后面mysql容器启动的时候直接挂载宿主机目录,使数据保存在宿主机,实现数据和容器的分离,
可以在容器运行异常时,可以再启动一个新的容器直接使用宿主机的数据,从而保证业务的正常运行。
[root@jumpserver-no ~]# mkdir /iflytek/mysql/mysql.conf.d -pv
[root@jumpserver-no ~]# mkdir /iflytek/mysql/conf.d -p
[root@jumpserver-no ~]# mkdir /iflytek/mysql/data
[root@jumpserver-no mysql]# cat /iflytek/mysql/mysql.conf.d/mysqld.cnf
# Copyright (c)2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program isfree software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designatedin a particular file or component or inincluded license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributedinthe hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License, version2.0, for moredetails.
#
# You should have received a copy of the GNU General Public License
# along with this program;if not, writeto the Free Software
# Foundation, Inc.,51 Franklin St, Fifth Floor, Boston, MA 02110-1301USA
#
# The MySQL Server configurationfile.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket