Squid

Squid
Это статья о программном обеспечении. О высокочувствительном измерительном приборе см. СКВИД
Squid
Тип

Прокси-сервер

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

3.2.1 (15 августа 2012)

Лицензия

GNU General Public License

Сайт

Официальный сайт

Squid (англ. squid — «кальмар») — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNU GPL). Все запросы выполняет как один неблокируемый процесс ввода/вывода.

Используется в UNIX-like системах и в ОС семейства Windows NT. Имеет возможность взаимодействия с Active Directory Windows Server путём аутентификации через LDAP, что позволяет использовать разграничения доступа к интернет ресурсам пользователей, которые имеют учётные записи на Windows Server, также позволяет организовать «нарезку» интернет трафика для различных пользователей. Используется вместе с движками Mediawiki на wiki хостингах. Использование кэширующего прокси-сервера становится выгодно примерно с 2000 посетителей в сутки.

Сервер Squid развивается в течение уже многих лет. Обеспечивает совместимость с большинством важнейших протоколов Интернета, а также с операционными системами:

Squid используется и в системе Wikimedia.[1]

Содержание

Описание архитектуры

Списки контроля доступа

Для контроля доступа к ресурсам и определения ряда действий используются списки контроля доступа[2] (англ. access control list, acl). Каждый ACL может состоять из нескольких критериев (но только одного типа):

  • адрес (сеть) источника запроса, цели запроса
  • имя (доменное имя) источника запроса, имя цели запроса
  • части URL запроса
  • протокол
  • порт (получателя, отправителя, самого squid’а)
  • метод (POST или GET) при передаче данных по HTTP
  • браузер (User-agent)
  • ident (запрос к рабочей станции)
  • Номер автономной системы отправителя/получателя (не для всех случаев)
  • Авторизация на прокси-сервере (см. ниже)
  • Номер соединения (чаще всего используется для ограничения количества соединений)
  • SNMP
  • сертификаты пользователя
  • параметры запроса
  • внешние обработчики

Идентификация

Squid поддерживает несколько видов идентификации пользователей:

Для идентификации по логину/паролю возможно использовать:

  • Обычные логин/пароль
  • NTLM-авторизацию
  • Внешние программы авторизации (определяющие формат авторизации)

Ограничение доступа для групп

Редиректоры

Squid имеет возможность переписывать запрашиваемые URL. Squid может быть сконфигурирован так, чтобы пропускать входящие URL через процесс редиректора выполняемого как внешний процесс (подобно dnsserver), который возвращает новый URL или пустую строку, обозначающую отсутствие изменений. Редиректор не является стандартной частью пакета Squid. Редиректор предоставляет администратору контроль за передвижениями пользователей. Использование редиректора в сочетании с прозрачным проксированием дает простой, но эффективный контроль, над доступом к нежелательным ресурсам (например к развлекательным ресурсам и социальным сетям в корпоративной сети, порнографии). Программа-редиректор должна читать URL (один на строку) со стандартного входа и записывать измененные URL или пустые строки на стандартный выход. Нужно заметить, что программа-редиректор не может использовать буферизированный ввод/вывод. Squid дописывает дополнительную информацию после URL, которую редиректор может использовать для принятия решения.

SAMS (SQUID Account Management System) — программное средство для администрирования доступа пользователей к прокси-серверу Squid.

На данный момент SAMS настраивает работу редиректоров:

• Редиректор SAMS — редиректор, работающий напрямую с базами SAMS

• SquidGuard — очень мощный редиректор.

• Стандартный SQUID — простейший редиректор, описанный в документации к SQUID

Виды редикторов:

Редиректор SAMS

Написан специально для SQUID, напрямую использует информацию, содержащуюся в базе данных. Позволяет включить различное перенаправление запросов для пользователей (регулируется шаблонами пользователей). Редиректор SAMS обеспечивает:

• ограничение доступа пользователей к SQUID

• контроль времени доступа пользователей к SQUID

• ограничение доступа пользователей к запрещенным ресурсам (или доступ пользователей только к разрешенным ресурсам)

• перенаправление запросов пользователей к баннерам, счетчикам и т. п.

Редиректор SquidGuard

Мощный редиректор с большими возможностями. В состав редиректора входят списки баннерных, порно и пр. доменов. SAMS добавляет в файл конфигурации SquidGuard squidguard.conf настройки на списки запрещенных доменов и перенаправления доступа SAMS. Настройки на списки, идущие с SquidGuard не изменяются и не удаляются. При использовании редиректора SquidGuard в файл squid.conf заносятся acl, разрешающие доступ всех пользователей к SQUID. Ограничение доступа пользователей организовано средствами редиректора.

Стандартный SQUID

Этот редиректор описан в документации на SQUID. Написан на perl. Редиректор создается после подачи команды на реконфигурирование SQUID, на основе списков перенаправления запросов. Быстрый и легкий редиректор, но не различает пользователей. При использовании этого редиректора, ограничение доступа пользователей по спискам запрета доступа организовано с использованием ACL SQUID. При использовании редиректора SQUID или если редиректор не используется вовсе, то существует возможность — при отключении пользователей за превышение трафика у них остается доступ к URL и IP адресам, прописанным в списке «Локальные домены».

Ограничение максимальной скорости соединения

Ограничение максимальной скорости получения пользователем (пользователями) в squid реализовано с помощью механизма англ. delay pools (дословно — «пулы задержки»). Механизм ограничения скорости работает по принципу бассейна (откуда и название pool (бассейн)), в который «втекает» и «вытекает» информация. Отдельные конфигурируемые подобным образом области памяти называются англ. bucket (ведро). У ведра есть параметры: «ёмкость», «скорость наполнения». Если пользователь (пользователи) получают информацию на скорости ниже, чем «скорость наполнения», то ведро всегда полно. Если пользователь кратковременно поднимает скорость получения информации выше скорости наполнения, то до момента, пока ведро не пусто, он не ограничивается по скорости, как только ведро становится пустым, клиент получает информацию со скоростью наполнения ведра. В случае наличия групповых и индивидуальных вёдер, они включаются последовательно.

Существует три типа (класса) delay pools[3]:

  • Единое ведро (англ. aggregate bucket, class 1) ограничение на общую потребляемую полосу для всей группы. (параметры: ёмкость бассейна, скорость наполнения).
  • Единое ведро с автоматическим формированием индивидуальных вёдер (англ. single aggregate bucket as well as an "individual" bucket, class 2). Индивидуальные вёдра формируются из битов IP-адреса (c 25 по 32).
  • Единое ведро, сетевые вёдра и индивидуальные вёдра (англ. single aggregate bucket as well as a "network" bucket and a "individual" bucket, class 3). Сетевое ведро формируется по битам 17-24 IP-адреса.

Для каждого ведра указываются два параметра: ёмкость и скорость наполнения. −1 означает «без ограничения».

Попадание пользователей в то или иное ведро определяется списками доступа к вёдрам, они просматриваются в порядке упоминания в файле конфигурации до первого совпадения. Пользователи, не попадающие ни в одно из вёдер, в скорости не ограничиваются.

Обратное кэширование

Одной из особенностей squid является возможность работать в режиме «обратного прокси» («reverse proxy»), также известного как «ускоритель» («HTTP accelerator»). В этом случае вместо кэширования запросов нескольких пользователей к множеству сайтов, кешируются запросы множества пользователей к нескольким сайтам. В этом режиме принятый запрос проверяется на «динамичность» (нужно ли каждый раз обрабатывать запрос с нуля) и «возраст» (актуальны ли ещё данные). Если данные ещё актуальны и не поменялись, то запрос не передаётся серверу, а отдаётся из кеша squid’а. Таким образом существенно снижается нагрузка на серверы (например, в Википедии запросы к страницам кешируются, так как от просмотра их содержимое не меняется, при этом нагрузка на серверы существенно меньше — обработка запроса к кешу много проще, чем обработка запроса к базе данных SQL, обработка вики-разметки и формирование веб-страницы).

Кроме того, «обратный прокси» способен распределять запросы между несколькими серверами, балансируя нагрузку и/или обеспечивая отказоустойчивость, то есть фактически предоставляет функциональность, аналогичную кластеру.

Режим прозрачного прокси-сервера

В сочетании с некоторыми межсетевыми экранами и маршрутизаторами squid может работать в режиме прозрачного прокси (англ. transparent proxy). В этом режиме маршрутизатор вместо того, чтобы сразу пересылать HTTP-запросы пользователя HTTP-серверу в Интернете, перенаправляет их прокси-серверу, который может работать как на отдельном хосте, так и на самом маршрутизаторе. Прокси-сервер обрабатывает запрос (с возможной отдачей содержимого из кеша), это содержимое направляется к запросившему пользователю, для которого оно выглядит как «ответ» сервера, к которому адресовался запрос. Таким образом, пользователь может даже не знать, что все запросы и ответы прошли через прокси-сервер.

При таком подходе проксирования аутентификация не предусмотрена, так как прозрачность проксирования это и подразумевает.

Достоинства

  • Администратору прозрачного прокси-сервера не нужно настраивать каждую клиентскую машину для работы с прокси.

Недостатки

  • В режиме прозрачности не проксируются FTP- и HTTPS-запросы [4]

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Squid" в других словарях:

  • SQUID — ist die Abkürzung für Superconducting QUantum Interference Device (Supraleitende Quanteninterferenzeinheit). Ein SQUID ist ein Sensor zur sehr präzisen Messung extrem geringer Magnetfeldänderungen. Die Änderung des Magnetflusses um Φ0 im Ring… …   Deutsch Wikipedia

  • Squid — Aktuelle Version 3.1.16 (14. Oktober 2011) Betriebssystem plattformübergreifend Kategorie Proxyserver Lizenz GPL (Freie Software) …   Deutsch Wikipedia

  • Squid — (skw[i^]d), n. [Cf. {Squirt}.] 1. (Zo[ o]l.) Any one of numerous species of ten armed cephalopods having a long, tapered body, and a caudal fin on each side; especially, any species of {Loligo}, {Ommastrephes}, and related genera. See {Calamary} …   The Collaborative International Dictionary of English

  • squid — [skwid] n. pl. squids or squid [prob. < squit, dial. for SQUIRT] any of a number of long, slender, carnivorous cephalopod sea mollusks (esp. order Teuthoidea) having eight arms and two long tentacles: small squid are used as food and for fish… …   English World dictionary

  • Squid — Squid, calamar en idioma inglés, puede referirse a: Squid, programa que implementa un servidor proxy. Squid, sistema naval de armamento antisubmarino. SQUID, acrónimo inglés para dispositivos superconductores de interferencia cuántica. Esta… …   Wikipedia Español

  • Squid — es un proxy caché diseñado para correr en sistemas tipo UNIX, aunque también puede trabajar sobre Windows. Squid es software libre y tiene: 1. proxy y cache de HTTP, FTP, y otras URLs 2. proxy para SSL 3. cache hierarchies 4. ICP, HTCP, CARP,… …   Enciclopedia Universal

  • squid — squid·der; squid; SQUID; …   English syllables

  • squid — [skwıd] n plural squid or squids a sea creature with a long soft body and ten arms around its mouth …   Dictionary of contemporary English

  • SQUID — ● SQUID nom masculin (sigle de Superconducting QUantum Interference Device) Composant cryoélectronique constitué d un anneau supraconducteur comportant une jonction isolante et utilisé pour mesurer des champs magnétiques extrêmement faibles …   Encyclopédie Universelle

  • squid — [ skwıd ] noun count a sea animal like an OCTOPUS but with ten arms instead of eight a. uncount this animal eaten as food …   Usage of the words and phrases in modern English

  • squid — marine mollusk, 1610s, of unknown origin; perhaps a sailors variant of SQUIRT (Cf. squirt), so called for the ink it squirts out …   Etymology dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»