Реферати

Курсова робота: Настройка прокси-сервера Squid

Ефективність діяльності підприємства. Міністерство науки й утворення України Слов'янський Коледж Національного Авіаційного Університету РЕФЕРАТ По дисципліні: "Економіка підприємства"

Ділове переписування з закордонними партнерами. Зміст Уведення......3 Ділові листи і їхня класифікація......4 Види некомерційних ділових листів......5 Види комерційних ділових листів ......6 Стандарти міжнародної організації по стандартизації (ИСО) на оформлення переписування......7 Реквізити міжнародного листа......10

Тріада влади: сила, багатство і знання. В інформаційному світі боротьба за владу і домінування перетворюється в боротьбу за розподіл і доступ до інформації і знань. Знання - саме демократичне джерело влади. Контроль за розподілом і доступом до інформації - основа битви за владу.

Аналіз функціонування і розвитку валютної системи Росії. Федеральне агентство по утворенню Волзький гуманітарний інститут (філія) ГОУ ВПО "Волгоградський державний університет" Економічний факультет

Дослідження освітленості робочих місць і вивчення принципу роботи Люксметра. Федеральне агентство по утворенню Старооскольский технологічний інститут (філія) державної освітньої установи вищого професійного утворення

Введення

HTTP прокси-сервер являє собою програму, яка приймає запити від клієнтів у вигляді URL-адрес і повертає результат клієнту. Прокси-сервери використовуються в мережах, де клієнти не мають прямого доступу до Інтернету, але повинні мати можливість перегляду веб-сторінок. Крім того, прокси-сервер предпологает кеширование запитів виконаних одного разу деяким клієнтом.

Багато які компанії і організації ставлять в мережах firewall(файрволли, брандмауери), щоб заблокувати весь вхідний і вихідний трафік у внутрішніх локальних мережах. Це може бути зроблене по міркуваннях безпеки, або для обмеження списку осіб що мають доступ в Інтернет. Оскільки можливість перегляду веб-сторінок є надзвичайно корисною, прокси-сервер настроюється так, що веб-сайти можуть бути доступні через нього.

Великі організації і провайдер з великою кількістю клієнтів, також можуть використати прокси-сервер для зниження навантаження на мережу, тому, що однією з головних задач прокси-сервера є кеширование сторінок запитів клієнтів, то будь-яка сторінка запитана декілька разів буде повернена з кеша, замість того щоб захитати її наново. З цієї причини, клієнтам часто рекомендують використати прокси-сервер для доступу до мережі Інтернет.

Прокси-сервер корисний тільки тоді, коли браузер клієнта настроєний так, щоб провести запити через сервер, замість звертання до сайтам прямо. На сьогодні кожний браузер уміє працювати через прокси-сервер.

Проект прокси-сервера Squid в свій час відділився від нині платного проекту Harvest і розробляється декількома ентузіастами на чолі з Duane Wessels з Національної лабораторії по дослідженню мереж (National Laboratory for Applied Network Research). Сервер Squid - це високопродуктивний кеширующий прокси-сервер, орієнтований передусім на роботу з користувачами, які займаються активним серфингом в Інтернеті. Squid підтримує роботу користувачів з такими протоколами, як FTP, HTTP, HTTPS і GOPHER. На відміну від інших подібних проектів, прокси-сервер Squid володіє цікавою особливістю - виконання запитів користувачів реалізоване в ньому як один великий процес введення-висновку, що неблокується, що забезпечує більш високу продуктивність сервера загалом. Оскільки сервер Squid є кеширующим прокси-сервером, він підтримує широкі можливості по побудові ієрархічної структури зв'язку кеш-серверів на основі протоколів ICP/UDP (Internet Cache Protocol), HTCP/TCP і multicast. Така система дозволяє отримати високу продуктивність і оптимізувати пропускну спроможність каналу в Інтернет. Кеш сервера розділяється на віртуальний, який знаходиться в оперативній пам'яті комп'ютера, і звичайний, який зберігається на жорсткому диску. Об'єкти, що Найчастіше використовуються зберігаються в оперативній пам'яті, що прискорює процес їх відсилання клієнтам. Також у віртуальній пам'яті зберігається велика частина запитів DNS. Squid в повній мірі підтримує SSL (HTTPS), що забезпечує конфіденційність інформації, що передається користувачами і приватность їх роботи в Інтернеті. Також не можна обійти увагою широкі можливості по аутентификація користувачів на основі різних методик: NCSA, LDAP, MSNT, NTLM, PAM, SMB, SASL і інш. Всі додаткові програми для аутентификація користувачів йдуть в комплекті з основним ядром програми. Як видно з перерахованих методик, Squid підтримує авторизацію користувачів коштами сервісів не тільки на Linux, але і на Windows-платформі (MSNT і NTLMv1). У майбутньому очікується підтримка сервісу NTLMv2, який використовується в операційних системах Windows 2003 Server і Vista.

1. Опис предметної області

1.1 Постановка задач

Для комп'ютерної мережі, що виходить в інтернет через прокси-сервер Squid, настроїти список контролю доступу. Сервер розташований на комп'ютері під управлінням операційної системи сімейства Linux.

1.2 Linux Mint

Linux Mint - дистрибутив, заснований на Ubuntu GNU/Linux. Linux Mint відрізняється від більшості дистрибутивів на основі Ubuntu GNU/Linux тим, що внаслідок змін операційна система не втрачає сумісність і ті позитивні якості, якими наділена оригінальна Ubuntu. Розробники Linux Mint вносять в дистрибутив Ubuntu ряд корисних змін, виправляючи деякі недоліки і недоліки, тим самим роблячи її доступній більш широкій аудиторії користувачів, а в довершення до всього комплектують операційну систему оригінальним інтерфейсом і рядом власних додатків (mintInstall, mintUpdate, mintBackup, mintConfig, mintAssistant, mintMenu, mintDesktop, mintNanny і інших). Зростаюча популярність Linux Mint пояснюється просто. Нові користувачі легко можуть встановити систему і відразу ж включитися в роботу. Професіонали, в свою чергу, отримують стабільну і сучасну систему, що легко конфігурується, на настройку якої вони будуть тратити значно менше часу. Девіз цього дистрибутива linux «from freedom came elegance» можна перевести так: свобода, що привносить елегантність.

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

Прокси-сервер (від англ. proxy - «представник, уповноважений») - служба в комп'ютерних мережах, що дозволяє клієнтам виконувати непрямі запити до інших мережевих служб. Спочатку клієнт підключається до прокси-сервера і запитує який-небудь ресурс (наприклад, e-mail), розташований на іншому сервері. Потім прокси-сервер або підключається до вказаного сервера і отримує ресурс у нього, або повертає ресурс з власного кеша (у випадках, якщо прокси-сервер має свою кеш). У деяких випадках запит клієнта або відповідь сервера може бути змінений прокси-сервером в певних цілях. Також прокси-сервер дозволяє захищати клієнтський комп'ютер від деяких мережевих атак.

1.4 Використання прокси-серверів

Частіше за все прокси-сервери застосовуються для наступних цілей:

Забезпечення доступу з комп'ютерів локальної мережі в Інтернет.

Кеширование даних: якщо часто відбуваються звернення до одних і тих же зовнішніх ресурсів, то можна тримати їх копію на прокси-сервері і видавати по запиту, знижуючи тим самим навантаження на канал у зовнішню мережу і прискорюючи отримання клієнтом запитаної інформації.

Стиснення даних: прокси-сервер завантажує інформацію з Інтернету і передає інформацію кінцевому користувачу в стислому вигляді. Такі прокси-сервери використовуються в основному з метою економії зовнішнього трафіка.

Захист локальної мережі від зовнішнього доступу: наприклад, можна настроїти прокси-сервер так, що локальні комп'ютери будуть звертатися до зовнішніх ресурсів тільки через нього, а зовнішні комп'ютери не зможуть звертатися до локальних взагалі (вони «бачать» тільки прокси-сервер).

Обмеження доступу з локальної мережі до зовнішньої: наприклад, можна заборонити доступ до певним веб-сайтам, обмежити використання інтернету якимсь локальним користувачам, встановлювати квоти на трафік або смугу пропускання, фільтрувати рекламу і віруси.

Анонимизация доступу до різних ресурсів. Прокси-сервер може приховувати зведення про джерело запиту або користувачі. У такому випадку цільовий сервер бачить лише інформацію про прокси-сервер, наприклад, IP-адреса, але не має можливості визначити істинне джерело запиту. Існують також спотворюючі прокси-сервери, які передають цільовому серверу помилкову інформацію про істинного користувача.

Багато які прокси-сервери використовуються для декількох цілей одночасно. Деякі прокси-сервери обмежують роботу декількома портами: 80 (HTTP), 443 (Шифроване з'єднання HTTPS), 20,21 (FTP).

1.5 Типи прокси-серверів

Часто надане для прокси-сервера обладнання буде насправді виконувати або підтримувати безліч типів прокси-сервісів. Наприклад, прокси-сервер може надавати можливості кеширования і аутентификація в доповнення до основної функції забезпечення мережевого посередництва для додатків.

Ключовими типами прокси-серверів, є:

пересилаючі прокси-сервери (forward proxies);

прозорі прокси-сервери (transparent proxies);

кеширующие прокси-сервери (caching proxies);

прокси-сервер забезпечення безпеки (security proxies);

зворотні прокси-сервери (reverse proxies).

Що Пересилають прокси-сервер и

Пересилаючий прокси-сервер є прокси-сервером, який допомагає користувачам з однієї зони безпеки виконувати запити контента з "наступної" зони, слідуючи напряму, який звичайно (але не обов'язково) є вихідним (це означає, що клієнт знаходиться всередині, а сервер десь у відкритому Інтернеті).

З точки зору безпеки простий прокси-сервер має на меті забезпечення безпеки, що перебуває в захованні найменування (в термінах топології внутрішньої мережі) робочої станції або процесу запитуючого користувача. Він може також застосовуватися для заховання деяких інших атрибутів сеансу користувача.

Типовим прикладом цього типу є корпоративні прокси-сервери, які обслуговують внутрішніх користувачів за допомогою дозволу ним доступу на зовнішні сайти для Web-браузинга або будь-якого іншого виду взаємодії з Інтернетом.

З точки зору топології (як в загальному значенні, так і відносно ширини смуги пропускання) пересилаючі прокси-сервери завжди відносно обмежені в термінах мережевої швидкості по відношенню до своїх користувачів через більш повільне WAN-з'єднання (з'єднання з глобальною мережею), яке звичайно відділяє пересилаючий прокси-сервер від реального контента в Інтернеті.

Прозорі прокси-сервера

Прозорі прокси-сервера є прокси-серверами, які "знаходяться тут", але не інформують користувачів в прямій формі про те, що вони тут знаходяться. У пересилаючих прокси-серверах звичайно існують Linux/UNIX блоки, які слухають весь трафік по певному протоколу для певного сегмента мережі і перехоплюють трафік, хоч призначений для користувача процес насправді не знає про їх існування. Фактично призначений для користувача процес не спілкується з прокси-сервером, але спілкується з іншим (кінцевим) сайтом, а прокси-сервер, в суті, стає тією "людиною посередині", який "зламує" з'єднання.

Прокси-сервер є непрозорим, або оголошеним, коли користувачі знають про те, що вони спілкуються через прокси-сервер, тому що вони звертаються (на мові прокси-сервера: HTTP) до прокси-сервера.

Прозорі прокси-сервера самі по собі не є насправді типом прокси-сервера, швидше будь-який прокси-сервер є або прозорим, або оголошеним по проекту.

Кеширующие прокси - сервери

Кеширующиє прокси-сервери, як вказано в їх назві, є прокси-серверами, якими сконфигурировани на повторне використання кешированних образів контента, коли це доступне і можливе. Коли кешированная раніше частина контента недоступна, то проводиться її вибірка і використання в контенте, але також з спробою її кеширования.

Найбільш важливим аспектом для кеширующих прокси-серверів є необхідність забезпечення того, що кеширующие прокси-сервери кешируют тільки те, що насправді можна кешировать. Динамічний, контент не кращий вибір, що регулярно змінюється для кеширования, оскільки це може надати вплив на стабільність додатку, заснованого на цьому контенте. У випадку НТТР-контента заголовки HTTP відображають можливість кеширования контента за допомогою покажчиків "cache".

У більшості випадків пересилаючі прокси-сервери конфігуруються також для роботи як кеширующих прокси-сервери. Це явище використовується настільки часто, що компанія IBM включила це в назву компонента свого Edge Server: IBM Caching Proxy.

Прокси-сервер забезпечення безпеки

Як необхідна для простих прокси-серверів функціональність прокси-сервери можуть бути сконфигурировани для приведення у виконання політик безпеки. Такі прокси-сервери забезпечення безпеки можуть обробляти (або виступати як посередники при обробці) запити аутентификація і авторизації. У цих випадках аутентификація користувача клієнта і авторизація клієнта для доступу до певному контенту контролюється самим прокси-сервером. Далі мандат безпеки посилається від прокси-сервера до кінцевих серверів із запитом, а кінцевий сервер повинен бути сконфигурирован на надання довір'я прокси-серверу, що надається мандату.

Існує багато різних продуктів і пропозицій, а також безліч топологій на вибір, але з точки зору виконання прокси-функцій безпека є додатковою функцією, яку може виконувати прокси-сервер.

У більшості випадків функціональні можливості по забезпеченню безпеки можуть бути додані стандартному прокси-серверу у вигляді додаткового програмного модуля (плагина, від англ.- plug-in) (наприклад, IBM Tivoli WebSeal Plug-In для IBM WebSphere Edge Server). Існують також і окремі продукти, такі, як IBM Tivoli Access Manager for e-Business, які служать тільки як прокси-сервер забезпечення безпеки.

Зворотні прокси-сервер и

Зворотні прокси-сервери мають багато загального коду з пересилаючими прокси-серверами: фактично одні і ті ж продукти можуть бути сконфигурировани одним або іншим образом або двома відразу. Однак з функціональної і практичної точки зору в нашому випадку ми розглядаємо зворотні прокси-сервери як повністю інший інструмент.

Зворотні прокси-сервери прозорі, частково по визначенню. За зворотним прокси-сервером користувач взагалі не знає про своє спілкування з прокси-сервером. Користувач вважає, що спілкується з реальним предметом - сервером, на якому знаходиться контент.

Зворотні прокси-сервери звичайно вибрані і реалізовані з метою забезпечення ізоляції контента і зон. Однак, ви можете також додати в зворотні прокси-сервери функціональні можливості по кешированию для забезпечення продуктивності заодно з перевагами забезпечення безпеки.

Треба звернути увагу, що побачивши цьому сценарій виграш в продуктивності за рахунок кеширования відноситься до продуктивності мережі, оскільки звичайно зворотний прокси-сервер розташований близько до кінцевого сервера. Важливим мотивом кеширования за допомогою зворотного прокси-сервера є розвантаження від подачі статичного, кешируемого контента від кінцевих серверів додатків. Це дозволить часто більш дорогим кінцевим серверам додатків трохи звільнитися і сфокусировать своя увага на пропускних спроможностях своїх процесорів при виконанні більш складних динамічних задач і задач, пов'язаних з транзакціями.

Однак коли на зворотному прокси-сервері дозволене кеширование, важливим стає забезпечення його належного захисту. Весь контент, навіть якщо він повністю статичний, продовжує потребувати захисту.

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

Squid - програмний пакет, реалізуючий функцію кеширующего прокси-сервера для протоколів HTTP, FTP, Gopher і (у разі відповідних настройок) HTTPS. Розроблений співтовариством як програма з відкритим початковим кодом (розповсюджується у відповідності з GNU GPL). Всі запити виконує як один процес введення/висновку, що неблокується. Використовується в UNIX-like системах і в ОС сімейства Windows NT. Має можливість взаємодії з Active Directory Windows Server шляхом аутентификація через LDAP, що дозволяє використати розмежування доступу до інтернет ресурсам користувачів, які мають облікові записи на Windows Server, також дозволяє організувати «нарізку» інтернет трафіка для різних користувачів.

У поєднанні з деякими міжмережевими екранами і маршрутизаторами Squid може працювати в режимі прозорого прокси-сервера. У цьому режимі маршрутизатор замість того, щоб відразу пересилати http-запити користувача http-серверу в інтернеті, перенаправляти їх прокси-серверу, який може працювати як на окремому хосте, так і на самому маршрутизаторі. Прокси-сервер обробляє запит (з можливою віддачею вмісту з кеша), цей вміст прямує до користувача, що запитав, для якого воно виглядає як «відповідь» сервера, до якого адресувався запит. Таким чином, користувач може навіть не знати, що всі запити і відповіді пройшли через прокси-сервер.

Сервер Squid розвивається протягом вже багатьох років. Забезпечує сумісність з більшістю найважливіших протоколів Інтернету, а також з операційними системами:

GNU/Linux

FreeBSD

OpenBSD

NetBSD

BSDI

Mac OS X

OSF і Digital Unix

IRIX

SunOS/Solaris

NeXTStep

SCO Unix

AIX

HP-UX

Microsoft Windows

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

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

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

адреса (мережа) джерела запиту, мети запиту

ім'я (доменне ім'я) джерела запиту, ім'я мети запиту

частини URL запиту

протокол

порт (одержувача, відправника, самого Squid'а)

метод (PUT або GET) при передачі даних по HTTP

браузер (User-agent)

ident (запит до робочої станції)

номер автономної системи відправника/одержувача (не для всіх випадків)

авторизація на прокси-сервері

номер з'єднання (частіше за все використовується для обмеження кількості з'єднань)

SNMP

сертифікати користувача

параметри запиту

зовнішні обробники

Ідентифікація

Squid підтримує декілька видів ідентифікації користувачів:

за IP-адресою (або доменному імені вузла)

по переданих реквізитах (логин/пароль)

по ідентифікатору агента (браузера)

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

звичайні логин/пароль

NTLM-авторизацію

зовнішні програми авторизації (визначальна формат авторизація)

Редіректори

Squid має можливість переписувати URL, що запитуються. Squid може бути сконфигурирован так, щоб пропускати вхідні URL через процес редиректора того, що виконується як зовнішній процес (подібно dnsserver), який повертає новий URL або пустий рядок, вказуючий відсутність змін.

Редиректор - не є стандартною частиною пакету Squid. Редиректор надає адміністратору контроль за пересуванням користувачів. Використання редиректора в поєднанні з прозорим проксированием дає простій, але ефективний контроль, над доступом до порно. Программа-редиректор повинна читати URL (один на рядок) зі стандартного входу і записувати змінені URL або пусті рядки на стандартний вихід. Треба помітити, що программа-редиректор не може використати буферизированний I/O. Squid дописує додаткову інформацію після URL, яку редиректор може використати для прийняття рішення.

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

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

Редиректор SAMS - редиректор, працюючий прямо з базами SAMS

SquidGuard - дуже могутній редиректор.

Стандартний SQUID - найпростіший редиректор, описаний в документації до SQUID.

Редіректор SAMS

Написаний спеціально для SAMS, прямо використовує інформацію, що міститься в базі даних. Дозволяє включити різне перенапраление запитів для користувачів (регулюється шаблонами користувачів).

Редиректор 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:

Єдине відро (англ. aggregate bucket, class 1) обмеження на загальну споживану смугу для всієї групи. (параметри: ємність басейну, швидкість наповнення).

Єдине відро з автоматичним формуванням індивідуальних відер (англ. "single aggregate bucket as well as an individual" bucket, class 2). Індивідуальні відра формуються з бітів IP-адреси (з 25 по 32).

Єдине відро, мережеві відра і індивідуальні відра (англ. single aggregate bucket as well as а "network" bucket and а "individual" bucket, class 3). Мережеве відро формується по бітах 17-24 IP-адреси.

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

Попадання користувачів в те або інакше відро визначається списками доступу до відер, вони переглядаються в порядку згадки в файлі конфігурації до першого збігу. Користувачі, що не попадають ні в одне з відер, в швидкості не обмежуються.

Зворотне кеширование

Однієї з особливостей Squid є можливість працювати в режимі «зворотного прокси-сервера» («reverse proxy»), так само відомого як «прискорювач» («HTTP accelerator»). У цьому випадку замість кеширования запитів трохи користувачів до безлічі сайтов, кешируются запити безлічі користувачів до декільком сайтам. У цьому режимі прийнятий запит перевіряється на «динамічність» (чи треба кожний раз обробляти запит з нуля) і «вік» (чи актуальні ще дані). Якщо дані ще актуальні і не помінялися, то запит не передається серверу, а віддається з кеша Squid. Таким чином, істотно знижується навантаження на сервери (наприклад, в Вікипедії запити до сторінок кешируются, оскільки від перегляду їх вміст не міняється, при цьому навантаження на сервери істотно менше - обробка запиту до кешу багато простіше, ніж обробка запиту до бази даних SQL, обробка вики-розмітки і формування веб-сторінки).

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

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

В поєднанні з деякими міжмережевими екранами і маршрутизаторами Squid може працювати в режимі прозорого прокси-сервера (англ. transparent proxy). У цьому режимі маршрутизатор замість того, щоб відразу пересилати НТТР-запити користувача НТТР-серверу в Інтернеті, перенаправляти їх прокси-серверу, який може працювати як на окремому хосте, так і на самому маршрутизаторі. Прокси-сервер обробляє запит (з можливою віддачею вмісту з кеша), цей вміст прямує до користувача, що запитав, для якого воно виглядає як «відповідь» сервера, до якого адресувався запит. Таким чином, користувач може навіть не знати, що всі запити і відповіді пройшли через прокси-сервер.

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

2. Робочий проект

2.1 Установка Squid

Squid - додаток що дозволяє організувати прокси/кеширующий сервер для HTTP, FTP і деяких інших популярних протоколів. Підтримується робота із захищеними TLS/SSL з'єднаннями, кеширование DNS, можливо використання Squid як прозоре або реверсного прокси. Розповсюджується по ліцензії GNU GPL. Працює у всіх популярних варіантах Unix систем - GNU/Linux, *BSD, Mac OS X, SunOS/Solaris, і деяких інших. Є версія для Windows.

Для прикладу буде використовуватися Linux Mint, але все сказане торкається і всіх інших дистрибутивів або ОС, за винятком особливостей установки в конкретному рішенні. Хотілося б також відмітити, що зараз паралельно розвивається дві гілки: 2-x і 3-x. Третя гілка перейшла в розряд Stable в кінці 2008 року і рекомендована до використання. По параметрах відмінностей, що описуються далі у них практично немає, тому все описане торкається обох версій.

Рис. 3. Установка Squid в Mint.

Після інсталяції Squid буде запущений з установками за умовчанням.

2.2 Настройка конфігурації

Всі настройки Squid виготовляються в єдиному файлі /etc/Squid/Squid.conf, параметрів всередині дуже багато. Переглянути список параметрів, прибравши пусті і закоментувати рядки, можна за допомогою команди (мал. 4):

$ sudo grep -v «^#» /etc/Squid/Squid.conf ¦ sed -e /^$/d'

Рис. 4. Список параметрів.

Створення acl (Access Control List) з ім'ям all для абсолютно всіх ip-адрес:

acl all src 0.0.0.0/0.0.0.0

Створення acl (Access Control List) сименемlocalhost для127.0.0.1/32 ip-адрес:

acl localhost src 127.0.0.1/32

Створення acl (Access Control List) сименемto_localhost для127.0.0.0/8 ip-адрес:

acl to_localhost dst 127.0.0.0/8

Вказівка мережі, з якою можна приєднуватися без авторизації:

acl localnet src 10.0.0.0/8

acl localnet src 172.16.0.0/12

acl localnet src 192.168.0.0/24

Опис портів:

acl SSL_ports port 443 - https порт

acl Safe_ports port 80 - http порт

acl Safe_ports port 21 - ftp порт

acl Safe_ports port 443 - https порт

Включення підтримки проброски з'єднання за допомогою команди протоколу CONNECT:

acl CONNECT method CONNECT

Описує робочий час з понеділка по п'ятницю:

acl work_hours time MTWTF 9:00-18:00

Описує шлях до файла зі списком доменов:

acl blockdomen dstdom_regex "/etc/squid/blocks.domen.acl" - в цьому файде містяться список доменов.

Описує шлях до файла зі списком файлів:

acl blockfiles urlpath_regex -i "/etc/squid/blocks.files.acl" - в цьому файде містяться дані про розширення.

Описує шлях до файла зі списком значень адресса:

acl blockadult dstdom_regex "/etc/squid/blocks.adult.acl" - в цьому файде містяться регулярні вирази для інтернет ресурсів.

Пропуск (allow) або заборона (deny) для вказаних портів. Порядок http_acces важливий, йде зверху вниз:

http_access allow manager localhost

http_access allow localnet

http_access deny manager

http_access allow purge localhost

http_access deny purge

http_access deny!Safe_ports

http_access deny CONNECT!SSL_ports

http_access allow localhost

http_access deny blockdomen

http_access deny blockfiles

http_access deny blockadult

http_access deny!work_hours

Дозвіл acl all доступ:

http_access allow all

Дозвіл або заборона доступу до ICP порту, заснований на заявлених списках доступу:

icp_access allow localnet

icp_access deny all

Адреси сокетов, на яких Squid буде чекати запити HTTP клієнтів:

http_port 192.168.70.131:3128

У цих файлах розміщуються журнали запитів клієнтів. На кожний HTTP і ICP запит відводиться один рядок:

access_log /var/log/squid/access.log squid

Цей тег визначає ім'я хоста (hostname), яке буде отображатся в повідомленнях про помилки, і т. д. в цьому випадку використовується ім'я mysquid:

visible_hostname mysquid

Діректоріяошибок:

error_directory /usr/share/squid/errors/ru

Виводить помилки для певних ACL:

deny_info ERR_ACCESS_DENIED_ADULT blockadult

deny_info ERR_ACCESS_DENIED_WORK_HOURS work_hours

deny_info ERR_ACCESS_DENIED_BLOCKFILES blockfiles

deny_info ERR_ACCESS_DENIED_BLOCKDOMEN blockdomen

Розташування локальної бази даних зв'язків IP адреса-ім'я вузла:

hosts_file /etc/hosts

ПоумолчаниюSquid залишає файли ядра в папці, з якої він був запущений:

coredump_dir /var/spool/squid

Формат Squid.conf стандартний для Unix, кожний запис складається з рядків вигляду: параметр значення.

Можливе використання змінних. Рядки гратки (#), що починаються зі знака є коментарями. Для зручності настройки, всі параметри розбиті по секціях. Таке разбиение чисто умовне і можна прописувати свої параметри в будь-яке місце файла, лише б було зрозуміло. Можливе підключення зовнішнього файла з настройками при допомозі include. Єдине про що потрібно пам'ятати - установки застосовуються в порядку черговості. Після установки в /usr/share/doc/Squid можна знайти документацію і приклади конфігураційних файлів.

2.3 Запуск прокси-сервера Squid

Для запуску прокси-сервера Squid використовується команда (Рис. 5):

$ sudo /etc/init.d/Squid start

Рис. 5. Запуск Squid.

Так само треба настроїти клієнтські машини для доступу в інтернет через прокси-сервер Squid (Рис. 6).

Рис. 6. Напрям всього трафіка через прокси-сервер.

Тепер при спробі доступу до заблокованих ресурсів замість них будуть відкриватися написи з відомостями причини блокування:

Рис. 7. Заборона доступу до розважальних і зарубіжних доменам.

Рис. 8. Заборона доступу до файлів мультимедіа.

Рис. 9. Заборона доступу до порнографії.

Рис. 10. Заборона доступу в не робочий час.

Висновок

У цей час на ринку програмного забезпечення предствленно безліч різноманітних програмних прокси-серверів. Більшість з них має два основних недоліки: вони комерційні і не підтримують ICP (ICP використовується для обміну інформації про наявність URL в сусідньому кеше). Squid - це кращий вибір для кеширующего прокси-сервера, оскільки він надійний, безкоштовний і підтримує ICP. У цей час цей найбільш продуктивний прокси-сервер, перевершуючий по функціональності Microsoft ISA Server 2000.

Похідний від "кеширующего" програмного забезпечення ARPA-funded Harvest research project, розробленого в National Laboratory for Applied Network Research and funded by the National Science Foundation, Squid пропонує високопродуктивне кеширование для веб клієнтів, він також підтримує FTP, HTTP і HTTPS об'єкти даних. Squid зберігає об'єкти, що часто використовуються в RAM, підтримує надійну базу даних об'єктів на диску, має комплексних механізм контролю доступу і підтримує SSL протокол для посередництва в безпечних з'єднаннях. У доповнення до цього, він підтримує ієрархічні зв'язки з іншими прокси-серверами, що базуються на Squid. Squid веде досить докладні балки про інтернет-активність користувачів.

Squid використовується в UNIX-like системах і в ОС сімейства Windows NT. Має можливість взаємодії з Active Directory Windows Server шляхом аутентификація через LDAP, що дозволяє використати розмежування доступу до інтернет ресурсам користувачів, які мають облікові записи на Windows Server, також дозволяє організувати «нарізку» інтернет трафіка для різних користувачів.

Список літератури

1. Бруй В. В., Карлов С. В. Б67 "LINUX-сервер: покрокові інструкції інсталяції і настройки." - М.: Изд-у СИП РИА, 2003. - 572 з. ISBN 5-89354-153-7

2. http://www.Squid-cache.org/- Домашня сторінка проекту Squid

3. http://Squid.visolve.com/ - Керівництво, ради по настройці

4. http://Squid.opennet.ru/ - FAQ, форум, посилання на російськомовні ресурси, присвячені Squid

5. http://www.bog.pp.ru/ - Установка, настройка і використання

6. http://www.break-people.ru/ - Файл Squid.conf на російському, по секціях