Strona 1 z 1

Jak uwierzytelnić użytkowników openvpn z LDAP?

: 08 września 2011, 14:06
autor: shafty84
Witam.
Mam dostęp do bazy danych LDAP-a, w której są zapisani użytkownicy. W jaki sposób wykorzystać tę bazę aby wszyscy zawarci w niej użytkownicy otrzymywali zezwolenie na łączenie się z OpenVPN?

Założenie: Dane do grzebania w ldap:

Kod: Zaznacz cały

cn=user_ldap,ou=Services,dc=example,dc=com

Kod: Zaznacz cały

haslo xxx
Konta uprawnionych do korzystania z ldap w poddrzewach:

Kod: Zaznacz cały

ou=People,dc=example,dc=com 
ou=Others,dc=example,dc=com
Mój plik konfiguracyjny:

Kod: Zaznacz cały

local 192.168.0.66
port 5000
proto udp

dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

server 10.100.0.0 255.255.255.0
push "route 192.168.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 91.210.48.20"
client-to-client
keepalive 10 120
comp-lzo
max-clients 25
persist-key
persist-tun
log         openvpn.log
verb 3
mute 20
plugin /usr/lib/openvpn/openvpn-auth-ldap.so openvpn-ldap
client-cert-not-required
username-as-common-name
Teraz pytania:
Jak powinien wyglądać plik openvpn-ldap?
Gdzie powinien się znajdować?
Co powinien zawierać?
Czy coś jeszcze powinien zawierać plik konfiguracyjny?

Mój nie działający plik openvpn-ldap, który umieściłem w katalogu ze skryptem wygląda następująco:

Kod: Zaznacz cały

<LDAP>
         #adres serwera ldap
        URL             ldap://192.168.0.254
         cn=user_ldap,ou=Services,dc=example,dc=com

        # Bind Password
        Password      xxx

        # Network timeout (in seconds)
        Timeout         15

</LDAP>

<Authorization>
        # Base DN
        BaseDN          "ou=People,dc=example,dc=com "

        # User Search Filter
        SearchFilter    "(&(uid=%u)(accountStatus=active))"

        # Require Group Membership
        RequireGroup    false

        # Add non-group members to a PF table (disabled)
        #PFTable        ips_vpn_users

        <Group>
                BaseDN          "ou=People,dc=example,dc=com "
                SearchFilter    "(|(cn=developers)(cn=artists))"
                MemberAttribute uniqueMember
                # Add group members to a PF table (disabled)
                #PFTable        ips_vpn_eng
        </Group>
</Authorization>

: 08 września 2011, 14:59
autor: mariaczi