JumpServer的Docker部署实战案例
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.JumpServer概述
1>.什么是JumpServer
JumpServer是全球首款完全开源的堡垒机, 使用GNU GPL v2.0开源协议, 是符合4A的专业运维审计系统。 JumpServer使用Python/Django进行开发, 遵循Web 2.0规范, 配备了业界领先的Web Terminal解决方案, 交互界面美观、用户体验好。 JumpServer采纳分布式架构, 支持多机房跨区域部署, 中心节点提供API, 各机房部署登录节点, 可横向扩展、无并发访问限制。 JumpServer现已支持管理 SSH、Telnet、RDP、VNC 协议资产。 温馨提示(4A机制如下所示): 身份认证(Authentication): 支持LDAP/AD,支持OpenID,支持MFA等。 账号管理(Account): 支持账号集中管理、密码统一管理、资产用户收集等。 授权控制(Authorization): 支持资产授权、应用授权、动作授权、时间授权、特权授权等。 安全审计(Audit): 支持操作审计、会话审计、录像审计、指令审计和文件传输审计等。
2>.JumpServer的特点
开源
零门槛,线上快速获取和安装
分布式
轻松支持大规模并发访问
云端存储
审计录像云端存储,永不丢失
无插件
仅需浏览器,极致的Web Terminal使用体验
多云支持
一套系统,同时管理不同云上面的资产
多租户
一套系统,多个子公司和部门同时使用
3>.博主推荐阅读
官网地址: https://jumpserver.org/ 官方文档: https://jumpserver.readthedocs.io/zh/master/
二.JumpServer环境准备
1>.JumpServer的部署方式说明
不得不说JumpServer官方提供的部署方式真的非常Nice(其实我内心想说的是花里胡哨)。不过官网推荐首次安装的用户使用"极速安装"或者"docker 快速部署"其它的部署文档需要非常强的动手能力, 部署过程中你会面临各种各样的问题。 极速部署: https://jumpserver.readthedocs.io/zh/master/install/setup_by_fast/ Docker部署: https://jumpserver.readthedocs.io/zh/master/install/docker_install/ 标准部署: https://jumpserver.readthedocs.io/zh/master/install/step_by_step/ 分布式部署: https://jumpserver.readthedocs.io/zh/master/install/setup_by_prod/ ansible部署: https://jumpserver.readthedocs.io/zh/master/install/ansible_install/ 卸载文档: https://jumpserver.readthedocs.io/zh/master/install/uninstall/ 博主推荐阅读: https://jumpserver.readthedocs.io/zh/master/admin-guide/quick_start/ https://jumpserver.readthedocs.io/zh/master/user-guide/assets/user-asset/
2>.安装docker环境
博主推荐阅读: CemtOS环境: https://www.cnblogs.com/yinzhengjie/p/12178843.html Ubuntu环境: https://www.cnblogs.com/yinzhengjie/p/12182645.html
3>.安装数据库
博主推荐阅读: MySQL/MariaDB数据库安装: https://www.cnblogs.com/yinzhengjie/p/11733897.html Redis数据库安装: https://www.cnblogs.com/yinzhengjie/p/10555893.html
三.基于Docker方式快速部署JumpServer
1>.下载JumpServer镜像到本地(方便启动镜像)
[root@yinzhengjie.com ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE [root@yinzhengjie.com ~]# [root@yinzhengjie.com ~]# docker pull jumpserver/jms_all:latest latest: Pulling from jumpserver/jms_all ab5ef0e58194: Pull complete 193b02679001: Pull complete a47baeaf6bd3: Pull complete 98d1e2ae778f: Pull complete 56bc08e705a4: Pull complete bb7ad882de98: Pull complete Digest: sha256:a82e17c70a27099dc510ef4cb079467be67cfca96f849ccd0a7728937b38c977 Status: Downloaded newer image for jumpserver/jms_all:latest docker.io/jumpserver/jms_all:latest [root@yinzhengjie.com ~]# [root@yinzhengjie.com ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE jumpserver/jms_all latest aebdcad38356 11 days ago 1.48GB [root@yinzhengjie.com ~]#