Ошибка
  • Ошибка при загрузке канала данных.

Опрос

Что вы думаете по поводу веб-кастов, выложеных на сайте?
 

Последнии комментарии

Авторизация пользователей на прокси-сервере Squid через Microsoft AD PDF Печать E-mail
Рейтинг пользователей: / 12
ХудшийЛучший 
Автор: yakim   
22.05.2012 16:01

Рассмотрим вариант, когда пользователь будет авторизоваться на нашем прокси-сервере, используя свою доменную учетную запись.

  

Настройка домена

  

Пусть у нас есть домен study.local и его контроллер с именем dc-study и IP-адресом 192.168.0.10


Создадим в домене группу inet. Все пользователи, которые в нее будут входить, будут иметь доступ в Интернет. И внесем в нее пользователя student.

Так же нужно создать в домене пользователя, с аккаунтом которого наш прокси-сервер будет обращаться на контроллер домена для проверки учетных данных пользователей. Для этих целей сделаем в нашем домене пользователя squid с паролем squid123

  

Настройка Squid

  

Для авторизации пользователя в LDAP, у Squid есть специальный модуль squid_ldap_auth

Для начала проверим, работает ли вообще у нас авторизация в домене

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

# /usr/lib/squid3/squid_ldap_auth -u cn -b "cn=Users,dc=study,dc=local" 192.168.0.10

squid squid123

OK

  

Если в результате вывелось OK — значит все нормально, и можно продолжать проверку.

  

Далее мы проверим, работает ли определение группы пользователя в домене.

  

Выполним такую команду, и в следующей строке введем имя пользователя, и группу, принадлежность к которой хотим проверить.

# /usr/lib/squid3/squid_ldap_group -b "dc=study,dc=local" -f "(&(sAMAccountName=%v)(memberOf=CN=%a,CN=Users,dc=study,dc=local))" -D squid@study.local -w "squid123" 192.168.0.10

student inet

OK

И, для проверки, повторим эту же команду, но для другой учетной записи

  

# /usr/lib/squid3/squid_ldap_group -b "dc=study,dc=local" -f "(&(sAMAccountName=%v)(memberOf=CN=%a,CN=Users,dc=study,dc=local))" -D squid@study.local -w "squid123" 192.168.0.10

administrator inet

ERR


Как мы видим, группа пользователя определяется правильно.

  

Теперь откроем на редактирование файл /etc/squid3/squid.conf

И опишем наши новые acl

  

#Параметры авторизации в домене

auth_param basic program /usr/lib/squid3/squid_ldap_auth -u cn -b "cn=Users,dc=study,dc=local" 192.168.0.10

auth_param basic children 5

auth_param basic realm study.local

  

#Далее пропишем проверку на наличие пользователя в группе (все это записывается в одну строку)

external_acl_type ldapgr children=5 %LOGIN /usr/lib/squid3/squid_ldap_group -b "dc=study,dc=local" -f "(&(sAMAccountName=%v)(memberOf=CN=%a,CN=Users,dc=study,dc=local))" -D squid@study.local -w "squid123" 192.168.0.10

#Затребуем авторизацию

acl auth proxy_auth REQUIRED

#И проверим, есть ли пользователь в группе inet

acl myinet external ldapgr inet

  

#И далее, в разделе разрешений, пропишем разрешение выхода в интернет пользователям, которые входят в доменную группу inet.

http_access allow myinet

http_access deny all

  

Перезапустим Squid

#/etc/init.d/squid restart

  

И можно проверять.

Теперь в интернет смогут выйти только пользователи, которые входят в доменную группу inet.

Обновлено 22.05.2012 16:11
 

Комментарии 

 
+1 #1 Alex 11.09.2012 03:26
Может кому полезно окажется
Есть три группы: с полным доступом(InetFu ll), с полным доступом, но запрещены определенные сайты(inet_half ) и группа для доступа только к разрешенным сайтам (inet_restrict)

acl InetFull external InetGroup inet_full
acl InetHalf external InetGroup inet_half
acl InetRestrict external InetGroup inet_restrict


#half inet
acl goodurl url_regex -i "/etc/squid/goodurl.acl"
http_access allow InetHalf goodurl
acl badurl url_regex -i "/etc/squid/badurl.acl"
http_access deny InetHalf badurl


#Restrict inet
acl restricturl url_regex -i "/etc/squid/restrict.acl"
http_access allow InetRestrict restricturl
http_access deny InetRestrict all



http_access allow InetFull localhost
http_access allow InetHalf localhost
http_access allow InetRestrict localhost
 

Добавить комментарий

Защитный код
Обновить

 
3.png

Ubuntu в Сумах

Дружественные сайты

Linux для всех

 

Видеоуроки

 

 

Ubuntu в Сумах

 

Мои Счетчики