Перейти к основному содержимому

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

Прокси-сервер – промежуточный сервер между клиентом (пользователем / приложением) и конечным ресурсом (сервером).
Содержит прокси IP-адреса (индивидуальные IP-адреса для сокрытия реального IP).
Принимает запросы от клиента, обрабатывает и передает дальше.
Может изменять или фильтровать данные.

Отличие от балансировщика и VPN

  • Балансировщик нагрузки распределяет входящий трафик между серверами. Прокси - "посредник", без распределения нагрузки.
  • VPN (Virtual Private Network) создаёт защищённое соединение между клиентом и сервером, для шифрования и анонимности. Прокси может менять IP-адрес и фильтровать трафик, но не всегда шифрует данные.

Для чего нужен?

Анонимность и скрытие IP-адреса

  • Пример: для доступа к заблокированному контенту с помощью зарубежного прокси.

Кеширование

кэширует веб-страницы и ускоряет загрузку сайтов внутри сети (!) Кэш может быть не только в прокси. Нужно учитывать бизнес -логику при проектировании срока жизни данных в кэше. Многоуровневое кэширование может привести к ошибкам впоследствии

Контроль и фильтрация трафика

блокирует доступ сотрудников к определенным сайтам.

Балансировка нагрузки и защита серверов

скрывает реальные серверы, принимает на себя нагрузку и фильтрует вредоносные запросы. Схоже с балансировщиком, но цель другая — доп безопасность, а не отказоустойчивость.

Пример работы

  1. Клиент отправляет запрос на доступ к ресурсу через прокси-сервер.
  2. Прокси принимает запрос и анализирует его (проверка политики доступа, фильтрация, логирование).
  3. Если данные есть в кэше, прокси возвращает их без обращения к внешнему серверу. Если нет, прокси пересылает запрос на целевой сервер.
  4. Сервер обрабатывает запрос и отправляет ответ прокси.
  5. Прокси передает ответ клиенту и может модифицировать его (сжать контент или удалить конфиденциальные данные).

Типы (по протоколам)

HTTP-прокси

  • Работает с HTTP-запросами.
  • Используется для кэширования веб-страниц и фильтрации контента.
  • Прокси-сервер пересылает запросы от клиента на веб-сайт, изменяя IP-адрес.

HTTPS-прокси

  • Безопасное соединение и защита данных.
  • Для конфиденциальных транзакций (например, банковские операции).

SSL-прокси

  • Использует одно TCP-соединение для доступа как к HTTP, так и к HTTPS-ресурсам.
  • Для безопасности при подключении.

CGI-прокси

  • Извлекает веб-контент от имени клиента через веб-браузер.
  • Использует зашифрованные формы для анонимного доступа к сайтам.

SOCKS-прокси

  • Для задач с интенсивным трафиком (например, P2P или потоковая передача).
  • Работает через TCP-соединение, дает анонимность клиенту.

Прямой и обратный прокси

Прямой

Клиент >> Прокси-сервер >> Интернет-ресурс >> Сервер

  • Перенаправляет запросы клиента в интернет, изменяет IP-адрес и фильтрует трафик.
  • Клиент знает о наличии прокси и конфигурирует его.

Обратный (реверсивный)

Клиент >> Интернет-ресурс >> Прокси-сервер >> Сервер

  • Работает на серверной стороне.
  • Принимает запросы, но не передает их напрямую серверу, а перенаправляет на один или несколько серверов.
  • Клиент не знает о нем.

Примеры интеграций

Интеграция с CDN

  • Работает в связке с сетью доставки контента (CDN), кэширует и оптимизирует раздачу статических ресурсов.

Интеграция с [WAF (Web Application Firewall)] (Web Application Firewall)

  • Фильтрует трафик через WAF для защиты веб-приложения от атак на уровне приложения.

В микросервисной архитектуре

  • Управляет взаимодействием микросервисов (маршрутизация и балансировка трафика).
  • Пример: сервис-меш с прокси для маршрутизации API-запросов между микросервисами.

Пример архитектуры с прокси

[ Клиенты ] → [ Reverse Proxy ] → [ Балансировщик ] → [ Серверы приложений ] → [ БД ]

  1. Клиенты отправляют запросы на веб-приложение.
  2. Они проходят через реверс-прокси.
  3. Прокси фильтрует трафик, кэширует статический контент и передает запросы на балансировщик нагрузки.
  4. Балансировщик распределяет запросы между серверами приложений.
  5. Приложения обрабатывают запросы и отправляют ответы обратно через ту же цепочку.

Недостатки

  • Потенциальная утечка данных (например, если ненадежный прокси).
  • Снижение производительности (если сервер перегружен).
  • Недостаточная защита (если прокси не поддерживает шифрование трафика).

Ключевые метрики работы прокси

  • Задержка (Latency) – время обработки запроса прокси-сервером.
  • Уровень кеширования (Cache Hit Ratio) – процент запросов, обработанных из кеша.
  • Пропускная способность (Throughput) – объем трафика, который прокси способен обработать в единицу времени.
  • Частота отказов (Error Rate) – процент запросов, завершившихся ошибками.
  • Время отклика (Response Time) – среднее время ответа на запрос.

Сравнение типов прокси-серверов

ТипыКраткий принципЗадачиПримерМинусы
ПрозрачныеНе скрывают реальный IP-адрес клиентаФильтрация контента, кэширование, анализ трафикаВ корп сетях для контроля доступа к интернету (например, для блокировки определенных сайтов)Не обеспечивает анонимность, клиент может узнать о прокси
АнонимныеСкрывают реальный IP-адрес, но сообщают серверу, что используется проксиДля анонимности, обход блокировокДля просмотра контента, доступного только в определенных странахСайты могут блокировать анонимные прокси
ИскажающиеСкрывают реальный IP-адрес и изменяют данные запроса (например, изменяют заголовки)Обход блокировок, сокрытие личной информацииДля обхода строгих проверок на сайтах, например, при автоматизированном парсинге или регистрации аккаунтовЛегко обнаруживаются
СерверныеРазмещены на отдельных серверах, действуют как посредники между клиентом и серверомДля безопасности, фильтрация, кэшированиеДля масштабируемых веб-сервисов, где необходимо разделить нагрузку между серверамиПроблемы с конфиденциальностью при неправильной настройке
РезидентныеИспользуют IP-адреса реальных пользователей (например, из домашних провайдеров)Эмуляция реального пользователя, обход антибот-защиты.В интернет-маркетинге для парсинга сайтов и сбора данных (не блокируя аккаунт)Высокая стоимость, возможна низкая скорость
МобильныеИспользуют IP-адреса, которые выдаются мобильными операторами своим пользователямОбход блокировок, имитация трафика с мобильных устройств.Для обхода ограничений мобильных операторов или для тестирования мобильных приложений в реальных условияхДороговизна и нестабильность связи на мобильных сетях.
ПубличныеБесплатные и доступные для всех пользователейОбход блокировок, анонимностьДля обхода географических ограничений или для анонимного серфинга в интернетеНизкая скорость, часто блокируются, возможна угроза безопасности
ПриватныеЧастные прокси, доступные только для определенных пользователей или организацийПовышенная безопасность, высокая скоростьИспользуются крупными компаниями для защиты конфиденциальных данных при выходе в интернетСтоимость, требующие более сложной настройки

Материалы

  1. Прокси
  2. Что такое прокси-сервер и как его настроить
  3. Прокси-сервер: что это такое и нужен ли он вам?
  4. Что такое прокси? Для самых маленьких
  5. Что такое прямой прокси и обратный прокси
  6. Разница между обратным и прямым прокси
  7. Разница между прямым прокси, обратным прокси и балансировщиком нагрузки
  8. Типы Прокси: HTTP, HTTPS, SOCKS
  9. Разбор: Как работает SOCKS-прокси, плюсы, минусы, отличия от других технологий
  10. Load Balancer и Reverse Proxy в микросервисной архитектуре
  11. Шаблон проектирования "Заместитель" (Proxy)
  12. Шаблон прокси
  13. Что такое файрвол и зачем он нужен?
  14. Что такое service mesh простыми словами
  15. Как прокси применяют в информационной безопасности: 6 практических сценариев использования
  16. Локальный прокси-сервер для фильтрации браузерного трафика
  17. API-прокси

Видео

  1. Что такое прокси-сервер за 7 минут
  2. Прокси-сервер (Proxy-server): Для чего он нужен и как им пользоваться
  3. Какая разница между Прокси и VPN

Книги

  1. Безопасность веб-приложений. Разведка, защита, нападение — Хоффман Эндрю