# ПАРАМЕТРЫ АУТЕНТИФИКАЦИИ (AUTHENTIFICATION)
# -----------------------------------------------------------------------------
# TAG: auth_param
# -------------------------------------
# Тег используется для определения параметров для различных схем аутентификации
# поддерживаемых Squid.
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 70
auth_param ntlm keep_alive off
# КОНТРОЛЬ ДОСТУПА (ACCESS CONTROLS)
# -----------------------------------------------------------------------------
# TAG: acl
# -------------------------------------
# Этот тэг позволяет задавать ACL.
acl ALL src 0.0.0.0/0
acl MANAGER proto cache_object
acl DOMAIN src 192.168.0.0/16
acl LOCALHOST src 127.0.0.1/32
acl TO_LOCALHOST src 127.0.0.0/8
acl PASSWORD proxy_auth REQUIRED
acl PURGE method PURGE
acl CONNECT method CONNECT
# Порты
acl Safe_ports port 21 # ftp
acl Safe_ports port 70 # gopher
acl Safe_ports port 80 # http
acl Safe_ports port 81 # http
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 443 # https
acl Safe_ports port 488 # gss-http
acl Safe_ports port 554 # kamera
acl Safe_ports port 563 # snews
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 1863 # msn
acl Safe_ports port 2042 # mail.ru agent
acl Safe_ports port 5222 # jabber
acl Safe_ports port 5223 # jabber SSL
acl Safe_ports port 4500 # kamera
acl Safe_ports port 8006 # proxmox
acl Safe_ports port 9000 # java, kamera
acl Safe_ports port 1025-65535 # unregistered ports
acl SSL_ports port 443 563 1863 2083 5222 8006 8443 10443 33333-33335 30003 9000 44443-44445 # SSL
# TAG: http_access
# -------------------------------------
# Этот тэг разрешает или запрещает доступ основываясь на имеющихся ACL
# Разрешаем доступ cachemgr с локального хоста
http_access allow MANAGER LOCALHOST
http_access deny MANAGER
# Разрешаем PURGE запросы только с локального хоста
http_access allow PURGE LOCALHOST
http_access deny PURGE
# Запрещаем доступ по незнакомым портам
http_access deny !Safe_ports
# Запрещаем метод CONNECT к другим портам кроме SSL портов
http_access allow IBANK_DST
http_access deny CONNECT !SSL_ports
# Настоятельно рекомендуется, чтобы к сервисам localhost имели только локальные
# пользователи и локальные программы. Из этих соображений следует запретить
# доступ к localhost службам и сервисам
http_access deny TO_LOCALHOST
# Пишем сюда свои собственные правила
http_access allow LOCALHOST
http_access allow PASSWORD
# А все остальные идут на CENSORED
http_access deny ALL
# TAG: icp_access
# -------------------------------------
# Этот тэг разрешает или запрещеает доступ по ICP порту основываясь на ACL.
icp_access allow LOCALHOST
icp_access deny ALL
# СЕТЕВЫЕ НАСТРОЙКИ (NETWORK OPTIONS)
# -----------------------------------------------------------------------------
# TAG: http_port
# -------------------------------------
# Этот тэг устанавливает порт на котором, Squid будет слушать HTTP запросы
# клиента.
http_port 3128
# ДРУГИЕ АРГУМЕНТЫ ВЫБОРА (NEIGHBOR SELECTION ALGORITHM)
# -----------------------------------------------------------------------------
# TAG: hierarchy_stoplist
# -------------------------------------
# Этот тэг задает список слов, которые при нахождении их (этих слов) в URL,
# сообщают Squid то, что объект расположенный по этому URL надо брать
# напрямую, а не из кэша.
hierarchy_stoplist cgi-bin ?
# НАСТРОЙКИ ПАМЯТИ КЭШИРОВАНИЯ (MEMORY CACHE OPTIONS)
# -----------------------------------------------------------------------------
# TAG: cache_mem (bytes)
# -------------------------------------
# Этот тэг определяет количество памяти для использования под:
# * In-Transit objects (Транзитные объекты)
# * Hot Objects ("Горячие" объекты, т.е. часто запрашиваемые)
# * Negative-Cached objects
cache_mem 8 MB
# TAG: maximum_object_size_in_memory (bytes)
# -------------------------------------
# Этот тэг задает размер объекта который может хранится в памяти.
maximum_object_size_in_memory 8 KB
# TAG: broken_posts
# -------------------------------------
# Этот тэг определяет дописывание дополнительных CRLF после тела PUT/POST запроса.
acl bad_hosts dstdomain portal.portal.ru
broken_posts allow bad_hosts
# ОПЦИИ ЛОГИРОВАНИЯ (LOGFILE OPTIONS)
# -----------------------------------------------------------------------------
# TAG: access_log
# -------------------------------------
# Этот тэг определяет местоположение журнала access.log в который будет
# производится запись клиентской активности.
access_log /var/log/squid/access.log squid
buffered_logs on
# URL REWRITING
# -----------------------------------------------------------------------------
# TAG: location_rewrite_program
# -------------------------------------
# Этот тэг определяет местоположение исполнительного файла программы
# Location rewriter, которая используется для преобразования URL в ответах
# сервера.
url_rewrite_program /usr/bin/samsredir
# TAG: location_rewrite_concurrency
# -------------------------------------
# Этот тэг определяет возможное число запросов, к каждому экземпляру
# преобразователя, которые могут быть обрабатыватся одновременно (параллельно).
location_rewrite_concurrency 0
# TAG: location_rewrite_access
# -------------------------------------
# Этот тэг определяет список, содержащий запросы, которые будут
# перенаправлены к преобразователю.
# ОПТИМИЗАЦИЯ КЭШИРОВАНИЯ (TUNING THE CACHE)
# -----------------------------------------------------------------------------
# TAG: cache
# -------------------------------------
# Этот тэг позволяет определить объекты, которые не будут кэшироватся.
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
# TAG: refresh_pattern
# -------------------------------------
# Этот тэг позволяет настраивать дополнительные параметры оптимизации кэширования.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
# НАСТРОЙКИ HTTP (HTTP)
# -----------------------------------------------------------------------------
# TAG: upgrade_http0.9
# -------------------------------------
# не знаю, по дефолту стоит, пусть будет пока что
acl SHOUTCAST rep_header X-HTTP09-First-Line ^ICY\s[0-9]
upgrade_http0.9 deny SHOUTCAST
# TAG: broken_vary_encoding
# -------------------------------------
# Этот тэг определяет запрещение использования ETag.
acl APACHE rep_header Server ^Apache
broken_vary_encoding allow APACHE
# TAG: extension_methods
# -------------------------------------
# Этот тэг позволяет добавить расширенные методы запросов.
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
# TAG: header_access
# -------------------------------------
# Этот тэг является заменой старого тэга 'anonymize_headers' и ещё более
# старого 'http_anonymizer'.
# Куки - передача и прием, куда же без них...
header_access Cookie allow all
header_access Set-Cookie allow all
# некоторые странички-сайты требуют источник перехода в целях защиты от ботов
header_access Referer allow all
# ПРОЧЕЕ (MISCELLANEOUS)
# -----------------------------------------------------------------------------
# TAG: forwarded_for on|off
# -------------------------------------
# Этот тэг определяет, будет ли Squid вставлять IP адрес клиента в заголовок
# X-Forwarded-For.
forwarded_for off
# TAG: coredump_dir
# -------------------------------------
# Этот тэг определяет местоположение директории, которая будет содержать core файлы.
coredump_dir /var/spool/squid
error_directory /usr/share/squid/errors/Russian-koi8-r
# Чтобы по фтп работал с ascii
ftp_telnet_protocol off
# Дескрипторы (дефолт 1024)
max_filedesc 4096