AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[mod-auth-ldap](server)

Martin Hope
SJWales
Asked: 2021-07-14 12:15:54 +0800 CST

HTTPD LDAP 身份验证不起作用

  • 0

第一次尝试这样做,我完全迷失了。

我有一个 Oracle Linux 7.9 服务器,它有一个需要通过 HTTP 共享给用户的目录,以便他们可以下载文件以发送给第三方。

我很容易让它对所有人可见和开放,但到目前为止我还无法让 LDAP 工作——它甚至不会提示我输入凭据。

我已经为:httpd、openldap、openldap-clients、nss_ldap 和 mod_ldap 进行了 yum 安装(根据网络上各种文章中的说明)。

我已经编辑了 /etc/httpd/conf/httpd.conf 并添加了

LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

(httpd 日志显示这些已经加载并且它无论如何都会跳过它)。

在 /etc/httpd/conf.d/interfaces.conf 我有以下(为了安全而编辑):

<VirtualHost *:80>

ServerAdmin [email protected]
  ServerName mywebserer
  ServerAlias x.x.x.x
  DocumentRoot /

  LogLevel warn
  ErrorLog "logs/interfaces_prd_webdav_error_log"
  CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/webdav_access_log.%Y-%m-%d-%H_%M_%S 5M" "%t %h  \"%r\" %>s %b"

  LimitXMLRequestBody 131072
  DavLockDB /var/lib/dav/lockdb

# ************************************************************

  <Directory "/directory/to/export">
    AuthType Basic
    AuthName "Use Your App Login"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://mydomain.local:389/ou=OU1,ou=MyBusiness,dc=mycompany,dc=local?sAMAccountName?sub?(objectClass=*)"
    AuthLDAPGroupAttributeIsDN on
    AuthLDAPBindDN "ldapsearchuser"
    AuthLDAPBindPassword "secret_password"
#    Require group cn=group,ou=Groups,dc=mycompany,dc=local
    Require valid-user
  </Directory>

  Alias /files /directory/to/export

  <Location /files>
    Dav on
    Order allow,deny
    Allow from all
    Require all granted
    Options +Indexes
  </Location>

</VirtualHost>

“要求组”被注释掉了,因为在这个阶段我只是试图获得初始凭证挑战并得到验证。

如果重要的话,我连接的服务器是 Linux OpenLDAP 服务器,而不是 Microsoft AD。

当我转到http://xxxx/files - 它只是给了我目录的内容,对凭据没有挑战。

我在最近一次访问后(删除现有日志后)检查了 /var/log/httpd 文件夹,并且没有将任何内容添加到任何日志文件中。

重新启动 httpd 时,error_log 显示:

[Tue Jul 13 17:07:00.277230 2021] [mpm_prefork:notice] [pid 11681] AH00170: caught SIGWINCH, shutting down gracefully
[Tue Jul 13 17:07:01.345552 2021] [suexec:notice] [pid 15751] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jul 13 17:07:01.357475 2021] [so:warn] [pid 15751] AH01574: module ldap_module is already loaded, skipping
[Tue Jul 13 17:07:01.357497 2021] [so:warn] [pid 15751] AH01574: module authnz_ldap_module is already loaded, skipping
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::221:f6ff:fe6e:9c69. Set the 'ServerName' directive globally to suppress this message
[Tue Jul 13 17:07:01.383713 2021] [lbmethod_heartbeat:notice] [pid 15751] AH02282: No slotmem from mod_heartmonitor
[Tue Jul 13 17:07:01.387200 2021] [mpm_prefork:notice] [pid 15751] AH00163: Apache/2.4.6 () configured -- resuming normal operations
[Tue Jul 13 17:07:01.387228 2021] [core:notice] [pid 15751] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

尝试通过浏览器访问目录时,我得到:

在 interfaces_prd_webdav_error_log 中(我不认为过分担心这个 atm):

[Tue Jul 13 17:07:20.015412 2021] [authz_core:error] [pid 15754] [client 10.1.7.44:55820] AH01630: client denied by server configuration: /favicon.ico, referer: http://172.17.9.21/files/

在 webdav_access_log 中:

[13/Jul/2021:17:07:19 -0400] 10.1.7.44  "GET /files/ HTTP/1.1" 200 1303
[13/Jul/2021:17:07:20 -0400] 10.1.7.44  "GET /favicon.ico HTTP/1.1" 403 213

任何人都可以提供任何建议吗?

提前致谢。

ldap openldap httpd.conf httpd mod-auth-ldap
  • 1 个回答
  • 368 Views
Martin Hope
azmeuk
Asked: 2020-07-29 02:07:52 +0800 CST

如何使用 mod_authnz_ldap 将 Apache 插入多个 ldap 服务器?

  • 0

apache mod_authnz_ldap AuthLDAPURL指令可以有几个 ldap URI,如文档中所示:

AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/dc=..."

但是,如果我需要不同 ldap 服务器的不同绑定信息(AuthLDAPBindDN和AuthLDAPBindPassword),我该如何实现呢?似乎每个人只能有一个。另外,如何将密码与 ldap URI 匹配?

apache-2.2 ldap apache-2.4 mod-auth-ldap
  • 1 个回答
  • 143 Views
Martin Hope
Gerald Schneider
Asked: 2017-01-12 02:05:58 +0800 CST

在 apache 上使用 ldap auth 调试超时

  • 5

几个月来,我一直在尝试调试 Apache 的超时问题。

该模式如下所示:

在新会话的每个第一个请求(或在最后一个请求之后的一段时间后)浏览器会立即要求提供凭据,然后使用基本身份验证发送请求。然后服务器在发送结果之前正好等待 1 分钟。

在此处输入图像描述

随后的请求会立即得到答复,这只发生在一段时间后的请求(尚无法准确定位,在 5 到 15 分钟之间)。

等待时间可精确重现 60 秒这一事实对我来说就像是超时。如果我取消请求并点击重新加载,我会立即获得请求的 URL。

由于密码提示也会立即出现,我可以排除客户端和服务器之间的 SSL 握手问题,或者那条腿上的 DNS 问题。如果我请求 PHP 脚本或空白文本文件并不重要,这也排除了服务器上的脚本问题。我猜验证过程的结果会被缓存一段时间,因此后续请求不需要它。

请注意,身份验证总是成功的,所以我也可以排除“域控制器没有回答”的问题。

Apache 2.4 在 Windows Server 2012 R2 上运行。它是为 LDAP 身份验证配置的:

<Location />
    AuthType Basic
    AuthName "AD Login"
    AuthBasicProvider ldap
    LDAPReferrals Off
    #AuthLDAPUrl ldap://dc01.domain.de:3268/dc=ad,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*)
    #AuthLDAPUrl ldap://ad.domain.de:389/dc=ad,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*) STARTTLS
    AuthLDAPUrl ldap://ad.domain.de:389/dc=ad,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*) TLS
    AuthLDAPBindDN "[email protected]"
    AuthLDAPBindPassword "secret"
    Require valid-user
    Require all denied
</Location>

如您所见,我尝试了与域控制器的不同连接类型,我使用哪种加密方法似乎并不重要,或者我是否传递加密。

ad.domain.de 解析到多个域控制器,但如果我连接到特定的 DC,行为是相同的。

错误日志中没有条目LogLevel info,我还在犹豫是否将其增加到debug,因为我从经验中知道我无法筛选生成的调试信息。

有什么我错过的东西可以用来调试问题,还是我必须通过调试级别日志记录?

active-directory timeout apache-2.4 mod-auth-ldap
  • 1 个回答
  • 7245 Views
Martin Hope
Simurr
Asked: 2010-01-27 10:06:13 +0800 CST

MacOS 服务器 (10.5) 上的 Apache LDAP 身份验证 (mod_auth_ldap)

  • 3

A - MacOS Server 10.5 中内置的 Apache 版本是否有 LDAP 身份验证模块 (mod_auth_ldap)?

(我很确定没有,但也许有人编译了一个。)

B - 如果没有,它可以编译成 MacOS 的 Apache 版本吗?

(伙计,那会很好。)

3 - 如果我不能为此使用 Apple 版本的 Apache,那么让 Apache LDAP 身份验证在 MacOS Server 10.5 上工作的最佳方法是什么?

(最好是与 MacOS Servers 管理软件配合使用的软件)

mac-osx-server apache-2.2 ldap mod-auth-ldap
  • 4 个回答
  • 6121 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve