squid

Welcome to squid

Squid — Википедия

2024.09.14 23:38


Squid

Материал из Википедии — свободной энциклопедии Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 13 мая 2021 года ; проверки требуют 14 правок . Перейти к навигации Перейти к поиску Эта статья — о программном обеспечении. Об оружии см. Squid (противолодочный бомбомёт) . Эта статья — о программном обеспечении. О высокочувствительном измерительном приборе см. СКВИД . Squid
Логотип Squid
Тип прокси-сервер Разработчик Squid Software Foundation [вд] Написана на C++ Операционные системы GNU/Linux [ 3 ] , BSD [вд] и Windows Первый выпуск июль 1996 Последняя версия 6.8 [ 1 ] [ 2 ] ( 4 марта 2024 ) Репозиторий github.com/squid-cache/s… Лицензия GNU GPL 2+ [вд] [ 3 ] Сайт squid-cache.org (англ.)

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

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

Используется вместе с движками Mediawiki на wiki-хостингах. Использование кэширующего прокси-сервера для сайтов становится выгодно примерно с 2000 посетителей в сутки.

Содержание

1 Совместимость 2 Описание архитектуры 2.1 Списки контроля доступа 2.2 Идентификация 2.3 Ограничение доступа для групп 2.4 Редиректоры 2.5 Ограничение максимальной скорости соединения 2.6 Обратное кэширование 2.7 Режим прозрачного прокси-сервера 2.7.1 Достоинства 2.7.2 Недостатки 3 Примечания 4 Ссылки

Совместимость

[ править | править код ]

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

AIX BSDI FreeBSD Linux HP-UX IRIX Mac OS X Microsoft Windows NetBSD NeXTStep OSF и Digital Unix OpenBSD OS/2 , включая EComStation и ArcaOS [ 4 ] SCO Unix SunOS / Solaris

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

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

[ править | править код ] Схема комплекса LAMP, работающего вместе с сервером Squid . Высокопроизводительное и отказоустойчивое решение для веб-сервера во враждебном окружении.

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

[ править | править код ]

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

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

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

[ править | править код ]

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

По IP-адресу (или доменному имени узла) По переданным реквизитам (логин/пароль) По идентификатору пользовательского агента (браузера)

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

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

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

[ править | править код ] Этот раздел статьи ещё не написан . Здесь может располагаться отдельный раздел. Помогите Википедии, написав его. ( 31 декабря 2016 )

Редиректоры

[ править | править код ] Этот раздел статьи ещё не написан . Здесь может располагаться отдельный раздел. Помогите Википедии, написав его. ( 31 декабря 2016 )

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 [ 7 ] :

Единое ведро ( англ. 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 -запросы [ 8 ] .

Для возможности проксирования в прозрачном режиме HTTPS -запросов необходимо собрать с поддержкой SslBump [ 9 ] .

Примечания

[ править | править код ] Squid version 6 (неопр.) . Дата обращения: 4 марта 2024. Squid 6.8 release notes (неопр.) . Дата обращения: 4 марта 2024. 1 2 A Bibliographic Scan of Digital Scholarly Communication Infrastructure (англ.) — Educopia Institute , 2020. Paul Smedley. Unix Ports for OS/2 & ArcaOS (англ.) . Unix Ports for OS/2 & ArcaOS by Paul Smedley . Дата обращения: 13 мая 2021. Архивировано 13 мая 2021 года. Wikimedia servers — Meta (неопр.) . Дата обращения: 21 сентября 2010. Архивировано 10 января 2010 года. Описание ACL в руководстве (неопр.) . Дата обращения: 10 мая 2008. Архивировано 1 марта 2017 года. http://www.squid-cache.org/Versions/v2/2.6/cfgman/delay_class.html Архивная копия от 1 марта 2017 на Wayback Machine Описание опции delay_class Transparent Proxy with Linux and Squid mini-HOWTO (неопр.) . Дата обращения: 20 марта 2011. Архивировано 18 марта 2011 года. Squid in the middle SSL Bump (неопр.) . Дата обращения: 22 марта 2018. Архивировано 17 февраля 2018 года.

Ссылки

[ править | править код ] squid-cache.org — домашняя страница проекта Для улучшения этой статьи по информационным технологиям желательно : Оформить статью по правилам . Найти и оформить в виде сносок ссылки на независимые авторитетные источники , подтверждающие написанное . После исправления проблемы исключите её из списка. Удалите шаблон, если устранены все недостатки. Источник — https://ru.wikipedia.org/w/index.php?title=Squid&oldid=139368937 Категории : Программное обеспечение по алфавиту Программное обеспечение, разработанное в 1996 году Прокси-серверы Свободное серверное программное обеспечение Программное обеспечение для Linux Программное обеспечение для macOS Скрытые категории: Википедия:Cite web (не указан язык) Википедия:Статьи с источниками из Викиданных ПРО:ИТ:Статьи по алфавиту ПРО:ИТ:Последняя правка: в текущем году Википедия:Статьи с ненаписанными разделами с декабря 2016 года Википедия:Статьи с шаблонами недостатков по алфавиту Википедия:Статьи с проблемами в оформлении Википедия:Статьи без ссылок на источники Википедия:Статьи без источников (не распределённые по типам) Википедия:Статьи к доработке по информационным технологиям

Навигация

Персональные инструменты

Вы не представились системе Обсуждение Вклад Создать учётную запись Войти

Пространства имён

Статья Обсуждение русский

Просмотры

Читать Текущая версия Править Править код История Ещё

Поиск

Навигация

Заглавная страница Содержание Избранные статьи Случайная статья Текущие события Пожертвовать

Участие

Сообщить об ошибке Как править статьи Сообщество Форум Свежие правки Новые страницы Справка

Инструменты

Ссылки сюда Связанные правки Служебные страницы Постоянная ссылка Сведения о странице Цитировать страницу Получить короткий URL Скачать QR-код Элемент Викиданных

Печать/экспорт

Скачать как PDF Версия для печати

В других проектах

На других языках

Afrikaans العربية Català Čeština Dansk Deutsch Ελληνικά English Español فارسی Français Magyar Bahasa Indonesia Italiano 日本語 한국어 Lietuvių Bahasa Melayu Nederlands Polski Português සිංහල Simple English Svenska தமிழ் తెలుగు Тоҷикӣ ไทย Türkçe Українська 中文 Править ссылки Эта страница в последний раз была отредактирована 2 августа 2024 в 11:24. Текст доступен по лицензии Creative Commons «С указанием авторства — С сохранением условий» (CC BY-SA) ; в отдельных случаях могут действовать дополнительные условия. Подробнее см. Условия использования .
Wikipedia® — зарегистрированный товарный знак некоммерческой организации «Фонд Викимедиа» (Wikimedia Foundation, Inc.) Политика конфиденциальности Описание Википедии Отказ от ответственности Свяжитесь с нами Кодекс поведения Разработчики Статистика Заявление о куки Мобильная версия

Vivamus fermentum nibh