Черный список IP-адресов с iptables за обратным прокси

У меня Ubuntu Server 16, и я использую iptables в качестве межсетевого экрана. Трафик HTTP и HTTPS находится за обратным прокси-сервером, который я не могу контролировать, но у меня активировано поле X-Forwarded-For .

Можно ли отфильтровать трафик на этапе iptables вместо добавления правил в Apache?

Если нет, то как лучше всего реализовать черный список в Apache?

0
задан 11 January 2017 в 21:20
2 ответа

iptables не может проверять это глубоко в пакетах. Даже если бы это было возможно, он мог бы проверять только HTTP-трафик, а не HTTPS. В apache вы можете занести в черный список с помощью директивы Limit .

1
ответ дан 4 December 2019 в 13:36

На самом деле это вполне возможно, хотя может потребоваться исправление ядра в зависимости от вашего дистрибутива. Существует расширение netfilter string , которое позволяет сопоставлять определенные пакеты в зависимости от того, содержится ли в них строка. Мы использовали его в прошлом для обработки DDOS-трафика.

Непроверенный пример здесь:

# iptables -A INPUT -m string --string 'X-Forwarded-For: badIP' -j DROP

Имейте в виду, что это довольно грубый инструмент и может привести к неожиданному прекращению трафика - убедитесь, что вы тщательно и четко формулируете свои правила. Как также заявило EEAA, он не будет работать с зашифрованным трафиком.

Дополнительная информация находится здесь: https://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html#ss3 .18

1
ответ дан 4 December 2019 в 13:36

Теги

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