星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

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

#文章首发挑战赛# #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://<JumpServer服务器IP地址>:<服务运行端口>
用户名: admin
密码: admin

LDAP认证方式配置

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

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

测试连接提示测试成功

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

4、导入LDAP用户

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

校验

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

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言