Назад | Перейти на главную страницу

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

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

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

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

На самом деле это вполне возможно, хотя в зависимости от вашего дистрибутива может потребоваться исправление ядра. Здесь string netfilter, которое позволяет сопоставлять определенные пакеты в зависимости от того, содержится ли в них строка. Мы использовали его в прошлом для обработки 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

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