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

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

Я работаю над настройкой новых веб-прокси на своей работе. Изначально мы планировали покупать прокси Blue Coat, но наступил экономический спад, и мы их больше не покупаем ...

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

Возможно ли это с использованием программного обеспечения с открытым исходным кодом, такого как Squid? Мне очень нравится Pfsense, потому что интерфейс действительно простой и красивый, можно ли с ним сделать такое?

Заранее спасибо за вашу помощь,

Антуан

Вы можете заставить Squid аутентифицироваться на одном сервере OpenLDAP, выступающем в качестве прокси для нескольких внутренних каталогов. Из slapd-meta (5):

NAME slapd-meta - бэкэнд метакаталога

ОБЗОР /etc/ldap/slapd.conf

ОПИСАНИЕ Мета-серверная часть slapd (8) выполняет базовое проксирование LDAP по отношению к набору удаленных серверов LDAP, называемых «целями». Информация, содержащаяся на этих серверах, может быть представлена ​​как принадлежащая одному информационному дереву Справочника (DIT).

Это будет работать, даже если иерархии DN перекрываются между обеими группами путем написания нескольких правил массирования - я предполагаю, что это так, потому что вместо этого вы будете использовать псевдонимы и делегирование.

В любом случае я считаю, что это нормально, что пользователям разрешено проходить аутентификацию в едином каталоге, потому что их личность остается неизменной независимо от подсети, в которой они оказались.

В своем ответе я предполагаю, что вы читали о протоколе аутентификации Squid, знакомы с тем, как настроить помощник аутентификации LDAP, и планируете запускать Squid под какой-то операционной системой Unix. Кроме того, первые два ответа помогут вам выбрать разные серверы LDAP на основе имени пользователя, а не IP-подсети (вы упомянули «подсеть», но ITYM «подмножество» - верно?).

  1. Используйте простой скрипт (язык не имеет значения, используйте свой любимый), чтобы перенаправить запрос на разные серверы LDAP в зависимости от имени пользователя. Опытный администратор Unix должен установить и запустить это в течение 30 минут, это не имеет большого значения.
  2. Используйте один сервер LDAP, который возвращает ссылки LDAP на основе DN пользователя.

Если вы действительно хотите изменить серверы LDAP на основе IP-подсети, все станет немного некрасиво, поскольку протокол аутентификации Squid передает только пары имя пользователя / пароль помощникам аутентификации:

  1. Настройте один сервер Squid и пусть он будет слушать только на локальном хосте. Этот экземпляр Squid сделает всю работу по кешированию.
  2. Для каждой подсети настройте другой экземпляр Squid без локального кеша и настройте соответствующий сервер LDAP. Также используйте разные порты для каждого экземпляра Squid. Эти экземпляры Squid пересылают все запросы кэширующему, определенному на шаге 1.
  3. В зависимости от того, как вы настраиваете параметры прокси в браузерах ваших пользователей, вам придется использовать либо представления DNS, либо правила перенаправления на вашем веб-сервере.

Вы можете создать свой собственный помощник по аутентификации для squid - http://www.visolve.com/squid/squid30/externalsupport.php#auth_param

http://www.cyberciti.biz/tips/howto-configure-squid-ldap-authentication.html