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作为一款开源的堡垒机解决方案,具有强大的功能和灵活的配置,能够满足各种规模的组织需求,帮助提高系统安全性和管理效率。
希望本文对你有所帮助,祝你在使用Jumpserver时能够顺利运行!
评论区