侧边栏壁纸
博主头像
拾荒的小海螺博主等级

只有想不到的,没有做不到的

  • 累计撰写 140 篇文章
  • 累计创建 15 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
OPS

Docker:使用Jumpserver实现安全的堡垒机管理

拾荒的小海螺
2024-05-03 / 0 评论 / 0 点赞 / 12 阅读 / 5452 字

1、简述

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

1714739705459.jpg

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_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/admin,会提示修改密码:

1714739736410.jpg

4、结语

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

希望本文对你有所帮助,祝你在使用Jumpserver时能够顺利运行!

0

评论区