Что такое прокси-сервер: прямой, обратный и чем отличается от VPN
Прокси-сервер - это посредник между клиентом и сервером: запрос сначала приходит на него, и уже он обращается к цели от своего имени. Дальше начинается развилка, из-за которой в разговорах и возникает половина путаницы. Прямой прокси стоит на стороне пользователей и решает, куда им можно ходить. Обратный прокси стоит перед вашими серверами и решает, как распределить входящие запросы. Задачи разные, оборудование разное, и настраивают их разные люди.
Прямой и обратный прокси: две разные задачи
Технически оба делают одно и то же - принимают запрос и передают дальше от своего имени. Разница в том, с какой стороны они стоят и чьи интересы обслуживают.
| Прямой прокси (forward) | Обратный прокси (reverse) | |
|---|---|---|
| Где стоит | между пользователями и интернетом | между интернетом и вашими серверами |
| Кого обслуживает | клиентов | серверы |
| Кто про него знает | клиент настроен на прокси | клиент думает, что общается с самим сайтом |
| Зачем | контроль доступа, фильтрация, кеш, логи | балансировка, терминация TLS, защита бэкендов |
| Чем делают | Squid, реже nginx | nginx, HAProxy |
| Кто настраивает | системный администратор сети | администратор приложения или инфраструктуры |
Проще всего запомнить так: прямой прокси защищает интернет от ваших пользователей и ваших пользователей от интернета, а обратный защищает ваши серверы от интернета.
Зачем нужен прокси-сервер?
В корпоративной сети прямой прокси закрывает четыре задачи.
Контроль доступа. Через прокси видно, кто и куда ходит, и можно задать правила: этой группе можно всё, этой - только рабочие ресурсы, эту категорию сайтов не пускать никому. Правила привязываются к учётным записям, а не к IP-адресам рабочих мест, если прокси умеет аутентификацию через каталог.
Фильтрация. Прокси проверяет адреса по спискам и режет доступ к известным вредоносным и фишинговым ресурсам до того, как туда попадёт браузер. Это не антивирус и не заменяет защиту на рабочих местах, но один слой в обороне добавляет.
Логирование. Журнал прокси отвечает на вопрос «кто скачал этот файл» и «откуда пришёл заражённый архив». Без него разбор инцидента упирается в догадки.
Кеширование. Исторически это была главная причина ставить прокси: одна и та же страница скачивалась один раз и раздавалась всем. Сегодня выигрыш заметно меньше - почти весь веб ушёл на HTTPS, а содержимое стало динамическим, и кешировать в общем случае нечего. Реальная польза осталась там, где много одинакового статического трафика: обновления операционных систем, дистрибутивы, репозитории пакетов.
Отдельно стоит назвать сценарий, ради которого прокси чаще всего ищут частные пользователи, - подмена видимого адреса и обход ограничений доступа. Технически это работает, потому что внешний ресурс видит адрес прокси, а не ваш. К корпоративной инфраструктуре эта задача отношения не имеет, и дальше речь пойдёт не о ней.
Что делает обратный прокси
Обратный прокси - это то, что стоит первым на пути входящего запроса к вашему приложению. Обычно nginx или HAProxy.
Балансировка нагрузки. Запросы распределяются между несколькими серверами приложения. Если один узел выпал, трафик уходит на живые, и пользователь этого не замечает.
Терминация TLS. Шифрование снимается на прокси, а до серверов приложения трафик идёт внутри доверенного сегмента. Сертификат живёт в одном месте, а не на каждом узле, и продлевать его надо тоже в одном месте.
Кеш статики. Картинки, скрипты и стили отдаёт прокси, не тревожа приложение. Здесь кеширование по-прежнему работает отлично, в отличие от кеша на прямом прокси.
Защита бэкендов. Серверы приложения не смотрят в интернет напрямую: у них нет публичных адресов, и достучаться до них можно только через прокси. Заодно на нём удобно ограничивать частоту запросов и резать заведомо мусорный трафик.
Для небольшой инфраструктуры обратный прокси часто оказывается первым шагом к отказоустойчивости: одна машина перед двумя серверами приложения уже даёт возможность обновлять их по очереди без остановки сервиса.

Сравнение прокси с VPN
Эти три вещи путают чаще всего, поэтому в таблице сразу три участника - к прокси и VPN добавлен NAT, который делает похожую на первый взгляд работу.
| Прокси | VPN | NAT | |
|---|---|---|---|
| Уровень работы | приложение (HTTP, SOCKS) | сетевой, туннель | сетевой, на маршрутизаторе |
| Что охватывает | трафик приложений, которые на него настроены | весь трафик устройства | весь исходящий трафик сети |
| Шифрование | не входит в задачу | да, туннель шифруется | нет |
| Настраивается | в браузере, в системе или политикой | клиентом VPN на устройстве | на маршрутизаторе, прозрачно |
| Типичная задача | контроль доступа и фильтрация в организации | удалённое подключение к сети компании | вывод внутренней сети в интернет через один адрес |
Главное различие с VPN - в шифровании и охвате. VPN поднимает шифрованный туннель и заворачивает в него весь трафик устройства, поэтому его и используют для удалённой работы: сотрудник дома оказывается как бы внутри офисной сети. Прокси шифрование не даёт, работает на уровне приложений и настраивается точечно.
Оговорка, которую часто пропускают: шифрование туннеля не означает, что провайдера VPN никто не видит и что он ничего не пишет в журналы. Ведёт ли он логи и что с ними делает, определяется его политикой, а не самой технологией. То же верно и для прокси: вы добавляете в цепочку ещё одну сторону, которая видит ваш трафик.
Типы прокси-серверов
Классифицируют по тому, что прокси сообщает о себе и о клиенте принимающей стороне.
| Тип | Сообщает, что он прокси | Передаёт адрес клиента |
|---|---|---|
| Прозрачный (transparent) | да | да |
| Анонимный (anonymous) | да | нет |
| Искажающий (distorting) | да | подставляет чужой |
| Элитный (high anonymity) | нет | нет |
Прозрачный прокси интересен корпоративной сети больше остальных, и по причине, далёкой от анонимности: его не надо прописывать на клиентах. Трафик заворачивается на него на маршрутизаторе, и пользователь вообще не знает о его существовании. Для парка из сотни рабочих мест это экономит массу времени на настройке.
Остальные три градации относятся к сценариям, где важно скрыть источник запроса. В инфраструктуре компании они обычно не нужны.
Отдельно от этой шкалы стоят различия по протоколу: HTTP-прокси понимает веб-трафик и умеет работать с ним осмысленно, SOCKS - более низкоуровневый, пропускает любой TCP-трафик, но и разбирать его содержимое не умеет.
Чем поднимают прокси на практике
Выбор небольшой, и упирается он в один вопрос: прямой вам нужен прокси или обратный.
| Решение | Роль | Сильная сторона | Где обычно встречается |
|---|---|---|---|
| Squid | прямой прокси | развитый контроль доступа, категории, кеш, подробные журналы | офисные сети, учебные заведения |
| nginx | обратный, реже прямой | универсальность: и прокси, и веб-сервер, и отдача статики | сайты и веб-приложения |
| HAProxy | обратный прокси | балансировка на больших объёмах соединений | нагруженные сервисы, кластеры |
На практике комбинация выглядит так: Squid смотрит наружу и управляет тем, куда ходят сотрудники, а nginx или HAProxy стоят внутри перед приложениями. Это две независимые задачи, и решать их одним инструментом обычно неудобно, хотя nginx формально умеет обе роли.
Отдельная категория - готовые шлюзы, где прокси идёт в комплекте с межсетевым экраном и антивирусом одной коробкой. Для небольшого офиса без выделенного администратора такой вариант часто оказывается практичнее, чем собирать связку самостоятельно.
Риски использования прокси-сервера
Ещё одна сторона в цепочке. Обычно ваш трафик видят провайдер и владелец ресурса, к которому вы обращаетесь. Прокси добавляет третьего. Если это ваш собственный сервер в вашей серверной - вопросов нет. Если чужой сервис, особенно бесплатный, - вы отдали трафик неизвестно кому.
Бесплатные публичные прокси. Работают медленно, живут недолго и содержатся неизвестно кем и неизвестно зачем. Пропускать через такие рабочие данные или платёжную информацию не стоит.
Единая точка отказа. Прокси, через который ходит весь офис, обязан быть доступен всегда. Упал прокси - у всех пропал интернет. Для сети, где от доступа зависит работа, это означает резервирование, а не одну коробку в углу.
Инспекция HTTPS. Чтобы фильтровать содержимое зашифрованного трафика, прокси должен его расшифровать, а для этого на все рабочие места ставится корневой сертификат компании. Технически это рабочая практика, но она делает администратора способным читать переписку сотрудников с любым сайтом, включая личную почту и банк. Прежде чем включать, стоит согласовать с юристами и уведомить сотрудников письменно - иначе вопросы возникнут потом и не к технической стороне.
Ложное чувство защищённости. Прокси не заменяет ни межсетевой экран, ни защиту рабочих мест. Как строится защита периметра вокруг конкретного сервиса, разобрано на примере в статье про настройку firewall для сервера 1С.
Что нужно от железа
Прокси-сервер нагружает машину не так, как база данных или гипервизор, и типичная ошибка при подборе - брать под него процессор помощнее.
Память важнее ядер. Каждое активное соединение занимает память, и на офисе в сотню-другую человек счёт идёт на тысячи одновременных соединений. Процессор при этом почти не загружен. Сколько памяти закладывать под разные роли, разобрано отдельно: сколько оперативной памяти нужно серверу.
Исключение - шифрование. Если прокси терминирует TLS или инспектирует HTTPS, процессор начинает работать всерьёз. Тут уже смотрят на частоту и на поддержку аппаратного ускорения криптографии.
Сеть. Через прокси проходит весь трафик, поэтому сетевой интерфейс должен иметь запас, а при заметных объёмах - две карты в агрегации. Заодно это снимает вопрос отказа одного порта.
Диски. Под логи и кеш. Логи прокси растут быстро, и место под них лучше считать заранее, с учётом срока хранения.
Отказоустойчивость. Раз прокси - единая точка отказа, минимальная разумная схема на офис - две машины с переключением. Проще и дешевле, чем объяснять, почему офис второй час без интернета.
Отдельная машина под эту роль нужна не всегда: на небольшой сети прокси обычно живёт виртуалкой на общем сервере рядом с другими сервисами. Как подбирают само оборудование периметра, разобрано в статье про выбор маршрутизатора для предприятия.
Частые вопросы
Чем прокси отличается от VPN простыми словами?
VPN шифрует и заворачивает в туннель весь трафик устройства - это способ оказаться внутри удалённой сети. Прокси работает на уровне отдельных приложений, шифрования не даёт и чаще всего используется для контроля доступа внутри организации.
Прокси и NAT - это одно и то же?
Нет. NAT просто подменяет адреса на маршрутизаторе, чтобы вся сеть выходила в интернет через один внешний адрес, и в содержимое трафика не смотрит. Прокси разбирает запрос на уровне приложения и может им управлять - разрешить, запретить, закешировать, записать в журнал.
Нужен ли прокси, если уже есть межсетевой экран?
Это разные слои. Экран решает, какие соединения вообще разрешены, прокси - что делать внутри разрешённых. Фильтрация по категориям сайтов, авторизация по учётным записям и журнал посещений - зона прокси.
Чем опасен прокси-сервер?
Тем, что видит ваш трафик. Свой прокси в своей серверной эту проблему снимает, чужой бесплатный - создаёт.
Что такое обратный прокси и зачем он нужен?
Это сервер, который стоит перед вашими приложениями и принимает запросы вместо них: распределяет нагрузку между узлами, снимает шифрование, отдаёт статику из кеша и закрывает бэкенды от прямого доступа из интернета. Обычно nginx или HAProxy.
Можно ли поднять прокси на виртуальной машине?
Да, для небольшой и средней сети это обычная практика. Отдельное железо имеет смысл, когда прокси инспектирует HTTPS для большого числа пользователей и упирается в процессор, либо когда его надо вынести в отдельный сегмент по требованиям безопасности.
По теме: что такое сервер и зачем его используют · чем отличается коммутатор от маршрутизатора · что делает маршрутизатор
Собираете сервер под шлюз, прокси или другие сервисы периметра?
Инженеры ITTELO подберут конфигурацию под вашу сеть и число пользователей, соберут и протестируют сервер под нагрузку перед отгрузкой, с гарантией и поддержкой после продажи. На рынке серверов 11+ лет.


