Брандмауэр - Предотвращение кражи контента и мошенников

Наши сайты регулярно сканируются контент-ворами. Мы, очевидно, хотим пропустить приятных ботов и законную пользовательскую активность, но заблокируем сомнительную активность.

Мы пробовали блокировку IP на нашем брандмауэре, но это делается для управления списками блокировки. Также мы использовали IIS-обработчики, однако это усложняет наши веб-приложения.

Кто-нибудь знаком с сетевыми устройствами, брандмауэрами или службами приложений (скажем, для IIS), которые могут уменьшить или устранить скребки контента?

3 ответа

Решение

Если скребками являются BOTS, а не люди, вы можете попытаться создать каталог honeypot, в который они будут сканироваться и автоматически блокироваться (по IP-адресу) с помощью сценария "страница по умолчанию" в этом каталоге. Люди могут легко разблокировать себя, но это будет мешать ботам, поскольку они получат ошибку 403 "не авторизован" при любом последующем доступе. Я использую подобную технику, чтобы блокировать плохих роботов, которые не подчиняются robots.txt, но не блокируют людей, которые имеют один и тот же IP-адрес или "случайно" переходят к сценарию блокировки. Таким образом, если общий IP-адрес блокируется, он не является постоянным. Вот как:

Я установил страницу по умолчанию (по сценарию) в одной или нескольких подкаталогах (папках), заблокированных в robots.txt. Эта страница, если она загружена ненадлежащим роботом или отслеживающим человеком, добавляет свой IP-адрес в список заблокированных. Но у меня есть обработчик ошибок 403 ("не авторизован"), который перенаправляет эти заблокированные IP-адреса на страницу, объясняющую, что происходит, и содержит капчу, которую человек может использовать для разблокировки IP-адреса. Таким образом, если IP-адрес заблокирован, потому что один человек использовал его один раз для плохой цели, следующий человек, который получит этот IP-адрес, не будет заблокирован навсегда - просто немного неудобно. Конечно, если конкретный IP-адрес постоянно блокируется RE, я могу предпринять дальнейшие шаги вручную, чтобы решить эту проблему.

Вот логика:

  1. Если IP не заблокирован, разрешите доступ как обычно.
  2. Если посетитель перейдет в запрещенную зону, заблокируйте его IP.
  3. Если IP заблокирован, перенаправьте весь доступ к форме "разблокировать", содержащей капчу.
  4. Если пользователь вводит правильную капчу вручную, удалите IP-адрес из списка заблокированных (и запишите этот факт).
  5. Промойте, вспените, ПОВТОРЯЙТЕ вышеуказанные шаги для дальнейшего доступа.

Это оно! Один файл сценария для обработки уведомления о блокировке и разблокирования отправки капчи. Одна запись (минимум) в файле robots.txt. Одно перенаправление 403 в файле htaccess.

Вам нужен аппаратный брандмауэр, который выполняет проверку HTTP. Боюсь, это не будет дешево.

Кажется, я вспоминаю, что Cisco ASA 5520 сделает это, но цена одного из них составляет около 4600 фунтов стерлингов ~ 6900 долларов США.

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

Проверьте заголовки запроса? В зависимости от того, являются ли они детишками или нет, этого может быть достаточно

Другие вопросы по тегам