Docker使用Jumpserver搭建一个安全的堡垒机系统

 更新时间:2025年04月08日 10:47:59   作者:拾荒的小海螺  
堡垒机作为一种重要的安全工具,能够有效地管理服务器访问权限,并提供会话审计功能,以保障系统的安全性和稳定性,本文将介绍Jumpserver,并指导如何搭建和配置Jumpserver来实现安全的堡垒机管理,需要的朋友可以参考下

1、简述

在当今的信息化环境中,随着企业规模的扩大和系统复杂性的增加,安全性和权限管理变得尤为重要。堡垒机作为一种重要的安全工具,能够有效地管理服务器访问权限,并提供会话审计功能,以保障系统的安全性和稳定性。本文将介绍Jumpserver,一款基于MySQL数据库的开源堡垒机解决方案,并指导如何搭建和配置Jumpserver来实现安全的堡垒机管理。

2、优点

Jumpserver 是一款开源的堡垒机系统,具有许多优点,使其成为管理服务器权限和会话审计的理想选择。以下是 Jumpserver 的一些优点:

  • 安全性高
    Jumpserver 提供了严格的权限控制和身份验证机制,包括用户认证、角色管理、多因素认证等,能够确保系统的安全性,防止未授权的访问和操作。

  • 操作便捷
    Jumpserver 提供了直观的 Web 界面和丰富的功能,使得管理员可以轻松地管理服务器的访问权限和会话记录,而无需深入了解复杂的命令行操作。

  • 支持多种认证方式
    Jumpserver 支持多种认证方式,包括 LDAP、本地账户、第三方认证等,可以与现有的身份验证系统集成,方便用户进行统一身份认证。

  • 会话审计功能
    Jumpserver 提供了完善的会话审计功能,可以记录和监控用户在服务器上的操作记录,包括命令输入、文件操作等,帮助管理员更好地了解系统使用情况和安全事件。

  • 可扩展性强
    Jumpserver 的架构设计灵活,支持多种部署方式,可以根据实际需求进行灵活配置和扩展,适应不同规模和复杂度的组织需求。

  • 社区活跃
    Jumpserver 是一款开源项目,拥有一个活跃的开发和用户社区,可以及时获取技术支持、Bug修复和新功能开发,保障系统的稳定性和功能更新。

  • 跨平台支持
    Jumpserver 支持多种操作系统和平台,包括 Linux、Windows、Mac 等,可以在不同的环境中部署和运行,满足不同用户的需求。

  • 免费开源
    Jumpserver 是一款完全免费的开源软件,无需支付任何费用即可使用和修改,具有较高的灵活性和可定制性。

综上所述,Jumpserver 是一款功能强大、安全可靠的堡垒机系统,具有许多优点,适合用于各种规模和复杂度的组织中,帮助管理员轻松管理服务器权限和会话审计。

3、安装

Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制

硬件要求​:

4Core/8GB RAM/300G HDD

3.1 安装MySQL

在终端中执行以下命令拉取 MySQL 官方镜像:

docker pull mysql

运行以下命令创建并启动 MySQL 容器:

mkdir -p /data/mysql/data

docker run -d --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=admin123  -p 3306:3306 -v /data/mysql/data:/var/lib/mysql mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

运行以下命令创建数据库:

docker exec -it mysql /bin/bash
mysql -u root -padmin123
mysql> create database jumpserver default charset 'utf8mb4';
mysql> GRANT ALL PRIVILEGES ON jumpserver.* TO 'root'@'%';
mysql> flush privileges;
mysql> exit;

3.2 安装Redis

在终端中执行以下命令拉取 Redis 官方镜像:

docker pull redis

运行以下命令创建并启动 Redis 容器:

mkdir -p /data/redis/data

docker run -d -it --name redis -p 6379:6379 -v /data/redis/data:/data --restart=always  --sysctl net.core.somaxconn=1024  redis:latest --requirepass "123456"

3.3 安装Jumpserver

在终端中执行以下命令拉取 Jumpserver官方镜像:

docker pull jumpserver/jms_all

在终端创建映射的目录:

mkdir -p /data/jumpserver

终端生成SECRET_KEY随机秘钥:

if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi

终端生成TOKEN随机秘钥:

if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

运行docker run指令启动容器:

docker run -d --name jumpserver -h jumpserver --restart=always  \
    -v /data/jumpserver:/opt/jumpserver/data/media \
    -p 80:80 \
    -p 2222:2222 \
    -e SECRET_KEY=dzyzZrDWAeZF5QDgKBl8uqs8H5dOZVlJmTg6R0dEsojhum7OMO \
    -e BOOTSTRAP_TOKEN=xezlBxLpNG51LSBi \
     -e DB_ENGINE=mysql \ #指定数据库
    -e DB_HOST=192.168.254.138 \
    -e DB_PORT=3306 \
    -e DB_USER=root \
    -e DB_PASSWORD="admin123" \
    -e DB_NAME=jumpserver \
    -e REDIS_HOST=192.168.254.138 \
    -e REDIS_PORT=6379 \
    -e REDIS_PASSWORD="123456" \
jumpserver/jms_all:latest 

首次访问,默认账号和密码:admin/ChangeMe,会提示修改密码:

4、结语

通过本文的介绍,你已经了解了如何使用Jumpserver来搭建一个安全的堡垒机系统,并实现服务器权限管理和会话审计。Jumpserver作为一款开源的堡垒机解决方案,具有强大的功能和灵活的配置,能够满足各种规模的组织需求,帮助提高系统安全性和管理效率。

以上就是Docker使用Jumpserver搭建一个安全的堡垒机系统的详细内容,更多关于Docker Jumpserver堡垒机系统的资料请关注脚本之家其它相关文章!

相关文章

  • docker安装postgresql的图文教程

    docker安装postgresql的图文教程

    PostgreSQL也称为 Postgres,是领先的对象关系数据库系统,下面这篇文章主要给大家介绍了关于docker安装postgresql的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • docker安装geoserver的方法步骤

    docker安装geoserver的方法步骤

    GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,本文主要介绍了docker安装geoserver的方法步骤,感兴趣的可以了解一下
    2024-08-08
  • Docker安装RabbitMQ的超详细步骤

    Docker安装RabbitMQ的超详细步骤

    RabbitMQ是一套开源的消息队列服务软件,是由LShift提供的一个 Advanced Message Queuing Protocol的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,这篇文章主要给大家介绍了关于Docker安装RabbitMQ的超详细步骤,需要的朋友可以参考下
    2022-08-08
  • Docker数据存储之Volumes详解

    Docker数据存储之Volumes详解

    今天小编就为大家分享一篇关于Docker数据存储之Volumes详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • docker打包前端镜像的超详细步骤

    docker打包前端镜像的超详细步骤

    要打包前端项目可以使用 Docker 容器技术,下面这篇文章主要给大家介绍了关于docker打包前端镜像的超详细步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • docker打包python镜像的全教程分享

    docker打包python镜像的全教程分享

    Docker是一种开源的容器化平台,可以让开发者将应用程序和其依赖项打包到一个可移植的容器中,然后在不同的环境中运行,本文主要给大家介绍了docker打包python镜像全教程,需要的朋友可以参考下
    2024-02-02
  • Docker搭建svn的方法步骤

    Docker搭建svn的方法步骤

    本文主要介绍了Docker搭建svn的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 一篇文章弄懂Docker镜像的制作、上传、拉取和部署

    一篇文章弄懂Docker镜像的制作、上传、拉取和部署

    Docker包含三个基本概念,分别是镜像(Image)、容器(Container)和仓库(Repository),镜像是 Docker 运行容器的前提,这篇文章主要给大家介绍了如何通过一篇文章弄懂Docker镜像的制作、上传、拉取和部署的相关资料,需要的朋友可以参考下
    2021-08-08
  • Docker入门教程之本地打包docker镜像教程

    Docker入门教程之本地打包docker镜像教程

    Docker镜像是一个特殊的文件系统,既提供了运行时所需的程序、库和资源,还提供了相应的配置参数,只是不包含动态数据,下面这篇文章主要给大家介绍了关于Docker入门教程之本地打包docker镜像的相关资料,需要的朋友可以参考下
    2023-06-06
  • 解决docker容器中出现Access denied for user 'root'@'172.17.0.2'(using password: YES)问题

    解决docker容器中出现Access denied for user &apo

    这篇文章主要介绍了解决docker容器中出现Access denied for user 'root'@'172.17.0.2'(using password: YES)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论