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

Реализовать черный список / белый список + аутентификацию LDAP в Apache

В Apache, как лучше всего предоставить доступ только тем пользователям, которые пройти два следующие тесты:

  1. Пользователь не отображается в черном списке (альтернативно отображается в белом списке)
  2. У пользователя есть действующая учетная запись пользователя LDAP

У меня уже есть второй тест, но теперь мне нужно заблокировать некоторых допустимых пользователей LDAP. Обратите внимание, что я не может создать группу AD для представления моего черного / белого списка.

Мне удалось это сделать, используя

  • mod_auth_ldap для аутентификации допустимых пользователей
  • mod_authz_host в черный список диапазонов IP-адресов

Тогда конфигурация будет выглядеть примерно так:

    <Location /blacklisted >
        AuthType Basic
        AuthName "PAM"

        AuthBasicProvider ldap
        Require valid-user
        AuthLDAPURL ldap://ldap.example.com/?sAMAccountName?sub
        AuthzLDAPAuthoritative off
        AuthLDAPBindDN bindUser@example.com
        AuthLDAPBindPassword verySecurePasswd

        Order allow,deny
        Deny from 192.168.1
        Allow from all
    </Location>

Однако я до сих пор не знаю, возможно ли это, если бы я хотел занести в черный список имена пользователей LDAP вместо IP-адресов. (Covener кажется, что это может сделать какая-то сложная конфигурация, но я не пробовал).

появляется в белом списке просто - просто укажите отдельных пользователей с помощью require ldap-user (или require user в 2.0) вместо «require valid-user».

Черный список невозможен без написания короткого модуля или выполнения чего-то особенного, например, mod_rewrite в контексте + карта перезаписи черного списка. Затем вы можете просто посмотреть имя пользователя, вошедшего в систему.