предотвратить X-Forwarded-For спуфинг в haproxy

Вчера мы подверглись DDoS-атаке, достигшей бэкэндов нашего веб-сервера (apache2). Интерфейс состоит из подключений haproxy для балансировки нагрузки к веб-серверам. В access.log apache мы увидели тысячи запросов от двух IP-адресов, и через пару часов мы поняли, что это были поддельные / спуфинговые, а не настоящие IP-адреса.

Для пояснения мы сделали "curl GET /" с IP "137.137.136.136", и это действительно тот IP (поддельный), который мы видели в наших веб-журналах

. в другом кластере, где мы используем nginx в качестве обратного прокси, изменение / создание заголовка X-Forwarded-For не работает. Это означает, что даже если вы введете случайный IP-адрес в конкретный заголовок, nginx все равно передаст правильный IP-адрес внутреннему веб-серверу?

Это связано с haproxy?
Кто-нибудь может подтвердить, что созданные заголовки X-Forwarded-For могут проходить через haproxy?
Почему этого не происходит в nginx?
Как вы предотвратите это?

1
задан 14 September 2017 в 12:43
1 ответ

В haproxy, если у вас нет ничего, что могло бы предотвратить это, это нормально, я не знаю ngnix, но я решил таким образом с помощью haproxy:

в параметрах по умолчанию :

forwardfor

В моем определении внешнего интерфейса haproxy у меня есть:

reqidel ^X-Forwarded-For:.*

Это удаляет X-Forwarded-For в HTTP-запросе, если клиент пытается подделать, а haproxy возвращает настоящий заголовок в HTTP-ответе с истинный IP-адрес

Если вы хотите использовать X-Forwarded-For для проверки IP-адреса HTTP-клиентов, вам необходимо удалить его, если он существует в HTTP-запросе, потому что клиент, использующий HTTP-прокси иногда устанавливайте локальный IP-адрес в X-Forwarded-For

7
ответ дан 3 December 2019 в 16:32

Теги

Похожие вопросы