Подключение: Обратный TCP-прокси

Данная статья описывает подключение к обратному TCP-прокси Qrator Labs в режиме Proxy Protocol или Raw TCP Proxy.

Подробнее о принципах работы и различиях между этими режимами читайте в статье Технологии: Обратный TCP-прокси.

Подключение в режиме Proxy Protocol

Подключение к Qrator Labs с помощью Proxy Protocol позволяет защитить от DDoS-атак трафик на уровне TCP-сегментов с сохранением информации об отправителе.

Требуемое ПО

TCP-сегмент с заголовком Proxy Protocol отличается от обычного TCP-сегмента и требует дополнительной обработки принимающей стороной. Обработкой может заниматься любое программное обеспечение за апстримом, умеющее работать с этим протоколом. Например, оно может быть установлено на маршрутизаторы или отдельные серверы.

Некоторые специализированные программные пакеты имеют встроенную поддержку Proxy Protocol. Так, почтовый сервер Dovecot или торговая платформа MetaTrader могут принимать сегмент по этому протоколу без дополнительных инструментов.

Актуальный список ПО, поддерживающего Proxy Protocol, можно найти на сайте HAProxy.

Обратите внимание, что существуют две версии протокола. Proxy Protocol v1 использует текстовый формат заголовка, тогда как Proxy Protocol v2 использует бинарный формат. Накладные расходы на передачу и обработку данных при использовании бинарной версии протокола ниже в сравнении с текстовой версией. В некоторых версиях программного обеспечения поддерживается только один из вариантов протокола. Например, поддержка Proxy Protocol v1 есть в NGINX 1.5.12 и выше, но поддержка Proxy Protocol v2 есть только в NGINX 1.13.11 и выше.

Некоторое программное обеспечение, например, торговая платформа MetaTrader 5, поддерживает Proxy Protocol без дополнительной настройки.

О том, как включить использование Proxy Protocol в том или ином программном обеспечении, читайте в соответствующей документации, например:

Переключение между апстримами

По умолчанию, если настроен всего один апстрим, обратный TCP-прокси пытается отправлять все TCP-сегменты от пользователей на этот апстрим, а если соединение с апстримом не удаётся установить в течение 5 секунд, то сообщает пользователю об ошибке.

Если вы настроили два или более апстрима, то в случае ошибки при подключении к одному из них обратный TCP-прокси будет обращаться к следующему апстриму по списку. Обратите внимание, что один и тот же порядок проверки апстримов будет использоваться для каждого запроса. Это означает, что при долговременном выходе из строя основного апстрима запросы всех пользователей станут обрабатываться с задержкой не менее 5 секунд. Поэтому если вы знаете, что один из ваших апстримов сейчас недоступен, обратитесь в техническую поддержку, чтобы временно убрать его из списка используемых апстримов или изменить их порядок.

Также по вашему обращению техническая поддержка Qrator Labs может настроить активную проверку апстримов, чтобы автоматически включать и отключать каждый апстрим в зависимости от его доступности. Активная проверка выполняется каждым узлом сети Qrator Labs по отдельности и работает следующим образом:

  1. В рамках каждой проверки обратный TCP-прокси выполняет специальный диагностический запрос о состоянии каждого апстрима. Этот запрос делается к специальному healthcheck-сервису, который может находиться как на самом апстриме, так и по любому другому указанному вами URL. Запрос выполняется по протоколу HTTP или HTTPS к определённому URL на апстриме. При необходимости вы можете указать HTTP-метод (по умолчанию GET), HTTP-заголовки (в том числе Host) и тело запроса, которые будут отправляться.

  2. Если с апстримом не удалось установить соединение в течение определённого времени (по умолчанию 5 секунд) или он вернул ответ с определённым статусом (по умолчанию любой статус HTTP 5xx), это считается ошибкой. При необходимости обратный TCP-прокси может также проверять содержимое тела запроса, а также сертификат апстрима при соединении по HTTPS.

  3. По умолчанию обратный TCP-прокси настроен так, что после произошедшей ошибки он сразу же выводит апстрим из обращения. Это означает, что пользовательский трафик временно не будет на него направляться.

    Для защиты от ложных срабатываний можно настроить обратный TCP-прокси так, чтобы в рамках одной проверки он выполнял несколько диагностических запросов друг за другом сразу или с небольшой задержкой. Обратный TCP-прокси будет считать количество успешных и неуспешных попыток и закончит проверку, как только накопится определённое количество успешных попыток или определённое количество неуспешных попыток. В зависимости от того, какое событие наступит раньше, апстрим будет признан активным или неактивным.

Полная проверка всех апстримов, включая выведенные из обращения, выполняется каждые несколько секунд. По умолчанию интервал равен 15 секундам, но его можно изменить в зависимости от ваших нужд.

Порядок настройки подключения

  1. Обратитесь в техническую поддержку и сообщите IP-адреса апстримов, с которыми обратному TCP-прокси следует установить соединение при помощи Proxy Protocol. Укажите версию протокола, которую поддерживает ПО на вашей стороне.

  2. В случае настройки нескольких апстримов выберите необходимые параметры переключения между ними.

  3. Если вам необходима защита от DDoS-атак на уровне приложений (application layer модели OSI/ISO), то обеспечьте оперативную передачу логов сервера для анализа на серверы Qrator Labs в автоматическом режиме. Если этого не сделать, обратный TCP-прокси не сможет выполнять защиту от атак на уровне приложения (L7). Подробности о вариантах передачи логов уточняйте у специалистов технической поддержки.

  4. Согласуйте с технической поддержкой время включения обратного TCP-прокси. Обратите внимание, что если апстрим по этому IP-адресу сейчас работает через обратный HTTP-прокси, то при переключении возможна временная недоступность сайта в течение около 10 минут.

  5. В заданное время включите поддержку Proxy Protocol на своей стороне.

Подключение в режиме Raw TCP Proxy

Режиме Raw TCP Proxy подходит для случаев, когда включение поддержки Proxy Protocol на апстриме затруднено или невозможно, при этом информация об отправителе TCP-сегментов не критична для работы апстрима.

Чтобы начать работать с обратным TCP-прокси в режиме Raw TCP Proxy, обратитесь в техническую поддержку Qrator Labs и сообщите, на какой IP-адрес и порт должен перенаправляться TCP-трафик, а также, при необходимости, другую дополнительную информацию, которую запросит специалист технической поддержки.

Дополнительной настройки на стороне апстримов не требуется.

expand_less