Скачайте и разархивируйте исходные коды SQUID:
tar xvfz squid-2.x.tar.gz
Серевер SQUID нужно скомпилировать с поддержкой схем авторизации и модулем winbind, для этого запустите файл конфигурации с параметрами:
--enable-auth="ntlm,basic"
--enable-basic-auth-helpers="winbind"
--enable-ntlm-auth-helpers="winbind"
Если вы планируете использовать ncsa аутентификацию, добовать ее в параметр --enable-auth
Кроме того, SQUID поставляется с файлами заголовков определенной версии SAMBA.
Если у ваша версия SAMBA не совпадает, необходимо при конфигурировании
добавить следующую строку:
--with-samba-sources=путь,
где путь - путь к заголовкам вашей версии SAMBA.
Возможно, наиболее правильным решением является в любом случае собирать SQUID с файлами заголовков той версии SAMBA, что установлена в вашей системе.
далее компилируем и инсталлируем SQUID:
make
make install
SQUID может беспечивать доступ пользователей:
Для того, чтобы SQUID мог авторизоватьпользователей в домене Windows, необходимо установить и настроить SAMBA :
Далее проверяем авторизатор SQUIDа на работу с winbind. Для этого нужно запустить:
/usr/lib/squid/wb_auth -d
И ввести вручную домен+имя пароль (через пробел).
Если все работает корректно, то буден выдан ответ:
/wb_auth[91945](wb_basic_auth.c:129): Got 'dmn XXXXX' from squid (length: 10)
/wb_auth[91945](wb_basic_auth.c:55): winbindd result: 1
/wb_auth[91945](wb_basic_auth.c:58): sending 'OK' to squid
в файл /etc/squid/squid.conf добавляем строки:
auth_param ntlm program /usr/lib/squid/wb_ntlmauth
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /usr/local/squid/libexec/wb_auth
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
Причем важно чтобы NTLM авторизация шла первой, иначе будет применяться авторизация basic, и IE будет спрашивать пароль.
Для того, чтобы SQUID мог авторизоватьпользователей в домене Windows 2000, необходимо установить и настроить SAMBA:
Разработчики SQUID рекомендуют использовать с Samba3 (Active Directory) хелпер,
идущий в составе samba3:
ntlm_auth.
Далее проверяем авторизатор SQUIDа на работу с winbind. Для этого нужно запустить:
/path/to/ntlm_auth --helper-protocol=squid-2.5-basic
И ввести вручную домен+имя пароль (через пробел).
Если все работает корректно, то буден выдан ответ:
[2007/08/28 16:11:41, 3] utils/ntlm_auth.c:check_plaintext_auth(292)
NT_STATUS_OK: Success (0x0)
OK
в файл /etc/squid/squid.conf добавляем строки:
auth_param ntlm program /path/to/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /path/to/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
Причем важно чтобы NTLM авторизация шла первой, иначе будет применяться авторизация basic, и IE будет спрашивать пароль.
Проверяем авторизатор SQUIDа на работу с Active Directory. Для этого нужно запустить:
/usr/lib/squid/squid_ldap_auth -u cn -b "cn=Users,dc=your,dc=domain" ldapserver
И ввести вручную имя пароль (через пробел).
Если все работает корректно, то буден выдан ответ:
OK
в файл /etc/squid/squid.conf добавляем строки:
auth_param ntlm program /usr/lib/squid/squid_ldap_auth -u cn -b "cn=Users,dc=your,dc=domain" ldapserver
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /usr/lib/squid/squid_ldap_auth -u cn -b "cn=Users,dc=your,dc=domain" ldapserver
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
Внимание!!! настройка работы с AD довольно сложная штука, по-этому если что-то не получается не пишите сразу мне письма, а попытайтесь почитать документацию в интернете
в файл /etc/squid/squid.conf добавляем строки:
auth_param basic program /usr/libexec/ncsa_auth /etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
Внимание!!! NTLM и NCSA авторизация одновременно работать не могут. используйте их раздельно.
Если Вы хотите, чтобы при работе прокси сервера вырезались графические объекты (баннеры и исчетчики), необходимо настроить работу SQUID с редиректором.
SAMS автоматически не прописывает редиректор в squid.conf. Почему? Возможно вы хотите использовать другой редиректор, навязывать что-то нехочу.
Добавьте в squid.conf строку
redirect_program /path/to/redirector
Подробно о настройке редиректора читайте здесь
При внесении изменений в squid.conf samsdaemon привязывается к тэгам начала разделов, например
# TAG: acl
Наличие этих тэгов необходимо!!!
Кроме того, sams добавляет только те настройки, которые необходимы для работы пользователей,
зарегистрированных в SAMS.
acl типа acl all src 0.0.0.0/0.0.0.0 и прочие не вносятся и не удаляются.
Если вы создали какие-то свои настройки для sams в squid.conf, чтобы они не уничтожались при реконфигурировании,
поставьте после ваших правил знак комментария # (решетка). samsdaemon не удаляет строки где есть знак #.