针对这一需求,基于 Apache 可以有更加简便的方案,如下图所示: 如上图所示,基于 Apache 的解决方案主要包含以下三点: 利用 Apache 与 LDAP 或其他用户系统集成来验证权限; 如直接使用下面笔者构建的 zhonger/ldap-apache 镜像,可以忽略。 maintainer="zhonger zhonger@live.cn" # Enable ldap for apache2 COPY conf/ldap-demo.conf /etc/apache2 -t zhonger/ldap-apache 命令构建 Docker 镜像。 (采用 CC BY-NC-SA 4.0 许可协议进行授权) 本文标题:《 LDAP 集成之 Apache 篇 》 本文链接:https://lisz.me/tech/webmaster/ldap-apache.html
Apache 中可以通过mod_authz_ldap 模块为LDAP 提供了良好的的支持。 (1)安装Aache 支持LDAP 身份验证的模块 #yum –y install mod_authz_ldap (2) 编辑/etc/httpd/conf.d/authz_ladp.conf 文件,在 <IFModule mod_authz_ldap.c>语句下增加一下内容(假设:/var/phpmyadmin 目录存放的网站使用LDAP身份验证)。 dc=example,dc=com AuthzLDAPUserKey uid AuthzLDAPUserScope base AuthType basic AuthName “This is Test LDAP
精美礼品等你拿!
首先是Apache+SVN的安装与配置。本人使用Virtualbox创建了一个虚拟机,所以接下来的环境搭建均在虚拟机CentOS上实现。 1、Apache的安装 网上有很多教程都是使用源码安装的方式,但安装起来稍显复杂,容易将像我这样的初学者搞晕,所以我就采用了yum工具(CentOS系统下是yum,Ubuntu系统是apt-get、 、、) CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm 2、Subversion的安装 安装完mod_dav_svn之后,目录/etc/httpd/conf.d/下就多了一个subversion的配置文件: 3、配置Apache 添加 这里定义所有的版本库均使用这个文件进行用户权限的管理 4、配置LDAP 配置文件/etc/httpd/conf.d/subversion.conf 此处的配置请参考LDAP的资料,这里的好多东西我也不是太懂
最近项目中加入LDAP认证方式,那么问题来了,在网站上创建用户的时候,要将用户同步到LDAP服务器上。看了一下python-ldap的文档,实现了对ldap服务器上的用户实现增删改查。 import ldap from rest_framework.exceptions import APIException, ValidationError class MyLdap(object = None self.ldap_connect(bind_name, bind_passwd) def ldap_connect(self, bind_name='', : raise APIException("无法连接到LDAP") except ldap.INVALID_CREDENTIALS: raise = 97: # 97 表示success raise APIException(rest[1]) self.ldap_obj = conn def ldap_search
1.下载客户端软件 可以更方便的看清目录结构 Apache Directory Studio 2.搭建springboot工程 3.引入jar包 <dependency> <groupId>org.springframework.boot </groupId> <artifactId>spring-boot-starter-data-ldap</artifactId> </dependency> 4.配置文件 spring.ldap.urls =ldaps://ip:636(ldap://ip:389) spring.ldap.base=windows(OU=vvv,DC=qq,DC=hh,DC=com) 和 Linux (DC=qq,DC= hh,DC=com)有点区别 spring.ldap.username=windows(主机用户名@根域名) 和 Linux(cn=admin,dc=qq,dc=hh,dc=com) spring.ldap.password private String accountName; // 真实用户名 @Attribute(name = "sn") private String userName; // 密码 加密后的 根据ldap
install openldap-servers openldap-clientscp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap /DB_CONFIGchown ldap. /var/lib/ldap/DB_CONFIGsystemctl enable slapdtar zcvf schema.tgz schema/systemctl stop slapd.service -a /data/backup/openldap/DB_CONFIG /var/lib/ldap/ chown ldap:ldap -R /var/lib/ldapsystemctl start slapd /bin/bash#author: xiaomao# 说明:备份ldap# date: 20190603 date_str=$(date +%Y%m%d)backup_dir="/opt/.backup
1、LDAP概述 1.1LDAP简介 LDAP的英文全称是Lightweight Directory Access Protocol,简称为LDAP。 LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。 LDAP是一个存储静态相关信息的服务,适合“一次记录多次读取”。LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。 LDAP中的条目既可以是数据同时也可以兼任目录的角色。 第三是节点命名方式的不同。LDAP名称与文件系统名称的方向是相反的。 基本认证(简单密码) 当LDAP客户进程和服务进程之间建立连接时,会协商安全机制,这是在LDAP应用程序接口(API)中指定的方法。除了根本不使用认证之外,最简单的LDAP安全机制是基本认证。
LDAP 的特点 LDAP 是一种网络协议而不是数据库,而且LDAP的目录不是关系型的,没有RDBMS那么复杂, LDAP不支持数据库的Transaction机制,纯粹的无状态、请求-响应的工作模式。 LDAP不能存储BLOB,LDAP的读写操作是非对称的,读非常方便,写比较麻烦, LDAP支持复杂的查询过滤器(filter),可以完成很多类似数据库的查询功能。 3.LDAP支持很多复杂的查询方式。 4.LDAP的用途较NIS更为广泛,各种服务都可以和LDAP挂钩。 LDAP 的主要应用场景 .网络服务:DNS服务 2.统一认证服务: 3.Linux PAM (ssh, login, cvs. . . ) 4.Apache访问控制 5.各种服务登录(ftpd, php Spring Data 提供了基于 LDAP 协议访问的 API,需要注意的是,在开发的时候需要将 LDAP 认为是一个数据库,只是与普通数据库不同的是,LDAP 使用的是 LDAP 的协议。
objectclass: person objectclass: organizationalPerson sn:Person cn:Some-Person 添加entry时,如果父级目录不存在,也通常会返回“ldap_add 导入 ldapadd -x -D "cn=admin,dc=windcoder,dc=com" -W -f test1.ldif 输入Ldap登录密码(即rootpw被加密之前的原始密码)后出现类似如下提示而不报错即可 top objectClass: person objectClass: organizationalPerson sn: Person cn: Some-Person ou: User 放行端口 ldap
检查有关 NTLM 身份验证中继的 LDAP 保护 概括 尝试在域控制器上中继 NTLM 身份验证 LDAP 时,有几个服务器端保护。 此工具尝试枚举的 LDAP 保护包括: LDAPS -通道绑定 LDAP -服务器签名要求 可以从未经身份验证的角度确定通过 SSL/TLS 对 LDAP 执行通道绑定。 这是因为在 LDAP 绑定过程中验证凭据之前,将发生与缺少正确执行通道绑定能力的 LDAP 客户端相关的错误。 但是,要确定是否强制执行标准 LDAP 的服务器端保护(服务器签名完整性要求),必须首先在 LDAP 绑定期间验证客户端凭据。识别执行此保护的潜在错误是从经过身份验证的角度识别的。 =False, port=389, get_info=ldap3.ALL) ldapConn = ldap3.Connection(ldapServer, authentication=ldap3
LDAP在TCP/IP之上定义了一个相对简单的升级和搜索目录的协议。 LDAP基于X.500标准的子集。因为这个关系,LDAP有时被称为X.500-lite。 ——维基百科 附最近一款搜索工具的LDAP结果,描述的很到位。 ? 快速搭建LDAP应用 由于这个协议和概念抽象且难以理解,我建议搭建一个LDAP应用帮助理解。 配置LDAP组织者:–env LDAP_ORGANISATION=”xiaowu” 配置LDAP域:–env LDAP_DOMAIN=”wuhash.ml” 配置LDAP密码:–env LDAP_ADMIN_PASSWORD 在ldap服务器上创建一个在开发组的张三用户。 ? 在本地机器PGina中进行配置,启用LDAP并配置LDAP ? 调整优先级 ? pGina可进行登录测试 ? sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y #这里会弹出图形界面配置LDAP sudo vim /etc/nsswitch.conf
1、登录git部署主机 2、修改gitlab配置文件 vim /etc/gitlab/gitlab.rb,打开配置文件 ldap_sync_work_cron ldap_group_sync_work_cron gitlab_rails['ldap_enabled'] = true ###! **remember to close this block with 'EOS' below** gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' main : # 'main' is the GitLab 'provider ID' of this LDAP server label: 'LDAP' host: '172.21.16.44' port: 389 kingxunlian,dc=com' sync_ssh_keys: false EOS 3、完成后重启gitlab gitlab-ctl reconfigure gitlab-rake gitlab:ldap
docker_user at email.com> (@docker_user) MAINTAINER memoryboxes memoryboxes@gmail.com # Commands to add ldap no/g' /etc/ssh/sshd_config && \ echo "xxxxxxx" | passwd --stdin root && \ yum -y install pam_ldap.so /bin/bash set -e echo "x.x.x.x ldap.xxx.com.cn" >>/etc/hosts authconfig --enableldap --enableldapauth --ldapserver=ldap.xxx.com.cn --ldapbasedn="dc=xxx,dc=com,dc=cn" --enablemkhomedir --enableldaptls --
LDAP 具有两个国家标准,分别是X.500 和LDAP。 大数据平台,LDAP和kerberos的统一账户管理和认证是必不可少的。通过Openldap来搭建LDAP服务器。 1. 修改权限 chown -R ldap.ldap /etc/openldap chown -R ldap.ldap /var/lib/ldap 5. slapd.conf配置文件如下 # egrep - -F/etc/openldap/slapd.d 修改权限,这个很重要,不然后面会报错 chown -R ldap:ldap /etc/openldap/slapd.d 每次修改都需要重启ldap service LDAP创建成功之后,需要创建数据。由于我是迁移数据过来,只是将生产的ldap数据导出导入。 ldap数据备份的方式有两种:一种是通过ldapsearch ,一种是通过slapcat命令。
1、搭建jenkins 2、使用管理员账号登录-【系统管理】-【Configure Global Security】-【访问控制】 3、选择ldap,添加ldap的对应信息 image.png 4. 针对ldap的用户组,设置不同权限: 【系统管理】-【Configure Global Security】-【授权策略】 添加ldap的组,并修改对应权限
从用途上阐述LDAP,它是一个存储静态相关信息的服务,适合“一次记录多次读取”。 LDAP目录条目(Directory Entry)简述 从Object Classes谈起 在LDAP目录数据库中,所有的条目都必须定义objectClass这个属性。 这里要着重指出的是,在LDAP的Entry中是不能像关系数据库的表那样随意添加属性字段的,一个Entry的属性是由它所继承的所有Object Classes的属性集合决定的,此外可以包括LDAP中规定的 LDAP提供了几种分组机制,使得信息管理更富有弹性。 LDAP 目录搜索 LDAP搜索是目录服务最常用的功能之一。在LDAP服务中搜索要用到相应的Filter语句。Filter语句由3个部分组成: 1.
1、进入jira用户管理页面 2、选择ldap,进入ldap配置页面 image.png 3、高级设置 4、配置用户模式 5、设置组模式 6、设置成员模式 这里ldap一定要存在与ladp
(相比于DAP) 说到存储和搜索,那么我们应该可以想到关系型数据库和SQL语句,LDAP 和 SQL语句是同一个作用,只不过是语法有些不一样而已 端口 tcp/udp 389 3268 利用方法 1 如果在我们已知目标的账号和密码,而目标没有开放smb服务的时候,如果开放了LDAP,我们就可以直接连接这个服务,从而获取一定的信息 2. LDAP注入 讲述LDAP注入之前还是要先了解一下关于LDAP的查询相关的知识吧 可以类比着SQL语句来将,和SQL语句一样都是通过过滤器指定内容来进行筛选查询 1. 此时第一想法应该就是使用注释截断,不过LDAP似乎并没有注释符号 我们可以输入 *))%00 眼熟吧! =* *))%00 ---- 以上便是针对LDAP的攻击姿势。
在这篇文章中,我们解释了我们如何能够识别并利用OpenAM访问管理服务器平台中的LDAP注入漏洞。 维基百科 LDAP注入 LDAP注入是一种攻击,用于利用基于用户输入构建LDAP语句的网络应用。 当一个应用程序不能正确地对用户输入进行消毒时,就有可能通过类似于SQL注入的技术来修改LDAP语句。 漏洞详情 该漏洞是在OpenAM提供的密码重置功能中发现的。 当用户试图重置密码时,会被要求输入用户名,然后后台通过LDAP查询验证用户是否存在,然后再将密码重置令牌发送到用户的邮箱。 这表明它可能容易受到LDAP注入。 将PWResetUserValidation.tfUserAttr参数的值设置为*)|(objectclass=*返回同样的错误,这意味着查询返回的用户不止一个。
云数据仓库Doris(cdwdoris)为您提供基于 MPP(大规模并行处理)架构的云端Doris托管服务,拥有开箱即用,弹性易扩展等特性。云数据仓库 Doris支持标准SQL语言,兼容MySQL协议,支持对PB级的海量数据进行高并发查询,和亚秒级的快速分析,帮助您轻松应对多种ETL数据处理和业务探索场景。
扫码关注腾讯云开发者
领取腾讯云代金券