squid+LDAP - помогите вспомнить где ..

Обсуждение технических вопросов по продуктам Novell под Linux, а также *nix систем

squid+LDAP - помогите вспомнить где ..

Сообщение skoltogyan » 26 ноя 2005, 12:45

Что-то немогу вспомнить кто писал статью и где она..

Работало оно так (вроде):

Пользователь обращается к squid. сквид видит какой IP-ик обращается и лезет eDir по LDAP - смотрит, кто именно залогинен с этой машины в eDir.
Если этот пользователь edir входит в группу eDir, кому можно в инет - пускает..
skoltogyan
 
Сообщения: 1906
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

статья

Сообщение Юрий Бондаренко » 28 ноя 2005, 12:39

http://novell.org.ru/forum/viewtopic.ph ... apsquid+pl
сам пользуюсь - но идея отличная.
кстати, вопрос к уважаемому Walery, не хочет ли он выложить этот скрипт, на http://forge.novell.com/ утилита пригодится многим
Юрий Бондаренко
 
Сообщения: 59
Зарегистрирован: 31 июл 2002, 18:26

Сообщение Иван Левшин aka Ivan L. » 28 ноя 2005, 15:02

В тему - надеюсь... :)

Мы пытаемся перейти на Squid с BorderManager. Конкретно - я поставил разработчикам задачу обеспечить функционал бордюрного клиенттраста (управление доступом через eDir, отсутствие необходимости вводить дополнительные пароли при доступе в инет) плюс блокировку пользователя по лимиту трафика. Кое-что получилось - я, собственно, с Сергеем уже в аське на эту тему общался.

Что именно получилось - описываю.

Для решения задачи используется связка Squid+iptables+самописный демон (обеспечивает клиенттраст)+вин32-фронтэнд (общается с демоном).

Порядок работы:
При обращении клиента к сквиду - сквид через external_acl опрашивает еДир на предмет - кто именно посылает запрос и можно ли ему в принципе пользоваться инетом (проверяется членство в группе). Если все проверки прошли ОК - прокси лезет в инет, если нет - клиенту отлуп.

Как смотрится лимит - тот самый самописный демон через iptables и сквид ведет учет потребленного трафика (заодно сквид благодаря использованию external_acl пишет в логе нормальное имя пользователя, а не его айпишник). Как только лимит выбран - соединение режется и прописывается запрет доступа.

С какими проблемами столкнулись:
1. К сожалению, в настоящий момент не нашли способа обрубать соединения средствами сквида, потому делаем это через iptables (дропаем пакеты). Это приводит к тому, что сквид еще некоторое время пытается докачивать. Если кто знает, как сбрасывать соединение самим сквидом - за совет буду благодарен.
2. На некоторых машинах (в частности - на моей) при достижении лимита и обрезании коннекта (повторяю - делается это на удаленном серваке) происходит зависание фронтэнда. При выгрузке фронтэнда происзодит обвал вообще всей сетевой службы WinXP (стоит ХР корпоративная английская СП2 с МУИ). Причем обвал такой, что лечится только перезагрузкой - и только по резету (виснет explorer.exe и убить его не получается).

Сразу прошу прощения за некоторый сумбур в изложении - я не девелопер, а, скорее, менеджер проекта :) Тот самый, который с пряником и прочими атрибутами.

Желающим могу скинуть на тест наработки с инструкциями.
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Михаил Григорьев » 28 ноя 2005, 16:12

:cry: :cry: :cry: :cry: :cry:

Почему же все пытаются изобрести велосипед... :cry: :cry:

Я раз 1000 уже писал решение задачи по лимитированию трафика вплоть до байтов и обрубание клиента по достяжении этого дела!!! И эта связка запросто работает с eDir.

И сквид в этом никак не учавствует!!!! И не нужно писать всякие скрипты для firewall

Единственное что пока плохо это отсутствие у данного решения аналога clntrust, НО в случае виндовозного домена даное решение запросто катается! (Не требуется вводить доп. логинов и паролей) Если приложить руки и грамотного разработчика под Win, то мона и сlntrust написать!
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

не велосипед

Сообщение skoltogyan » 28 ноя 2005, 16:54

То, что предложили (о о чем я спрашивал) обладает следующей особенностью:
1. от станции к squid НЕ ПЕРЕДАЕТСЯ ПАРОЛЬ
2. использует СТАНДАРТНЫЕ возможности SQUID
3. не требует модификации СХЕМЫ дерева

Михаил, а как с этими вопросами в том, о чем пишите Вы ?
skoltogyan
 
Сообщения: 1906
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Re: не велосипед

Сообщение Михаил Григорьев » 28 ноя 2005, 18:26

skoltogyan писал(а):То, что предложили (о о чем я спрашивал) обладает следующей особенностью:
1. от станции к squid НЕ ПЕРЕДАЕТСЯ ПАРОЛЬ
2. использует СТАНДАРТНЫЕ возможности SQUID
3. не требует модификации СХЕМЫ дерева

Михаил, а как с этими вопросами в том, о чем пишите Вы ?


1. YES
2. YES
3. YES/NO В зависимости от требуемого функционала, но для того чтобы использовать решение по полной программе схему нужно модифицировать!

Вопросик возник! Если пароль не передается то как идентифицировать юзера? по логину только, дык его мона подделать!

В моем решении между станцией и сервером организуется VPN тунель, и по нему усе бегает! Как дополнительный плюс это шифрование данных! Что очень важно! Авторизация стандартными средствами винды, на сервер летит Login и NTHash
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Михаилу

Сообщение skoltogyan » 28 ноя 2005, 18:36

Подробнее про "Ваш вариант" где можно почитать и можно ли его свободно брать и использовать ?

Отвечаю, как понимаю про "то, что искал" и на Ваш /вопрос_ответ
1. От станции к squid передается IP станции /
Cквид(script) обращается по LDAP к eDIr, для получения информации - а какой пользователь залогинлся в eDIr, с этого IP
2. Получив таким образом ИМЯ пользователя SQUID по LDAP обращается к eDir для проверки - в каких именно группах eDIR состоит этот пользователь.
группа имеет привязку к правам на выход инет.

Про "Ваше решение":
Если станций > 100, то необходимо ПЕРЕСОБИРАТЬ пакеты на Linux, для обеспечения работы pptpd с более чем 100 коннектов. По крайней мере на Linux, pprptd из RPM-ок имеет ограничение на 100 коннектов.
skoltogyan
 
Сообщения: 1906
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Re: Михаилу

Сообщение Михаил Григорьев » 28 ноя 2005, 18:54

skoltogyan писал(а):Подробнее про "Ваш вариант" где можно почитать и можно ли его свободно брать и использовать ?


Точной статьи о связке FreeRADIUS+MPD+PostgreSQL+eDir нет!
Есть статьи про FreeRADIUS+MPD+PostgreSQL+OpenLDAP
Например на opennet.ru подобного рода масса статей + я могу проконсультировать!

skoltogyan писал(а):Отвечаю, как понимаю про "то, что искал" и на Ваш /вопрос_ответ
1. От станции к squid передается IP станции /
Cквид(script) обращается по LDAP к eDIr, для получения информации - а какой пользователь залогинлся в eDIr, с этого IP
2. Получив таким образом ИМЯ пользователя SQUID по LDAP обращается к eDir для проверки - в каких именно группах eDIR состоит этот пользователь.
группа имеет привязку к правам на выход инет.


На мой взгляд достаточно геморойное решение и не стандартное, про надёжность даже и сказать ничего не могу! Если работает, то очень хорошо, НО в массы его не двинешь! это точно!

skoltogyan писал(а):Про "Ваше решение":
Если станций > 100, то необходимо ПЕРЕСОБИРАТЬ пакеты на Linux, для обеспечения работы pptpd с более чем 100 коннектов. По крайней мере на Linux, pprptd из RPM-ок имеет ограничение на 100 коннектов.


Все верно, нужно немного подправить исходники MPD, для этого есть соответствующий патчь!
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

уточните

Сообщение skoltogyan » 28 ноя 2005, 18:57

Ваше решение использует в качесте платформы: FreeBSD ?
skoltogyan
 
Сообщения: 1906
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Re: уточните

Сообщение Михаил Григорьев » 28 ноя 2005, 19:18

skoltogyan писал(а):Ваше решение использует в качесте платформы: FreeBSD ?


Любая *nix система!

Я на FreeBSD делал такое, и делаю до сих пор! и работает! Максимальное количеств конектов пока 70!
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

понятно

Сообщение skoltogyan » 28 ноя 2005, 19:27

Вы пробывали Ваше решение переносить на LInux (например SLES9, SUSE10) ?
skoltogyan
 
Сообщения: 1906
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Re: понятно

Сообщение Михаил Григорьев » 28 ноя 2005, 21:29

skoltogyan писал(а):Вы пробывали Ваше решение переносить на LInux (например SLES9, SUSE10) ?


Нет, небыло такой задачи! Я уверен что проблем возникнуть не должно, ИМХО на Linux'е сервисы которые портировали на FreeBSD реализованы получше!

Будет потребность, перенесём решение и на Linux ;)
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Иван Левшин aka Ivan L. » 28 ноя 2005, 21:35

Григорьев Михаил - направил своего разработчика сюда... Как освоится - доложит, что сделали конкретно :)
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Михаил Григорьев » 28 ноя 2005, 21:57

Иван Левшин aka Ivan L. писал(а):Григорьев Михаил - направил своего разработчика сюда... Как освоится - доложит, что сделали конкретно :)


В смысле направил своего разработчика? Собственно, у меня нет пока потребности адаптировать, описанное мною решение, на платформу linux, заказчиков тоже нет для Linux, поэтому сидим на FreeBSD :)
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Ваше предложение - Free или за деньги ?

Сообщение skoltogyan » 28 ноя 2005, 23:38

Ваше предложение - Free или за деньги ?

Если Free- откуда взять ?
Если за деньги - сколько стоит ?
skoltogyan
 
Сообщения: 1906
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

След.

Вернуться в *nix

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1