Що таке проксі-сервер?

Що таке проксі-сервер?

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

Використання

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

  • Забезпечення доступу комп'ютерів локальної мережі до Інтернету.
  • Кешування даних: якщо часто відбуваються звернення до тих самих зовнішніх ресурсів, то можна тримати їх копію на проксі-сервері і видавати на запит, знижуючи цим навантаження на канал у зовнішню мережу і прискорюючи отримання клієнтом запитаної інформації. З розвитком динамічного контенту кешування втратило актуальність.
  • Стиск даних: проксі-сервер завантажує інформацію з Інтернету і передає інформацію кінцевому користувачу в стислому вигляді. Такі проксі-сервери використовуються в основному з метою економії зовнішнього мережного трафіку клієнта або внутрішнього клієнта. компанії, де встановлено проксі-сервер.
  • Захист локальної мережі від зовнішнього доступу: наприклад, можна налаштувати проксі-сервер так , Що локальні комп'ютери будуть звертатися до зовнішніх ресурсів тільки через нього, а зовнішні комп'ютери не зможуть звертатися до локальних взагалі (вони «бачать» тільки проксі-сервер). також NAT.
  • Обмеження доступу з локальної мережі до зовнішньої: наприклад, можна заборонити доступ до певних веб-сайтів, обмежити використання інтернету якимось локальним користувачам, встановлювати квоти на трафік чи смугу пропускання, фільтрувати рекламу та віруси.
  • Анонімізація доступу до різних ресурсів. Проксі-сервер може приховувати інформацію про джерело запиту або користувача. У такому разі цільовий сервер бачить лише інформацію про проксі-сервер, наприклад, IP-адреса, але не має можливості визначити справжнє джерело запиту. Існують також спотворюючі проксі-сервери, які передають цільовому серверу неправдиву інформацію про справжнього користувача.
  • Обхід обмежень доступу. Проксі-сервери популярні серед користувачів країн, де доступ до деяких ресурсів обмежений законодавчо та фільтрується.

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

Види проксі-серверів

Прозорий проксі — схема зв'язку, за якої трафік, або його частина, перенаправляється на проксі-сервер неявно (засобами  маршрутизатора). При цьому клієнт може використовувати всі переваги проксі-сервера без додаткових налаштувань браузера (або іншої програми для роботи з інтернетом). Приклад: route -p add /span>

 

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

Класифікація проксі-серверів для цілей анонімізації представлена в статті Веб-проксі.

Технічні подробиці

Клієнтський комп'ютер має налаштування (конкретної програми або операційної системи), згідно з якою всі мережеві з'єднання за деяким протоколом здійснюються не на IP-адреса сервера (ресурсу), що виділяється з DNS-імені ресурсу, або безпосередньо задана, а на ip-адресу (і інший порт) проксі-сервера.

>

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

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

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

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

  • Основний протокол, що використовується в інтернеті — HTTP, у стандарті якого описана підтримка роботи через проксі;
  • Підтримка проксі більшістю браузерів та операційних систем;
  • Контроль доступу та облік трафіку за користувачами;
  • Фільтрування трафіку (інтеграція проксі з антивірусами);
  • Проксі-сервер — може працювати з мінімальними правами на будь-якій ОС з підтримкою мережі (стека TCP/IP);
  • Багато програм, що використовують власні спеціалізовані протоколи, можуть використовувати HTTP як альтернативний транспорт або SOCKS- проксі як універсальний проксі, що підходить для практично будь-якого протоколу;
  • Відсутність доступу до Інтернету за іншими (нестандартними) протоколами може підвищити безпеку в корпоративній мережі.

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

Найбільш поширені проксі-сервери

  • 3proxy (BSD, багатоплатформовий)
  • CoolProxy (пропрієтарний , Windows)
  • Eserv (shareware, Windows)
  • HandyCache (shareware, Windows) безкоштовний для домашнього використання
  • Kerio Control (пропрієтарний, Windows, Linux)
  • Microsoft Forefront Threat Management Gateway, раніше Microsoft ISA Server (proprietary, Windows)
  • Blue Coat Proxy SG (апаратний/віртуальний appliance)
  • nginx (веб-сервер, що має режим роботи як reverse proxy і часто для цього використовується)
  • Squid (GPL, багатоплатформний)
  • Traffic Inspector (пропрієтарний, Windows)
  • UserGate (пропрієтарний, Windows)
  • Інтернет Контроль Сервер (shareware, FreeBSD)
  • TOR (BSD, багатоплатформовий)
  • Ideco ICS (пропрієтарний, Linux)
  • WinGate (пропрієтарний, Windows)
  • Cntlm (з авторизацією)

Проксифікатори

Проксифікатор — це програма, яка перенаправляє інші програми через проксі-сервери. Проксифікатори часто застосовуються для інтернет-клієнтів, які не підтримують проксі-сервери.