OpenVPN auth-ldap не может найти пользователя в группе, но ldapsearch может его найти

Я могу найти пользователя без проблем:

ldapsearch -h ldap.my.server.name -b "cn=vpnusers,ou=groups,dc=example,dc=com" -x "memberUid=myusername"

Результаты:

# extended LDIF
#
# LDAPv3
# base <cn=vpnusers,ou=groups,dc=example,dc=com> with scope subtree
# filter: memberUid=myusername
# requesting: ALL
#

# vpnusers, groups, example.com
dn: cn=vpnusers,ou=groups,dc=example,dc=com
gidNumber: 10000
description: Group account
cn: vpnusers
objectClass: posixGroup
memberUid: myusername
memberUid: someuser

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Итак, я знаю, что запись есть и доступна для поиска. Однако теперь я пытаюсь выполнить поиск в этой группе с помощью openvpn, используя плагин auth-ldap

Вот мой auth-ldap.conf, который отлично работает (когда RequireGroup = false :

<LDAP>
        URL             ldap://ldap.my.server.name
        Timeout         10
        TLSEnable       yes
        FollowReferrals yes
</LDAP>

<Authorization>
        BaseDN          "ou=users,dc=example,dc=com"
        SearchFilter    "(uid=%u)"
        RequireGroup    false
                <Group>
                        BaseDN  "ou=groups,dc=example,dc=com"
                        SearchFilter "cn=vpnusers"
                        MemberAttribute memberUid
                </Group>
</Authorization>

Если я обновлю его так, чтобы он требовал группового поиска, он не сработает:

<LDAP>
        URL             ldap://ldap.my.server.name
        Timeout         10
        TLSEnable       yes
        FollowReferrals yes
</LDAP>

<Authorization>
        BaseDN          "ou=users,dc=example,dc=com"
        SearchFilter    "(uid=%u)"
        RequireGroup    true
                <Group>
                        BaseDN  "ou=groups,dc=example,dc=com"
                        SearchFilter "cn=vpnusers"
                        MemberAttribute memberUid
                </Group>
</Authorization>

Ошибка, которую выдает сервер openvpn:

Dec  6 18:54:37 openvpn01 openvpn: Thu Dec  6 18:54:37 2018 47.153.170.228:1194 PLUGIN_CALL: POST /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1
Dec  6 18:54:37 openvpn01 openvpn: Thu Dec  6 18:54:37 2018 47.153.170.228:1194 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so
Dec  6 18:54:37 openvpn01 openvpn: Thu Dec  6 18:54:37 2018 47.153.170.228:1194 TLS Auth Error: Auth Username/Password verification failed for peer

Работает нормально, если я не используется параметр RequireGroup , поэтому я предполагаю, что мой MemberAttribute или SearchFilter неверен. Есть идеи? Кто-нибудь сталкивался с этой проблемой раньше?

0
задан 7 December 2018 в 05:05
1 ответ

Недавно я столкнулся с той же проблемой при попытке использовать JumpCloud's LDAP. оказание услуг. Для меня сработало заключить фильтр поиска в скобки:

searchFilter "(cn=vpnusers)"
0
ответ дан 5 December 2019 в 05:00

Теги

Похожие вопросы