Squid3 не работает ACL localnet

KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Squid3 не работает ACL localnet

Сообщение KolaniMir »

Приветствую! Это моя первая попытка установить Squid на Ubuntu. И сразу хочу связать её с AD.
Действовал по серии статей Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS.
https://blog.it-kb.ru/2014/06/16/forwar ... tion-2-vm/
Начальные условия:
домен kh.wizard.net
два контроллера, сеть 192.168.10.0/24
Есть два шлюза 192.168.10.100 и 192.168.10.111. Хочу направить пользователей через 111. Установил Ubuntu и далее по статьям. Дошел до 5-й части, авторизация не работает.
Сервер установил внутри сети т.к. доступа к шлюзу у меня нет и поменять настройки не могу.
файл /etc/network/interfaces/
auto eth1
iface eth1 inet static
address 192.168.10.10
netmask 255.255.255.0
gateway 192.168.10.111
dns-nameservers 192.168.10.201 192.168.10.55
dns-domain kh.wizard.net
auto eth0
iface eth0 inet static
address 192.168.10.2
netmask 255.255.255.0

Создал в домене пользователя Squid для подключения. Машину ввел в домен и назвал UbuntuGW
ключ получил
ktpass -princ ubuntuGW.kh.wizard.net@KH.WIZARD.NET -mapuser Squid -pass Cjkysirj -crypto All -ptype KRB5_NT_PRINCIPAL -out C:\Temp\PROXY.keytab

Samba
[global]
netbios name = UbuntuGW
workgroup = KH-WIZARD
security = ADS
realm = KH.WIZARD.NET
encrypt passwords = yes

interfaces = 192.168.10.0/24
bind interfaces only = yes

winbind nss info = rfc2307
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes

idmap config *:backend = tdb
idmap config *:range = 10000-80000
idmap config KH-WIZARD:backend = rid
idmap config KH-WIZARD:range = 10000-80000

Настройки авторизации в squid

# OPTIONS FOR AUTHENTICATION
# -----------------------------------------------------------------------------
#
# Negotiate Kerberos and NTLM authentication
auth_param negotiate program /usr/lib/squid3/negotiate_wrapper_auth --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-nt$
auth_param negotiate children 200 startup=50 idle=10
auth_param negotiate keep_alive off

# Only NTLM authentication
auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 100 startup=20 idle=5
auth_param ntlm keep_alive off

# Basic authentication via ldap for clients not authenticated via kerberos/ntlm
auth_param basic program /usr/lib/squid3/basic_ldap_auth -v 3 -P -R -b "dc=kh,dc=wizard,dc=net" -D Squid@kh.wizard.net -W /etc/squid3/conf$
auth_param basic children 20
auth_param basic realm "UbuntuGW SQUID Proxy Server Basic authentication!"
auth_param basic credentialsttl 2 hours

# ACCESS CONTROLS
# -----------------------------------------------------------------------------
#
# LDAP authorization
external_acl_type memberof ttl=3600 ipv4 %LOGIN /usr/lib/squid3/ext_ldap_group_acl -v 3 -P -R -K -b "dc=kh,dc=wizard,dc=net" -D Squid@kh.w$
#

Пробовал оставлял только Basic. Запрос логина и пароля высвечивается, ввожу доменного юзера и ничего.
В лога контроля доступа
sudo tail -f /var/log/squid3/access.log

1459433274.090 1 192.168.10.14 TCP_DENIED/403 4252 GET http://ya.ru/ pasha HIER_NONE/- text/html

Помогите исправить, пожалуйста. Не правильно создал ключ? Не правильно указал настройки авторизации?
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: Squid3 + AD внутри сети

Сообщение Алексей Максимов »

Здравствуйте. А отталкиваясь от чего Вы решили, что проблема именно с аутентификацией/авторизацией? Может быть у Вас правила доступа http_access неправильно нарисованы, и из-за этого никто в интернет не проходит. Правил то Ваших я тут не увидел. А те вырезки конфига по хелперам, которые Вы предоставили - они некорректно скопированы.
KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Re: Squid3 + AD внутри сети

Сообщение KolaniMir »

Добрый день. Извините, не заметил, что скопировал строчки авторизации не до конца.
adserver2012.kh.wizard.net alamak.kh.wizard.net мои два контролера домена (2012 и 2003 соответственно)
Дублирую:
# OPTIONS FOR AUTHENTICATION
# -----------------------------------------------------------------------------
#
# Negotiate Kerberos and NTLM authentication
auth_param negotiate program /usr/lib/squid3/negotiate_wrapper_auth --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/lib/squid3/negotiate_kerberos_auth -r -s squid.kh.wizard.net@KH.WIZARD.NET
auth_param negotiate children 200 startup=50 idle=10
auth_param negotiate keep_alive off

# Only NTLM authentication
auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 100 startup=20 idle=5
auth_param ntlm keep_alive off

# Basic authentication via ldap for clients not authenticated via kerberos/ntlm
auth_param basic program /usr/lib/squid3/basic_ldap_auth -v 3 -P -R -b "dc=kh,dc=wizard,dc=net" -D Squid@kh.wizard.net -W /etc/squid3/conf_param_ldappass.txt -f sAMAccountName=%s -h adserver2012.kh.wizard.net alamak.kh.wizard.net
auth_param basic children 20
auth_param basic realm "UbuntuGW SQUID Proxy Server Basic authentication!"
auth_param basic credentialsttl 2 hours

# ACCESS CONTROLS
# -----------------------------------------------------------------------------
#
# LDAP authorization
external_acl_type memberof ttl=3600 ipv4 %LOGIN /usr/lib/squid3/ext_ldap_group_acl -v 3 -P -R -K -b "dc=kh,dc=wizard,dc=net" -D Squid@kh.wizard.net -W /etc/squid3/conf_param_ldappass.txt -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf:1.2.840.113556.1.4.1941:=cn=%g,OU=Security Groups,OU=KH-WIZARD,DC=kh,DC=wizard,DC=net))" -h adserver2012.kh.wizard.net alamak.kh.wizard.net
#
acl auth proxy_auth REQUIRED
acl BlockedAccess external memberof "/etc/squid3/conf_param_groups_blocked.txt"
acl RestrictedAccess external memberof "/etc/squid3/conf_param_groups_restricted.txt"
acl StandardAccess external memberof "/etc/squid3/conf_param_groups_standard.txt"
acl FullAccess external memberof "/etc/squid3/conf_param_groups_full_auth.txt"
acl AnonymousAccess external memberof "/etc/squid3/conf_param_groups_full_anon.txt"


acl allowedsites dstdomain "/etc/squid3/conf_param_sites_allowed.txt"
acl blockedsites dstdomain "/etc/squid3/conf_param_sites_blocked.txt"
acl prioritysites dstdomain "/etc/squid3/conf_param_sites_priority.txt"
#

В настройках доступа менял только сеть
acl localnet src 192.168.0.0/24 # RFC1918 possible internal network

Параметры сети
# NETWORK OPTIONS
# -----------------------------------------------------------------------------
#
http_port 192.168.10.2:3128
http_port 127.0.0.1:3128
#
и параметры кеша
# DISK CACHE OPTIONS
# ---------------------------------------------------------------------------
#
cache_replacement_policy heap LFUDA
cache_dir ufs /mnt/squid-cache/ 7000 16 256
maximum_object_size 32768 KB

Почему решил что доступ?
в терминале набирал
sudo tail -f /var/log/squid3/access.log
1459494995.785 1 192.168.10.14 TCP_DENIED/403 4994 GET http://google.com.ua/ pasha HIER_NONE/- text/html
1459494995.845 0 192.168.10.14 TCP_DENIED/403 3932 GET http://www.squid-cache.org/Artwork/SN.png pasha HIER_NONE/- text/html
1459495014.155 0 192.168.10.14 TCP_DENIED/403 4705 GET http://google.com.ua/ pasha HIER_NONE/- text/html
1459495014.215 0 192.168.10.14 TCP_DENIED/403 3932 GET http://www.squid-cache.org/Artwork/SN.png pasha HIER_NONE/- text/html
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: Squid3 + AD внутри сети

Сообщение Алексей Максимов »

Логично, что не работает.
ACL localnet определён как 192.168.0.0/24 (диапазон адресов 192.168.0.1 - 192.168.0.254), а получить доступ к прокси пытаетесь с адреса 192.168.10.14.
KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Re: Squid3 + AD внутри сети

Сообщение KolaniMir »

Я думал такая запись включает несколько сетей. Поменял на acl localnet src 192.168.10.0/24 # RFC1918 possible internal network
Открылись сайты, которые я указал в conf_param_sites_priority.txt
При открытии ya.ru ошибка, доступ запрещен.
sudo tail -f /var/log/squid3/access.log
1459498436.259 0 192.168.10.14 TCP_DENIED/403 3963 GET http://ya.ru/ pasha HIER_NONE/- text/html
1459498436.290 0 192.168.10.14 TCP_DENIED/403 3924 GET http://www.squid-cache.org/Artwork/SN.png pasha HIER_NONE/- text/html
KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Re: Squid3 + AD внутри сети

Сообщение KolaniMir »

Я так понимаю что у меня ключ не верный.
kinit -k Squid.kh.wizard.net
kinit: Keytab contains no suitable keys for Squid.kh.wizard.net@KH.WIZARD.NET while getting initial credentials

Сейчас попробую пересоздать правильно.

И еще вопрос по поводу LDAP authorization. Я смотрю на группу Internet-All-Users, на объект указанный в свойствах: kh.wizard.net/Users/Internet-All-Users
Правильно ли я указываю в параметрах авторизации:
OU=KH-WIZARD,DC=kh,DC=wizard,DC=net
KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Re: Squid3 + AD внутри сети

Сообщение KolaniMir »

Повторно создал пользователя, сгенерировал для него ключ, проверил, ключ получает.
Результат не поменялся, где то что то упустил.
KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Re: Squid3 + AD внутри сети

Сообщение KolaniMir »

Разобрался в чем была беда. Нашел здесь на форуме в одной из тем.
Я не верно указал параметры авторизации где искать группы. Написал по незнанию OU=Security Groups,OU=KH-WIZARD,DC=kh,DC=wizard,DC=net
В итоге поменял на CN=Users,DC=kh,DC=wizard,DC=net
KolaniMir
Новичок
Сообщения: 9
Зарегистрирован: 31 мар 2016 10:21

Re: Squid3 + AD внутри сети

Сообщение KolaniMir »

Возник какой вопрос. Меняю пользователю группу или меняю список заблокированных сайтов и нужно делать реконфиг?
sudo squid3 -k reconfigure
Или изменения появятся через некоторое время? Мне терпения не хватает, делаю реконфиг.
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: Squid3 + AD внутри сети

Сообщение Алексей Максимов »

Про это тоже уже писалось на форуме. Время реакции squid на изменение членства в группах зависит от величины параметра ttl для хелпера авторизации (параметр определяет время жизни кэша хелпера). Что качается изменения конфигов, то тут реконфиг обязателен.
Ответить

Вернуться в «Прокси-сервер Squid»