У меня есть веб-сервер под управлением OpenSUSE 11.1, и мне нужно заблокировать URL. Причина, по которой я хочу заблокировать URL-адрес, заключается в том, что он, кажется, все время имеет другой IP-адрес, но URL-адрес остается неизменным.

Я бы предпочел не устанавливать никакого нового программного обеспечения, поэтому я надеялся найти способ сделать это с помощью IPTABLES или Apache.

Будет ли что-то вроде этой работы?

iptables -A INPUT -s botmasterlabs.net -j DROP
iptables -A OUTPUT -d botmasterlabs.net -j DROP

Есть другие идеи?

2 ответа2

1

Я предлагаю вам использовать что-то подобное в вашей конфигурации Apache для рассматриваемого виртуального хоста:

RewriteEngine on
RedirectMatch /folder(.*) http://is.gd/8BhjPN

Это работает для вас? Примечание: эта цель перенаправления может быть не тем сообщением, которое вы хотите передать - вы можете захотеть регулировать это значение вверх или вниз в зависимости от полного контекста ситуации.

1

iptables разрешит имя во время загрузки брандмауэра. Это не будет работать для серверов с динамическими адресами, такими как вы встречаете. Если бы у проблемного сайта был статический адрес, вам нужно только правило INPUT.

Перезапись Apache должна быть в состоянии сделать это, но будет стоить вам поиск DNS для каждого запроса, на который отвечает сервер. Установите кеширующий DNS-сервер, если у вас его еще нет. Что-то легкое, например, dnsmasq должно быть достаточно для небольшого сайта. Что-то вроде следующего должно запретить доступ. См. Руководство по перезаписи URL для получения дополнительных рекомендаций.

 RewriteEngine on
 RewriteCond   %{REMOTE_HOST}  example\.com$
 RewriteRule   * - [F]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .