发布时间:2024-12-18 人气:164次
系统介绍———JumpServer是一款广受欢迎的开源堡垒机,也是符合4A(认证Authentication、授权Authorization、账号Account、审计Auditing)规范的专业运维安全审计系统。| 主要功能
集中管理:所有的远程连接都通过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格式。
安装&使用
——————Docker部署操作步骤:安装Docker、编写配置文件、启动容器。操作系统为腾讯云服务器Ubuntu。
| 安装docker
sudo apt updatesudo 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: - jumpservernetworks: jumpserver: driver: bridge
启动容器
sudo docker-compose up -d服务启动后,在浏览器访问 http://IP即可。用户名和密码分别是admin与ChangeMe