Настройване на прокси сървър SquidNt с оторизация на потребителя в Active Directory

В организация, чиято информационна система е базирана на мрежа, изградена на Windows сървъри с Active Directory, за решаване на типична задача за осигуряване на достъп до Интернет можете да използвате опцията, която е многократно тествана на Linux - това еSquid прокси сървър. За да работи под Windows, се използва неговата сборка SquidNt. За някои ще бъде важно Squid да се разпространява под GNU General Public License, тоест безплатно. Конфигурационните опции на Squid са доста широки и позволяват достъп до почти всички http-ресурси в Интернет, с филтриране (блокиране на банери), ограничаване на достъпа, ограничения на потребителския или компютърния трафик и т.н. Самият процес на инсталиране на програмата е прост, така че ще го пропусна и ще премина направо към основната тема на бележката.

Цел: да се осигури достъп до Интернет чрез прокси сървър на 2 групи потребители на Active Directory. Първата група има неограничен достъп. Втората група има достъп само до сайтове в списъка с ограничения. Всички компютри работят с операционна система Windows, като основният браузър е Internet Explorer. Освен това понякога се използват Firefox и Opera. Достъпът трябва да се предоставя само от тези компютри, които са добавени към списъка с разрешен достъп до Интернет.

След това ще дам част от файлаsquid.conf :

Файлът "C:/squid/etc/acls/allow.restrictedaccess.sites.acl" съдържа списък с разрешени сайтове по регулярен израз във всеки ред на сайта:

Освен това, за удобство, направих пакетен файл, който съдържа команда, с която можете да проверите членството в група

Също така направих файл, в който да правя промениработеща конфигурация след редактиране на файла squid.conf.

mswin_ntlm_auth.exe - естествен Windows NTLM/NTLMv2 удостоверител за Squid с поддръжка на NTLM NEGOTIATE.

mswin_ntlm_auth [-d] [-v] [-AD LocalUserGroup] [-h]

-d разрешаване на отстраняване на грешки

-v активиране на подробно NTLM отстраняване на грешки

mswin_check_lm_group.exe е външен манипулатор на схема за дефиниране на ACL за Squid.

mswin_check_lm_group [-D домейн][-G][-c][-d][-h]

-D указва домейна на потребителя

-G програмата работи в глобален режим, тоест в режим на домейн

-c Името на групата може да бъде указано без значение за главни и малки букви

-d разрешаване на отстраняване на грешки

Този манипулатор трябва да се използва със схема за удостоверяване (Basic, NTLM или Negotiate), която работи с потребители на Windows Active Directory.

Манипулаторът чете името на домейна на потребителя от стандартния вход, използва го, за да получи списък с групи от Active Directory и ги сравнява с посочения в описанието на правилото.

Групите с интервали в името трябва да бъдат оградени в кавички, например „Потребители на домейн“, и поставени в отделен файл, който се извиква от правилото, например:

acl ProxyUsers външна NT_global_group "c:/squid/etc/DomainUsers"

И файлът "c:/squid/etc/DomainUsers" има само един ред:

Стандартното сравнение на имена на групи е чувствително към малки и главни букви, така че трябва или да спазвате главни и малки букви, или да посочите опцията -c, която обаче не работи с имена на групи, написани на език, различен от английски.

Използваните NTLM и Basic удостоверители трябва да се стартират без превключвателите -A и -D.