1) Коннект на прокси
2) Запрос "а ну-ка, неизвестный IP, назови свое имя в каталоге!"
3) Прокси получает ответ и хелпером спрашивает у eDir, позволено/непозволено
4) В случае успеха/неуспеха самописный хелпер отдает yes/no
5) Сквид выполняет, разрешая или запрещая доступ
Недостатки, какими они мне видятся. Взаимодействие с локальной машиной происходит в открытую. Любая программа весом в 50Кб, написанная прямыми руками, откроет сокет, который будет на все вопросы от прокси высылать имя заведомо разрешенного пользователя. Это решение мало того небезопасно, оно еще и стандартно - городушки гордить с хелперами для сквида просто не было смысла. Сквид может стандартно взаимодействовать по протоколу ident с клиентом. Для этого только для клиента пишется небольшая програмулина, который слушает ident порт и передает реквизиты текущего пользователя. Помнится, лично сваял к сквиду такое за 15 минут, совершенно рабочий вариант, повторить который сообразительному "злоумышленнику" не составит труда.
Далее... я так понимаю, самописный хелпер сквида, кроме того как отдает сквиду резолюцию после проверки в eDir, модифицирует и iptables. Это хорошо, когда необходимо разрешить клиенту доступ, создав для него разрешаюие правило, и снимать с него статистику. Но как его запрещать? В realtime "выловить" нахалов все равно не получиться, кроме случая, когда работаем во fbsd и умеем пользоваться возможностями ipfw.
В итоге имеем две дыры - утечки трафика и тривиальная подделка clienttrusta, ведь упомяналось именно использование аналога программы от Novell.
Лично мне гораздо более интересно решение OpenVPN+Radius на основе сертифкатов. Достаточно одныжды установить на машину клиентский "доверенный" сертификат, и запускать OpenVPN клиент по startup-скрипту, как мы получим практически готовое решение SSO, которое можно использовать еще и для доступа к защищенным веб-узлам или строить на этой основе аутентификацию на всяческих CMS. Мной такое решение было успешно реализовано в сети из 500 рабочих станций и ActiveDirectory.
сквид видит какой IP-ик обращается и лезет eDir по LDAP
Видит, но не отадет. Хелперу аутентификации передается только username/pass в stdin, в ответ на который приходит либо "да", либо "нет".