Ситуация вполне типичная. Я использую CentOS + Apache (ы) за балансировщиком нагрузки для веб-сайтов.
На этом этапе предположим, что у меня нет доступа к балансировщику нагрузки (или) давайте забудем об этом.
В настоящее время я использую . htaccess
для БЛОКИРОВКИ IP-адресов, поскольку собственный iptables
не может блокировать IP-адреса типа X-Forwarded-For
(насколько я понимаю).
Мой нынешний подход в любом случае работает. Но это по-прежнему позволяет, по крайней мере, поражать мой Apache.
Есть ли брандмауэр
(например: iptables
) , который может блокировать X-Forwarded-For
IP / соединений тоже?
Заранее всем спасибо :)
Нет, брандмауэры, такие как iptables, работают на уровне tcp. Чтобы просмотреть http-заголовок x-forwarded-for, вам необходимо принять соединение и принять хотя бы заголовки запроса от клиента, прежде чем вы сможете оценить IP-адрес x-forwarded-for.
Безусловно, лучшее место для выполнения блокировка выполняется самим балансировщиком нагрузки до того, как запрос будет передан в apache, большинство балансировщиков нагрузки будут иметь эту функцию.