Категорії
Misc, staff, other Security

[OpenVPN] LDAP auth на основі груп

Розглянемо лише ту частину яка стосується авторизації у LDAP. Отже в конфіг серверу додаємо таке

username-as-common-name
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth/ldap.conf

Перший рядок каже, що login такий самий, як у LDAP’і, а другий – підключає відповідний модуль авторизації. А тепер налаштування для модулю авторизації /etc/openvpn/auth/ldap.conf:

<LDAP>
    URL             ldaps://ldap.domain.com
    BindDN          cn=svcuser,ou=services,dc=domain,dc=com
    Password        superpass
    Timeout         15
    TLSEnable       no
    FollowReferrals yes
</LDAP>

<Authorization>
        BaseDN          "ou=people,dc=domain,dc=com"
        SearchFilter    "(&(uid=%u)(objectclass=inetOrgPerson)(!(sn=BAD_*)))"
        RequireGroup    true
        <Group>
                BaseDN  "ou=roles,dc=domain,dc=com"
                SearchFilter  "(&(objectclass=organizationalRole)(cn=remote))"
                MemberAttribute RoleOccupant
        </Group>
</Authorization>

Тепер всі, хто в групі remote мають доступ до VPN. Важливий момент, що тут налаштування саме для випадку RoleOccupant, бо є варіант для memberOf.

На клієнті треба додати такий рядок у конфіг для запиту login/pass:

auth-user-pass

Ось приклади авторизації (неуспішної і успішної):

DAP bind failed: Invalid credentials
Incorrect password supplied for LDAP DN "uid=ivanov,ou=people,dc=domain,dc=com".
Tue Nov  7 13:52:03 2023 us=229365 44.44.44.44:42299 PLUGIN_CALL: POST /usr/lib/openvpn/openvpn-auth-ldap.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1
Tue Nov  7 13:52:03 2023 us=229416 44.44.44.44:42299 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /usr/lib/openvpn/openvpn-auth-ldap.so
Tue Nov  7 13:52:03 2023 us=229491 44.44.44.44:42299 TLS Auth Error: Auth Username/Password verification failed for peer
...
Tue Nov  7 14:15:32 2023 us=783997 33.33.33.33:41625 PLUGIN_CALL: POST /usr/lib/openvpn/openvpn-auth-ldap.so/PLUGIN_AUTH_USER_PASS_VERIFY status=0
Tue Nov  7 14:15:32 2023 us=784194 33.33.33.33:41625 TLS: Username/Password authentication succeeded for username 'shevchenko' [CN SET]

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff