当前位置:首页 > 技术分析 > 正文内容

【LDAP生产实战】JumpServer采用LDAP统一账户认证体系应用实践

ruisui882周前 (04-15)技术分析16

#文章首发挑战赛# #2023年度创作挑战#
统一认证系统:OpenLdap+Phpldapadmin搭建及应用

一文教你如何用Openssh和LDAP打造安全登录认证系统!

一文教你如何用OpenLDAP实现账户统一管理与TLS加密通信!

JumpServer

JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。

JumpServer 堡垒机支持的资产类型包括:

  • SSH (Linux / Unix / 网络设备 等)
  • Windows (Web 方式连接 / 原生 RDP 连接)
  • 数据库 (MySQL / MariaDB / Oracle / SQLServer / PostgreSQL / ClickHouse 等)
  • NoSQL (Redis / MongoDB 等)
  • GPT (ChatGPT 等)
  • 云服务 (Kubernetes / VMware vSphere 等)
  • Web 站点 (各类系统的 Web 管理后台)
  • 应用 (通过 Remote App 连接各类应用)

环境要求

OS/Arch

Architecture

Linux Kernel

Offline Name

linux/amd64

x86_64

>= 4.0

jumpserver-offline-installer-v3.9.3-amd64.tar.gz

linux/arm64

aarch64

>= 4.0

jumpserver-offline-installer-v3.9.3-arm64.tar.gz

linux/loong64

loongarch64

== 4.19

jumpserver-offline-installer-v3.9.3-loong64.tar.gz

yum update
yum install -y wget curl tar gettext iptables

内核检查

检查当前内核发现是3.10,需要升级到4.0以上

[root@localhost ~]# uname -r
3.10.0-862.el7.x86_64

内核升级

#导入仓库源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#安装 LT 版本
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
# 查看内核启动序号
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.265-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.105.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-4896cbe4842441d5812d660e7d69f2da) 7 (Core
# 设置启动序号
[root@localhost ~] grub2-set-default 0

# 重启
reboot

# 检查内核版本
[root@localhost ~]# uname -r
5.4.265-1.el7.elrepo.x86_64

安装部署

JumpServer 可以通过在线和离线安装,本文主要通过在线安装方式实现,

curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash

安装结果

[root@localhost ~]# jmsctl --help

JumpServer Deployment Management Script

Usage: 
  ./jmsctl.sh [COMMAND] [ARGS...]
  ./jmsctl.sh --help

Installation Commands: 
  install           Install JumpServer
  upgrade [version] Upgrade JumpServer
  check_update      Check for updates JumpServer
  reconfig          Reconfiguration JumpServer

Management Commands: 
  start             Start   JumpServer
  stop              Stop    JumpServer
  restart           Restart JumpServer
  status            Check   JumpServer
  down              Offline JumpServer
  uninstall         Uninstall JumpServer

More Commands: 
  load_image        Loading docker image
  backup_db         Backup database
  restore_db [file] Data recovery through database backup file
  raw               Execute the original docker-compose command
  tail [service]    View log
[root@localhost ~]# jmsctl status
NAME         IMAGE                                 COMMAND                  SERVICE   CREATED         STATUS                   PORTS
jms_celery   docker.io/jumpserver/core-ce:v3.9.3   "./entrypoint.sh sta…"   celery    6 minutes ago   Up 6 minutes (healthy)   8080/tcp
jms_chen     docker.io/jumpserver/chen:v3.9.3      "./entrypoint.sh"        chen      6 minutes ago   Up 6 minutes (healthy)   8082/tcp
jms_core     docker.io/jumpserver/core-ce:v3.9.3   "./entrypoint.sh sta…"   core      6 minutes ago   Up 6 minutes (healthy)   8080/tcp
jms_kael     docker.io/jumpserver/kael:v3.9.3      "./entrypoint.sh"        kael      6 minutes ago   Up 6 minutes (healthy)   8083/tcp
jms_koko     docker.io/jumpserver/koko:v3.9.3      "./entrypoint.sh"        koko      6 minutes ago   Up 6 minutes (healthy)   0.0.0.0:2222->2222/tcp, :::2222->2222/tcp, 5000/tcp
jms_lion     docker.io/jumpserver/lion:v3.9.3      "./entrypoint.sh"        lion      6 minutes ago   Up 6 minutes (healthy)   4822/tcp, 8081/tcp
jms_magnus   docker.io/jumpserver/magnus:v3.9.3    "./entrypoint.sh"        magnus    6 minutes ago   Up 6 minutes (healthy)   0.0.0.0:33061-33062->33061-33062/tcp, :::33061-33062->33061-33062/tcp, 0.0.0.0:63790->63790/tcp, :::63790->63790/tcp
jms_mysql    jumpserver/mariadb:10.6               "docker-entrypoint.s…"   mysql     8 minutes ago   Up 8 minutes (healthy)   3306/tcp
jms_redis    jumpserver/redis:6.2                  "docker-entrypoint.s…"   redis     8 minutes ago   Up 8 minutes (healthy)   6379/tcp
jms_web      docker.io/jumpserver/web:v3.9.3       "/docker-entrypoint.…"   web       6 minutes ago   Up 6 minutes (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp
  • 首次安装后需要修改配置文件,定义 DOMAINS 字段后即可正常使用
  • 如果服务器是一键安装并且旧版本就已经使用 JumpServer 开启了 HTTPS,则不需要进行任何更改。
  • 需要使用 IP 地址来访问 JumpServer 的场景,可以根据自己的 IP 类型来填写 config.txt 配置文件中 DOMAINS 字段为公网 IP 还是内网 IP。
  # 打开config.txt 配置文件,定义 DOMAINS 字段
  vim /opt/jumpserver/config/config.txt 

  # 可信任 DOMAINS 定义,
  # 定义可信任的访问 IP, 请根据实际情况修改, 如果是公网 IP 请改成对应的公网 IP,
  # DOMAINS="demo.jumpserver.org"    # 使用域名访问
  # DOMAINS="172.17.200.191"         # 使用 IP 访问
  # DOMAINS="demo.jumpserver.org,172.17.200.191"    # 使用 IP 和 域名一起访问
  DOMAINS=

相关命令

cd /opt/jumpserver-installer-v3.9.3

# 启动
./jmsctl.sh start

# 停止
./jmsctl.sh down

# 卸载
./jmsctl.sh uninstall

# 帮助
./jmsctl.sh -h

访问

地址: http://:<服务运行端口>
用户名: admin
密码: admin

LDAP认证方式配置

1、登录phpLDAPadmin 客户端新增用户

2、登录JumpServer :系统设置->认证设置->LDAP 进行配置。

测试连接提示测试成功

3、测试登录报错误,原因是刚配置完成未进行提交导致,测试登录必须先提交。

4、导入LDAP用户

5、同步设置,每日定时同步LDAP用户

校验

使用LDAP用户进行登录,在来源中可以明确LDAP,自此JumpServer采用LDAP统一账户认证体系的配置完成

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3491.html

分享给朋友:

“【LDAP生产实战】JumpServer采用LDAP统一账户认证体系应用实践” 的相关文章

vue组件间的九种通信方式

前言Vue组件实例间的作用域是相互独立的,而通常一个页面是由很多个组件构成,这些组件可能又嵌套了组件,形成了一个关系网图,它们的关系可能是像下图中一样,大致分为两种使用场景,父子组件间通信和非父子组件间通信,父子组件间通信又分为直接父子关系和间接父子关系。vue提供了多种通信方法,针对不同的通信需求...

三维家-系统快捷键使用

快键件使用:通过简单的键盘+鼠标操作,快速完成搭配。1.基础快捷键1) Ctrl+V:复制选中对象第一步:鼠标左击物体,按下Ctrl+V 即可复制选中对象。2) Ctrl+G:组合多选对象第一步:按住Ctrl键多选对象--按住Ctrl+G--确定。3) Ctrl+B:解组选中对象第一步:左击选中对象...

Python中的11 种数组算法

1. 创建数组 创建数组意味着留出一个连续的内存块来存储相同类型的元素。在大多数语言中,您可以在创建数组时指定数组的大小。假设您正在书架上整理一组书籍,并且您需要为正好 10 本书预留空间。功能架上的每个空间都对应于数组中的一个索引。# Example in Python arr = [1, 2,...

vue3使用vue-router路由(路由懒加载、路由传参)

vue-router 是 vue的一个插件库1. 专门用来实现一个SPA单页面应用2 .基于vue的项目基本都会用到此库SPA的理解1) 单页Web应用(single page web application,SPA)2) 整个应用只有一个完整的页面3) 点击页面中的链接不会刷新页面, 本身也不会向...

分享15个基于Vue3.0全家桶的优秀开源项目

大家好,我是 Echa。今天来分享 15 个基于 Vue3.0 全家桶的优秀开源项目!1. Vue Admin Bettergithub : https://github.com/chuzhixin/vue-admin-bettervue admin better 对比其他来源 admin 框架有如...

Vue实现动态路由

通常我们在vue项目中都是前端配置好路由的,但在一些项目中我们可能会遇到权限控制,这样我们就涉及到动态路由的设置了。动态路由设置一般有两种:(1)、简单的角色路由设置: 比如只涉及到管理员和普通用户的权限。通常直接在前端进行简单的角色权限设置(2)、复杂的路由权限设置: 比如OA系统、多种角色的权限...