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

Проксі-сервер (від англ. proxy — «представник, уповноважений») — сервер (комп'ютерна система або програма) в комп'ютерних мережах, що дозволяє клієнтам виконувати непрямі (через посередництво проксі-сервера) запити до мережевих сервісів. Спочатку клієнт з'єднується з проксі-сервером і запитує який-небудь ресурс (наприклад, e-mail), розташований на іншому сервері. Потім проксі-сервер або підключається до вказаного сервера та отримує ресурс у нього, або повертає ресурс з власного кешу (у випадках, якщо проксі має свій кеш). У деяких випадках запит клієнта або відповідь сервера може бути змінена проксі-сервером з певною метою. Також проксі-сервер дозволяє захищати клієнтський комп'ютер від деяких мережевих атак і допомагає зберігати анонімність клієнта.[1]
Використання[ред. | ред. код]
Найчастіше проксі-сервери застосовуються для:
- Забезпечення доступу з комп'ютерів локальної мережі в інтернет.
- Кешування даних: якщо часто відбуваються звернення до одних і тих же зовнішніх ресурсів, то можна тримати їх копію на проксі-сервері та видавати за запитом, знижуючи тим самим навантаження на канал у зовнішню мережу і прискорюючи отримання клієнтом шуканої інформації .
- Стиснення даних: проксі-сервер завантажує інформацію з інтернету і передає інформацію кінцевому користувачеві в стислому вигляді. Такі проксі-сервери використовуються в основному з метою економії зовнішнього трафіка.
- Захист локальної мережі від зовнішнього доступу: наприклад, можна налаштувати проксі-сервер так, що локальні комп'ютери будуть звертатися до зовнішніх ресурсів тільки через нього, а зовнішні комп'ютери не зможуть звертатися до локальних взагалі (вони "бачать "тільки проксі-сервер) (див. також NAT).
- Обмеження доступу з локальної мережі до зовнішньої: наприклад, можна заборонити доступ до певних вебсайтів, обмежити використання інтернету якимось локальним користувачам, встановлювати квоти на трафік або смугу пропускання, фільтрувати рекламу і віруси.
- Анонімізації доступу до різних ресурсів. Проксі-сервер може приховувати відомості про джерело запиту або користувача. У такому разі цільовий сервер бачить лише інформацію про проксі-сервер, наприклад, IP-адресу, але не має можливості визначити дійсне джерело запиту. Існують також проксі-сервери спотворюючі, які передають цільовим серверам неправдиву інформацію про справжнього користувача.
Проксі-сервер, до якого може отримати доступ будь-який користувач мережі інтернет, називається відкритим.
Види проксі-серверів[ред. | ред. код]
Прозорий проксі — схема зв'язку, при якій трафік, або його частина, перенаправляється на проксі-сервер неявно (засобами маршрутизатора). При цьому клієнт може використовувати всі переваги проксі-сервера без додаткових налаштувань, але з іншого боку, не має вибору.
Зворотний проксі — проксі-сервер, який на відміну від прямого, ретранслює запити клієнтів із зовнішньої мережі на один або декілька серверів, логічно розташованих у внутрішній мережі. Часто використовується для балансування мережевого навантаження між декількома вебсерверами і підвищення їх безпеки, граючи при цьому роль міжмережевого екрану на прикладному рівні.
Технічні подробиці[ред. | ред. код]
Клієнтський комп'ютер має налаштування (конкретної програми або операційної системи), відповідно до якої всі мережеві з'єднання по деякому протоколу здійснюються не на ІР-адресу сервера (ресурсу), що виділяється з DNS-імені ресурсу, або безпосередньо заданий, а на ip-адресу (і інший порт) проксі-сервера.
За необхідності звернення до будь-якого ресурсу за цим протоколом, клієнтський комп'ютер відкриває мережеве з'єднання з проксі-сервером (на потрібному порті) і здійснює звичайний запит так, якби він звертався безпосередньо до ресурсу.
Розпізнавши дані запиту, перевіривши його коректність і дозвіл для клієнтського комп'ютера, проксі-сервер, не розриваючи з'єднання, сам відкриває нове мережеве з'єднання безпосередньо з ресурсом і робить той же самий запит. Отримавши дані (або повідомлення про помилку), проксі-сервер передає їх клієнтському комп'ютеру.
З цього випливають два основні обмеження звичайного проксі-сервера:
- Проксі-сервер повинен бути повнофункціональним сервером і клієнтом для кожного підтримуваного протоколу.
- Проксі-сервер може обслуговувати тільки ті мережеві протоколи, у запиті яких передається ім'я або ip-адреса ресурсу (не належить до прозорих проксі — вони отримують ip-адресу безпосередньо з перехопленого з'єднання).
В часи становлення Інтернету проксі-сервери були найпопулярнішим способом виходу в Інтернет з локальних мереж. Цьому сприяли такі обставини:
- Основний протокол, що використовувався — http, який легко проксіюється;
- Підтримка проксі більшістю браузерів і/або операційних систем;
- Контроль доступу та облік трафіку по користувачам;
- Проксі-сервер — це звичайна програма (а не системна), яка може працювати з мінімальними правами на будь-якій ОС з підтримкою мережі (стека TCP / IP);
- Відсутність доступу в Інтернет по інших протоколах часто було більше перевагою, ніж недоліком.
У зв'язку зі зростанням ролі інших мережевих протоколів, переходом до тарифікації послуг інтернету по швидкості доступу, а також появою дешевих апаратних маршрутизаторів з функцією NAT, використання звичайних проксі-серверів для виходу користувачів у Інтернет застосовується вкрай рідко.
Однак великого поширення набули прозорі проксі-сервери (протоколу http та деяких інших), в тому числі й ті, що входять до складу багатьох апаратних маршрутизаторів для доступу до інтернету, з метою збору статистики та контролю доступу до сайтів. Інші порти (протоколи) при цьому проходять через NAT.
Найпоширеніші проксі-сервери[ред. | ред. код]
- 3proxy (BSD, багатоплатформовий)
- CoolProxy (proprietary, Windows)
- HandyCache (shareware, Windows) безкоштовний для домашнього використання
- Kerio Control (proprietary, Windows, Linux)
- Microsoft Forefront Threat Management Gateway (proprietary, Windows)
- Nginx (вебсервер, що має режим роботи як reverse proxy і часто для цього використовується)
- Squid (GPL, багатоплатформовий)
- Traffic Inspector (proprietary, Windows)
- UserGate (proprietary, Windows)
- Інтернет Контроль Сервер (shareware, FreeBSD)
- TOR (shareware, багатоплатформовий)
Див. також[ред. | ред. код]
Література[ред. | ред. код]
- INTUIT.ru:Курс:Посібник з безпеки в Lotus Notes: Лекція № 5: Проксі-сервери
- Безкоштовний проксі парсер та чекер
- Proxy software and scripts, каталог посилань Open Directory Project
- Free web-based proxy services, каталог посилань Open Directory Project
- Free http proxy servers, каталог посилань Open Directory Project
- How to choose proxy server by Dr. Florian Berg
- Proxy test online