Проксі-сервер (від англ. ;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 (з авторизацією)
Проксифікатори
Проксифікатор — це програма, яка перенаправляє інші програми через проксі-сервери. Проксифікатори часто застосовуються для інтернет-клієнтів, які не підтримують проксі-сервери.