| 主要功能
集中管理:所有的远程连接都通过JumpServer来进行,方便集中管理和审计。
安全性:通过双因素认证、加密传输、访问控制等技术,增强远程访问的安全性。
日志审计:所有用户的操作都可以被记录下来,便于审计和追溯。
权限管理:根据用户角色进行精细化的权限控制,确保只有授权用户才能访问特定资源。
统一访问管理:堡垒机作为一个统一的访问管理平台,可以控制多个服务器的访问,避免直接暴露各个服务器的登录入口。
身份验证:支持LDAP/AD认证、CAS认证、Passkey认证、RADIUS认证、单点系统对接(OpenID、OAuth认证、SAML2认证)、SSO对接、扫码登录(企业微信、钉钉和飞书)等多种认证方式。
资产管理:支持管理SSH Linux/Unix/网络设备、Windows、数据库(MySQL/Oracle/SQLServer/PostgreSQL等)、Kubernetes等各种类型的资产。
组织管理:实现多组织管理与权限隔离。
工单管理:支持对用户登录行为进行控制,支持资产授权工单申请,支持二级审批流程。
| 核心组件
Core:JumpServer的核心组件,其他组件依赖此组件启动。
Lina:JumpServer的web页面组件。
Luna:web终端组件,相当于网页版的xshell。
Koko:服务于类Unix资产平台的组件,通过SSH、Telnet协议提供字符型连接。
Lion:服务于Windows资产平台的组件,用于Web端访问Windows资产。
XRDP:服务于RDP协议组件,通过JumpServer Client方式访问如Windows 2000、XP等系统的资产。
Razor:也是服务于RDP协议组件,JumpServer Client默认使用Razor组件访问Windows资产。
Magnus:服务于数据库的组件,用于通过客户端代理访问数据库资产。
Kael:服务于GPT资产平台的组件,用于纳管ChatGPT资产。
Chen:服务于数据库的组件,用于通过Web GUI方式访问数据库资产。
Celery:处理异步任务的组件,用于执行JumpServer相关的自动化任务。
Video:专门处理Razor组件和Lion组件产生的录像的格式转换工作,将产生的会话录像转化为MP4格式。
如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。
官方文档
https://docs.jumpserver.org/zh/v4/
Docker镜像 https://hub.docker.com/r/jumpserver/jms_all
GitHub地址 https://github.com/jumpserver/jumpserver
安装&使用
Docker部署操作步骤:安装Docker、编写配置文件、启动容器。操作系统为腾讯云服务器Ubuntu。
| 安装docker
sudo apt update
sudo apt install -y docker.io docker-compose
| 编写配置文件docker-compose.yml
version: '3'
services:
mysql:
image: mysql:5.7
container_name: jms_mysql
hostname: jms_mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: '123456'
MYSQL_USER: 'jumpserver'
MYSQL_PASSWORD: '123456'
MYSQL_DATABASE: 'jumpserver'
MYSQL_CHARSET: 'utf8mb4'
MYSQL_COLLATION: 'utf8mb4_unicode_ci'
TZ: 'Asia/Shanghai'
LANG: 'en_us.UTF-8'
command: ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
volumes:
- /data/docker/jumpserver/mysql/data:/var/lib/mysql
- /data/docker/jumpserver/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf
ports:
- "3306:3306"
networks:
- jumpserver
redis:
image: redis:6.2.6
container_name: jms_redis
hostname: jms_redis
ports:
- "6379:6379"
volumes:
- /data/docker/jumpserver/redis/data:/data
- /data/docker/jumpserver/redis/conf/redis.conf:/etc/redis/redis.conf
command: redis-server /etc/redis/redis.conf
networks:
- jumpserver
jms_all:
image: jumpserver/jms_all
container_name: jms_all
ports:
- "80:80"
- "2222:2222"
environment:
SECRET_KEY: ${SECRET_KEY}
BOOTSTRAP_TOKEN: ${BOOTSTRAP_TOKEN}
LOG_LEVEL: ERROR
DB_HOST: jms_mysql
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD: 123456
DB_NAME: jumpserver
REDIS_HOST: jms_redis
REDIS_PORT: 6379
REDIS_PASSWORD: 123456
privileged: true
depends_on:
- mysql
- redis
volumes:
- /data/docker/jumpserver/core/data:/opt/jumpserver/data
- /data/docker/jumpserver/koko/data:/opt/koko/data
- /data/docker/jumpserver/lion/data:/opt/lion/data
- /data/docker/jumpserver/kael/data:/opt/kael/data
- /data/docker/jumpserver/chen/data:/opt/chen/data
- /data/docker/jumpserver/web/log:/var/log/nginx
networks:
- jumpserver
networks:
jumpserver:
driver: bridge
| 启动容器
sudo docker-compose up -d
更多内容也可看笔者出版图书!