Конфигурирование Squid - файл squid.conf
#
# параметры администрирования
# -----------------------------------------------------------------------------
visible_hostname squid.elemer.local #это имя будет упоминаться в сообщениях об ошибках
httpd_suppress_version_string off #подавлять выдачу номера версии Squid
# сетевые параметры сервера
# -----------------------------------------------------------------------------
# http_port ip:port (порт для запросов клиентов); можно указывать перед портом имя хоста или IP-адрес
http_port 192.168.10.1:3128
client_persistent_connections on # использовать постоянные соединения при общении с клиентами
server_persistent_connections on # использовать постоянные соединения при общении с серверами
persistent_connection_after_error off # не использовать постоянные соединения после получения ошибки
# размер кеша и параметры кеширования, параметры запросов
# -----------------------------------------------------------------------------
# cache_mem 8 MB (объем оперативной памяти, используемой для хранения обрабатываемых объектов;
# используется для хранения наиболее часто используемых объектов, отрицательных ответов, индекс объектов,
# кэш IP-адресов, fqdn-кеш и др.)
cache_mem 256 MB
# сообщения об ошибках, журналы и мониторинг
# -----------------------------------------------------------------------------
access_log c:/squid/var/logs/access.log
cache_log c:/squid/var/logs/cache.log # журнал запусков процессов
cache_store_log none # журнал записи объектов в дисковый кеш
# debug_options раздел,уровень # уровень отладки; по умолчанию ALL,1; уровень от 1 до 9 - наивысший; перечень разделов приведен в doc/debug-sections.txt
# deny_info err_page_name acl # запросы, не прошедшие проверку в http_access, проверяются на соответствие acl выдается соответствующее сообщение об ошибке из файла page_name)
buffered_logs on # при включении запись в журнал буферизуется и слегка ускоряется
error_directory c:/squid/share/errors/Russian-1251
# параметры обработки запросов FTP
# -----------------------------------------------------------------------------
ftp_passive off
ftp_user squid@comper.ru
ftp_list_width 64
icon_directory C:/squid/share/icons #каталог с иконками для FTP-оглавления
# параметры обработки DNS запросов
# -----------------------------------------------------------------------------
# проверять DNS имена на соответствие стандартам
check_hostnames on
# dns_nameservers будет использоваться вместо того списка DNS-серверов, который опреден в системе; по умолчанию - none
# dns_nameservers список-IP-адресов
positive_dns_ttl 6 hours
negative_dns_ttl 5 minutes
# параметры аутентификации
# -----------------------------------------------------------------------------
# auth_param схема имя-параметра значение
# задание параметров для программ аутентификации. squid может предлагать клиенту несколько схем аутентификации (заголовок Proxy-Authenticate:),
# а браузер должен выбрать из них самую безопасную из понимаемых им; на практике, браузеры обычно выбирают самую первую; порядок предъявления схемы
# определяется порядком первого появления имени схемы в squid.conf; выключить действие схемы командой reconfigure нельзя):
# -- basic - если squid получает запрос, который попадает под ACL proxy_auth (proxy_auth_regex, external с %LOGIN) в http_access, то squid ищет
# заголовок Authorization и извлекает из него имя и пароль (base64, открытым текстом); если заголовок не обнаружен, то браузеру возвращается
# сообщение об ошибке 407 (Proxy Authentication Required) со списком допустимых схем аутентификации, браузер запрашивает у пользователя имя и
# пароль для определённой области действия (realm); полученные от пользователя имя и пароль браузер передаёт в последующих запросах к squid в
# заголовке Authorization; для аутентификации используется внешняя программа, которая получает на стандартный ввод имя и пароль и должна
# ответить "OK" или "ERR"; параметры: program (имя программы и параметры), children (5), concurrency (предварительно необходимо убедиться,
# что поддерживается), realm (область действия, показывается пользователю при запросе пароля), credentialsttl (2 часа), casesensitive (off),
# blankpassword (off).
# -- ntlm - используется протокол NTLMSSP между squid и браузером; с клиентской стороны поддерживается MS IE и Firefox;
# для аутентификации используется внешняя программа, которая участвует в этом протоколе;
# параметры: program (имя программы и параметры), children (5), keep_alive (on, могут быть проблемы с IE).
auth_param ntlm program C:/Squid/libexec/mswin_ntlm_auth.exe
auth_param ntlm children 5
auth_param ntlm keep_alive on
auth_param basic program c:/Squid/libexec/mswin_auth.exe -O elemer
auth_param basic children 2
auth_param basic realm Autosphere Squid proxy-server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on
external_acl_type Ad_Check %LOGIN c:/Squid/libexec/mswin_check_lm_group.exe -G
# ACL - определение списков доступа
# -----------------------------------------------------------------------------
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0 #Все
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl our_networks src 192.168.10.0/24
#Открытые порты
acl SSL_ports port 443
acl SSL_ports port 8443 # SSL
acl SSL_ports port 5190
acl Safe_ports port 80 # http
acl Safe_ports port 5190 # icq
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 8443 # https
acl Safe_ports port 1025-65535 # unregistered ports
acl CONNECT method CONNECT
# Разграничиваем доступ по времени
acl work-week time MTWHF 10:00-17:00 # Доступ с 10-00 до 17-00 с понедельника по пятницу
acl all-week time SMTWHFA 10:00-17:00 # Доступ с 10-00 до 17-00 всю неделю
acl all-time time SMTWHFA 00:00-24:00 # Доступ круглосуточно всю неделю
#Проверяем принадлежность AD-группе (InternetAllow, InternetAllowVip - AD-группы)
acl password proxy_auth REQUIRED
acl DomainUsers external Ad_Check InternetAllow
acl VipUsers external Ad_Check InternetAllowVip
#HelpDesk
acl HelpDesk dstdomain .comper.ru
#обновления нода
acl HelpDesk dstdomain .eset.com
#Закрываем развлекалово навечно
#acl deny_url url_regex "c:\squid\etc\deny_url.txt"
#Закрываем развлекалово в рабочее время
#acl deny_url_in_work_time url_regex "c:\squid\etc\deny_url_in_work_time.txt"
# Лимиты
# -----------------------------------------------------------------------------
# Забаненные по месячному лимиту
acl Baned proxy_auth_regex "c:/squid/etc/banned_M.txt"
# Забаненные по суточному лимиту
acl Baned proxy_auth_regex "c:/squid/etc/banned_D.txt"
# права доступа
# -----------------------------------------------------------------------------
#Разрешаем всем HelpDesk
http_access allow HelpDesk
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
http_access deny !our_networks
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#Закрываем развлекалово
#http_access deny deny_url
#http_access deny deny_url_in_work_time all-week
#Разрешаем пользователеям из группы InternetAllow Интернет, кроме забаненных
http_access allow !Baned DomainUsers
# And finally deny all other access to this proxy
http_access deny all
# SNMP
# -----------------------------------------------------------------------------
# порт, который слушает squid для SNMP запросов
snmp_port 3401
acl snmppublic snmp_community public
# кто будет допущен к SNMP порту, по умолчанию - никто
snmp_access allow snmppublic localhost
snmp_access deny all
# параметры DELAY POOL, ограничивают интенсивность использования кеша для отдельных хостов и подсетей
# -----------------------------------------------------------------------------
# delay_pools 0
# delay_class номер-пула класс (д.б. ровно один пул каждого класса; классы: 1 - 3)
# delay_access номер-пула allow|deny acl ...
# delay_parameters pool aggregate network individual
# delay_initial_bucket_level 50