Назад | Перейти на главную страницу

Аутентификация LDAP с использованием сервера RADIUS

У меня есть сервер RADIUS с настраиваемым методом аутентификации. У меня есть база данных Mysql с паролями Django CMS, которые хешируются в PBKDF2_SHA256, поэтому мне пришлось написать собственный скрипт аутентификации. Мои разделы авторизации RADIUS выглядят следующим образом:

authorize {
    update control {
         Auth-Type := `/usr/bin/php -f /usr/djangologin/cpauth.php %{User-Name} %{User-Password}`
    }
}

Скрипт проверяет пароль с python passlib вернуть истину или ложь, и поэтому RADIUS вернет Access-Accept или Accept-Reject.

Теперь мне нужно настроить LDAP-сервер, потому что одно из наших новых программ (Ulteo) не поддерживает аутентификацию RADIUS.

Я никогда раньше не работал с LDAP. Прежде чем я попытаюсь достичь невозможного, мои основные вопросы:

1. Как именно хранятся пароли, я не выяснил. Как они зашифрованы? Я знаю, что они хранятся в / etc / shadow. Они зашифрованы в MD5 или SHA256 / 512?
2. Можно ли использовать RADIUS как метод аутентификации для LDAP-сервера? Например. Пользователь хочет пройти аутентификацию на сервере LDAP. Сервер LDAP ищет имя пользователя и передает его через RADIUS. В случае успеха RADIUS возвращает Access-Accept, а LDAP-сервер подтверждает успешный вход в систему.
3. Если 2. невозможно: Есть ли способ создать собственный метод аутентификации, как я создал его для RADIUS? Есть ли лучший способ достичь моей цели?

Спасибо!

На большинстве серверов LDAP пароль хранится в каталоге, в котором находится сервер. Я думаю, что проще всего хранить пароли в LDAP и аутентифицировать RADIUS и все остальное с помощью LDAP. Однако, например, OpenLDAP поддерживает SASL, поэтому вы можете аутентифицировать LDAP с помощью чего-то еще, обычно Kerberos.