LINUX.ORG.RU
ФорумAdmin

squid3 и ldap_ad


1

1

Здравствуйте!

Есть squid3 и sams 1.0.5 на ubuntu 12.04 которые настроены и работают. Авторизация идет по ntlm, с этим тоже вроде все нормально.

Пытаюсь перейти на ldap_ad авторизацию. В настройках самса нажимаю «тестировать ответ PDC» и выдается чистый лист.

Вообще пытался делать по этому мануалу, но возникли непонятки с проверкой утилиты squid_ldap_auth, что бы я не вводил, всегда ответ ERR. В общем не могу разобраться с синтаксисом. Что надо вводить чтоб получить OK? И что и с какими ключами надо прописывать в squid.conf для ldap авторизации? Просто везде все по разному написанно, я вообще не могу разобраться.

Вот мои нынешние настройки

squid.conf

# created by SAMS _sams_ 2012-12-18 18:34:1
http_port 192.168.110.5:3128
icp_port 0
hierarchy_stoplist cgi-bin ?
cache_mem 128 MB
maximum_object_size 8092 KB
maximum_object_size_in_memory 512 KB
cache_dir ufs /usr/local/squid3/cache 512 16 256 
cache_access_log /usr/local/squid3/log/access.log
cache_log /usr/local/squid3/log/caches.log
cache_store_log /usr/local/squid3/log/store.log
cache_mgr adurbale@kinoforum.local
visible_hostname proxyserver
tcp_outgoing_address 192.168.110.5
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
redirect_program /usr/local/squid3/redirector.pl
redirect_children 10

coredump_dir /usr/local/squid3/cache
pid_filename /usr/local/squid3/log/squid.pid

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --domain=KINOFORUM.LOCAL
auth_param ntlm children 10
auth_param ntlm keep_alive off
#auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic 
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours 


acl auth proxy_auth REQUIRED
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl localnet src 192.168.0.0/24
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl ntlmauth proxy_auth REQUIRED

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access allow localhost
http_access allow ntlmauth
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow ntlmauth
http_access deny all


hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
sams.conf
[client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=sams	
MYSQLPASSWORD=psw	
MYSQLVERSION=4.0	
SQUIDCACHEFILE=access.log	
SQUIDROOTDIR=/etc/squid3	
SQUIDLOGDIR=/usr/local/squid3/log	
SQUIDCACHEDIR=/var/spool/squid	
SAMSPATH=/usr	
SQUIDPATH=/usr/sbin
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/etc/squid3
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout

LDAPSERVER=192.168.110.3	
LDAPBASEDN=KINOFORUM.LOCAL
LDAPUSER=adurbale
LDAPUSERPASSWD=psw
LDAPUSERSGROUP=
smb.conf
[global]
workgroup = KINOFORUM
realm = KINOFORUM.LOCAL
server string = %h server
security = ADS
encrypt passwords = true
dns proxy = no 
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no

load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
   
idmap config * : range = 10000-20000
idmap config * : backend = tdb 
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes

#winbind separator = /
winbind enum users = no
winbind enum groups = no
winbind use default domain = yes
template homedir = /home/%D/%U
client use spnego = yes

wins support = no
log file                = /usr/local/squid3/samba/log.%m
max log size            = 50
krb5.conf
[libdefaults]
	default_realm = KINOFORUM.LOCAL
	kdc_timesync = 1
	ccache_type = 4
	forwardable = true
	proxiable = true
	#default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
	#default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc
	v4_instance_resolve = false
	v4_name_convert = {
		host = {
			rcmd = host
			ftp = ftp
		}
		plain = {
			something = something-else
		}
	}
	fcc-mit-ticketflags = true

[realms]
	KINOFORUM.LOCAL = {
		kdc = 192.168.110.3
		admin_server = 192.168.110.3
		default_domain = KINOFORUM.LOCAL
	}

[domain_realm]
	kinoforum.local = KINOFORUM.LOCAL
	.kinoforum.local = KINOFORUM.LOCAL
	KINOFORUM.LOCAL = KINOFORUM.LOCAL
	.KINOFORUM.LOCAL = KINOFORUM.LOCAL
[logging]
	Default = FILE:/usr/local/squid3/kerberos/krb5libs.log
	Kdc = FILE:/usr/local/squid3/kerberos/krb5kdc.log
	admin_server = FILE:/usr/local/squid3/kerberos/kadmind.log



Последнее исправление: andreyd (всего исправлений: 1)

sudo squid_ldap_auth -R -D adurbale@kinoforum.local -w psw -b «dc=kinoforum,dc=local» -f «sAMAccountName=%s» 192.168.110.3

Далее через пробел: имя_доменного_юзера его_пароль Что выдает?

anonymous
()
Ответ на: комментарий от anonymous
squid_ldap_auth: WARNING, could not bind to binddn 'Invalid credentials'
ERR Success

Причем вне зависимости от того пишу ли я правильный пароль или нет

andreyd
() автор топика
Ответ на: комментарий от andreyd

Единственное предположение что adurbale не является пользователем домена, даю 100%. Только что проверил, если после -D пользователь домена, то все ок, если пишу несуществующего, то ошибка как у тебя.

anonymous
()
Ответ на: комментарий от anonymous

Adurbale - администратор домена.

Смотри. Я пишу данную строку

sudo /usr/lib/squid3/squid_ldap_auth -R -D adurle@kinoforum.local -w psw -b "dc=kinoforum,dc=local" -f "sAMAccountName=%s" 192.168.110.3
потом жму энтер. Крсор опускается на пустую строку. Там я ввожу «имя юзера» пробел «пароль». Так? И кстати, логин и пароль какого юзера вводить? Любого доменного или adurbale? (Я уже все вводил туда)

andreyd
() автор топика
Ответ на: комментарий от andreyd

Adurbale - администратор домена, а пишешь adurle@kinoforum.local, да в общем то не важно админ домена будет или нет. В пустую строку вводишь любого пользователя, главное чтоб доменным был.

anonymous
()
Ответ на: комментарий от andreyd

Ну у тебя и должон быть php5-ldap. Я бы посоветовал удалить SAMS и SQUID. Доустановить все пакеты нужные для сборки самса, плюс те что я писал, если все есть - хорошо. Затем поновой установить сначала SQUID, добиться работы хелперов ntlm и ldap, добиться чтобы пускал доменных юзверей в инет, убедиться что логах сквида присутствуют имена пользователей. А затем уже собрать САМС и ковырять его. А лучше поновой установить убунту, самбу и винбинд, ввести в AD, ну и далее как писал. Керберос кстати не обязателен.

anonymous
()
Ответ на: комментарий от anonymous

Я уже тоже склоняюсь к переустановке убунты. Теперь я хотя-бы понимаю принцып работы этого всего, так что думаю будет легче. Но все равно, спасибо, уважаемый анонимус))) Очень мне помогли на самом деле.

andreyd
() автор топика
Ответ на: комментарий от andreyd

Вот только вчера начал настройку нового сервера, все идет как по маслу, может ты что то не так делаешь. Попробуй указать вместо adurbale@kinoforum.local другого доменного пользователя.

anonymous
()
Ответ на: комментарий от andreyd

Вот только вчера начал настройку нового сервера, все идет как по маслу, может ты что то не так делаешь. Попробуй указать вместо adurbale@kinoforum.local другого доменного пользователя.

anonymous
()
Ответ на: комментарий от anonymous

у меня тоже идет все как по маслу до этого момента)))) Я уверен что проблема в моих руках, но где именно не знаю. Попробовал другого - та же беда. А ты на какую ОС ставишь?

andreyd
() автор топика
Ответ на: комментарий от anonymous

Ладно. В понедельник ещё раз попробую переустановить.

Скажи мне. После установки чего я могу надеяться на работу ldap? После установки сквид?

andreyd
() автор топика
Ответ на: комментарий от andreyd

Ну лдап и так должен работать, а вот инструмент работы с ним, в нашем случае хелпер squid_ldap_auth, установится вместе со сквид. Лучше будет если ты прокоментируешь подробно что делал с момента установки до возникновения ошибки. Через пару часиков напишу несколько рекомендаций, зашиваюсь)

anonymous
()
Ответ на: комментарий от anonymous

Установил убунту, ввел её в домен, установил сквид, настроил его, установил недостающие пакеты для лдап, проверяю - не работает. Могу если надо ещё подробнее)

andreyd
() автор топика
Ответ на: комментарий от andreyd

какие только комбинации имен пользователей не перебирал, уже и всеми регистрами вводил. Все равно никак

andreyd
() автор топика
Ответ на: комментарий от andreyd

Времени не было раньше ответить. Попробуй параметр -D заключить в кавычки -D «adurbale@kinoforum.local».

anonymous
()
Ответ на: комментарий от andreyd

sams.conf я настроил, пользователей добавил. Два вопроса: с какими ключами прописывать хелпер? И что писать в acl для того чтоб разграничить доступ в интернет по группам

andreyd
() автор топика
Ответ на: комментарий от andreyd

В настройках самс в «Настройка авторизации пользователя» выбери Active Directory, галку «Включить использование домена пользователя» убери. Импортируй в самс пользователей из AD которым разрешен интернет. Хелпер так же как в твоем конфиге выше.Реконфигурируй сквид, самс сам пропишет все акл и правила. Попробуй и смотри считается ли трафик.

anonymous
()
Ответ на: комментарий от anonymous

Я, кстати, выбрал второй самс потому, что он умеет импортировать из АД группы, а потом синхронизировать их, т.е. убрал пользователя из группы АД, он исчез из группы в самс, и наоборот добавил, появился. Для меня это более критично чем стабильность.

anonymous
()
Ответ на: комментарий от anonymous

А подскажи, я могу создать например две группы в АД, и одной назначить полные права на интернет, а другой ограничить что-нибудь?

andreyd
() автор топика
Ответ на: комментарий от andreyd

Если вопрос про второй самс то легко, если про первый - рулить только группами самса, вернее не группами, а шаблонами.

anonymous
()
Ответ на: комментарий от anonymous

С этим разобрался. А у тебя импорт/экспорт списков запрета доступа делается нормально? У меня при импорте пишет

can't open sams config file data/urllist.txt
а при экспорте
The requested URL /sams/data/urllist-27Dec2012-14-47-26.txt was not found on this server.
Я так понимаю что речь идет про папку /usr/share/sams/data Я с неё поснимал все права, все равно проблема осталась.

andreyd
() автор топика
Ответ на: комментарий от anonymous

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

andreyd
() автор топика
Ответ на: комментарий от anonymous

Этого файла (urllist.txt) там вообще нет. Если его создать, то он все равно его не видит. Ты можешь посмотреть, каким образом происходит импорт? То есть зачем ему этот файл, и что он туда пишет?

andreyd
() автор топика
Ответ на: комментарий от andreyd

Такое ощущение что дело в путях. Можно попробовать прописать полные пути до файла в скриптах, они лежат в /usr/share/sams/src их имена должны заканчиваться на что то вроде loadlist.php и savelist.php.

anonymous
()
Ответ на: комментарий от anonymous

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

С наступающим! И еще раз спасибо!

andreyd
() автор топика
Ответ на: комментарий от anonymous

В общем, проблему решил так: Создал файл lodalist.txt в любой удобной директории, и прописал путь до этого текстовика в файле contextbuttom_1_loadlist.php. Мож кому поможет)))

andreyd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.