Как обнаружить входящие HTTP-запросы, отправленные анонимно через TOR?

StackOverflow https://stackoverflow.com/questions/3687755

Вопрос

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

Я могу представить себе стратегии блокировать пользователей на основе интенсивного трафика с одного IP-адреса, но TOR Network Настраивает много цепей, которые по существу означает трафик одного пользователя, поставляется с разных IP-адресов со временем.

Я знаю, что можно обнаружить трафик TOR как при установке Видалия С его расширением Firefox Google.com представил мне капчу.

Итак, как я могу обнаружить такие запросы?

(Мой сайт в ASP.NET MVC 2, но я думаю, что любой подход, используемый здесь, был бы независимым языком)

Это было полезно?

Решение

Я разрабатываю веб-сайт и чувствителен к экрану людей, соскорья мои данные

Забудь об этом. Если это в Интернете, и кто-то хочет, это будет невозможный остановить их от того, чтобы получить его. Чем больше ограничений, которые вы размещаете, тем больше вы рискуете разрушать пользовательский опыт для законных пользователей, которые надеемся, что будут большинством вашей аудитории. Это также делает код сложнее для обслуживания.

Я буду публиковать контрмеры к любым идеям будущих ответов предложить.

Другие советы

Вы можете проверить свой IP-адрес против списка Узлы выхода TOR. Отказ Я точно знаю, что это даже не замедлит кого-то, кто заинтересован в соскании вашего сайта. Тор слишком медленный, большинство скребок даже не считают это. Существуют десятки тысяч открытых прокси-серверов, которые могут быть легко отсканированы или можно приобрести список. Прокси-серверы приятны, потому что вы можете нарезать их или вращать, если ваш запрос CAP получит удар.

Google был злоупотреблен пользователями Tor, и большинство узлов выхода находятся в Google Black List, и вот почему вы получаете CAPTCHA.

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

При разработке компонентов Network Tor невозможно выявить, если запросник является исходным источником или если это просто решаемый запрос.

Поведение, которое вы видели с Google, вероятно, вызвано различной мерой безопасности. Google обнаруживает, если запись вошедшего в систему изменяет его IP и представляет CAPTCHA, на всякий случай, если предотвратить вредное перехват, а также разрешить продолжение сеанса, если аутентифицированный пользователь действительно изменил свой IP (повторно вход в систему для ISP и т. Д.).

Я знаю, что это старое, но я получил сюда из поиска Google, поэтому я подумал, что доберусь до корневых проблем в этом вопросе. Я разрабатываю веб-приложения, но я также делаю тонну злоупотребления и эксплуатацию других народов. Я, наверное, парень, который вы пытаетесь избежать.

Обнаружение трафика TOR на самом деле не маршрут, который вы хотите пойти сюда. Вы можете обнаружить хорошее количество открытых прокси-серверов путем анализа заголовков запроса, но вы получили TOR, высокую анонимность прокси, носки прокси, дешевые VPN, продавшиеся непосредственно к спаммерам, ботнетам и бесчисленным другим способам разрыва пределов скорости. Вы тоже

Если ваша главная проблема является эффектом DDOS, не беспокойтесь об этом. Реальные атаки DDOS принимают мышцы или некоторую уязвимость, которая ставит напряжение на вашем сервере. Независимо от того, какой тип сайта у вас есть, вы собираетесь затопить хиты от пауков, а также плохих людей, сканирующих для подвигов. Просто факт жизни. На самом деле, этот вид логики на сервере почти никогда не ведутся хорошо, а может быть единственной точкой отказа, которая оставляет вас открытыми для настоящей атаки DDOS.

Это также может быть одной точкой отказа для ваших конечных пользователей (включая дружеские боты). Если законный пользователь или клиент заблокированы, у вас есть кошмар обслуживания клиентов, и если неверный шансер заблокирован, вы прощаетесь с вашим поисковым трафиком.

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

Если ваш сайт больше услуг с динамическим контентом, это целая другая история. Я действительно соскребаю много сайтов, подобных этому, чтобы «украсть» огромное количество структурированных запатентованных данных, но есть варианты, чтобы сделать его сложнее. Вы можете ограничить запрос на IP, но это легко обойтись с прокси. Для некоторой реальной защиты относительно простое запутанность проходит долгий путь. Если вы попытаетесь сделать что-то вроде Scrape результаты Google или скачать видео с YouTube, вы обнаружите, что есть много для обратного инженера. Я делаю оба из них, но 99% людей, которые пытаются потерпеть неудачу, потому что им не хватает знаний, чтобы сделать это. Они могут соскребать прокси, чтобы обойти IP-пределы, но они не нарушают никаких шифров.

В качестве примера, насколько я помню страница результатов Google, поставляется с запутанным Javscript, который вводится в DOM на нагрузке страницы, то некоторые жетоны установлены, поэтому вы должны выбрать их. Затем есть запрос AJAX с этими жетонами, которые возвращают забитые JS или JSON, которые декодированы для создания результатов и так далее и так далее. Это не трудно сделать на вашем конце, как разработчик, но подавляющее большинство потенциальных воров не может справиться с ним. Большинство тех, которые могут не вкладывать усилия. Я делаю это, чтобы обернуть действительно ценные услуги Google, но для большинства других услуг я просто двигаюсь к более низким виситным фруктах на разных провайдерах.

Надеюсь, это полезно для тех, кто наткнулся на него.

Я думаю, что сосредоточенность на том, как «невозможно», чтобы предотвратить определенную и технически Savvy пользователю от соскабливания веб-сайта, дается слишком много значимости. @Drew NokakeS заявляет, что сайт содержит информацию, которую принимают в совокупности, имеет некоторую «ценность». Если веб-сайт имеет совокупные данные, которые легко доступны путем неонимаемых анонимных пользователей, то да, предотвращение соскабливания может быть рядом «невозможна».

Я бы предложил решить проблему, не в том, как пользователю отказаться от совокупных данных, а скорее, какие подходы могут быть использованы для удаления совокупных данных из общественного доступа; Тем самым устраняет цель скребников без необходимости делать «невозможным», предотвратить утилизацию.

Совокупные данные должны рассматриваться как запатентованная информация о компании. Запатентованная информация о компании в целом публично недоступна анонимным пользователям в совокупности или сырой форме. Я бы утвердовал, что решение для предотвращения приема ценных данных было бы ограничение и ограничивать доступ к данным, не предотвращать его отказа от него, когда он представлен пользователю.

1] Учетные записи / доступ пользователей - никто никогда не должен иметь доступ ко всем данным в течение в течение определенного периода времени (конкретным данным / доменом). Пользователи должны иметь возможность доступа к данным, которые имеют отношение к ним, но четко от вопроса ни один пользователь не будет иметь законную цель для запроса всех совокупных данных. Не зная специфики сайта, я подозреваю, что законный пользователь может понадобиться только небольшое небольшое подмножество данных в течение некоторого периода времени. Запрос, который значительно превышает типичные потребности пользователей, должен быть заблокирован или альтернативно включен, чтобы заставить соскабливание непомерно трудоспособного потребляемого и потенциально устаревших данных.

2] Операционные команды часто контролируют метрики для обеспечения здоровых систем крупных распределенных и сложных систем. К сожалению, становится очень трудно определить причины спорадических и прерывистых проблем, и часто даже трудно определить, что есть проблема, в отличие от нормальных операционных колебаний. Операционные команды часто справляются со статистическими анализируемыми историческими данными, взятыми из многих многочисленных метрик, и сравнивая их с текущими ценностями, чтобы помочь определить значительные отклонения в области здоровья системы, будьте в системе времени, нагрузки, загрузку процессора и т. Д.

Аналогичным образом, просьбы от пользователей для данных в количествах, которые значительно больше, чем норм, могут помочь идентифицировать людей, которые, вероятно, будут откатываться; Такой подход может даже быть автоматизирован и даже продлен дальше, чтобы посмотреть на несколько учетных записей для узоров, которые указывают на утилизацию. Пользователь 1 Scropes 10%, пользователь 2 царапины Следующие 10%, пользователь 3 царапины Следующие 10% и т. Д. ... Узоры такие модели (и другие) могут обеспечить сильные показатели злонамеренного использования системы одним индивидуальным или групповым использованием Несколько учетных записей

3] Не делайте необработанные агрегатные данные напрямую доступны для конечных пользователей. Специфические данные здесь, но просто поставить, данные должны находиться на задних концевых серверах и извлеките использование некоторого домена API. Опять же, я предполагаю, что вы не просто обслуживаете необработанные данные, а скорее ответив на запросы пользователей для некоторых подмножеств данных. Например, если данные, которые у вас есть, является подробная демография населения для конкретного региона, законный конечный пользователь будет заинтересован только подмножеством этих данных. Например, конечный пользователь может захотеть узнать адреса домохозяйств с подростками, которые проживают как с обоими родителями в мульти-единичном корпусе, или данные по конкретному городу или округу. Такой запрос потребует обработки совокупных данных для получения результирующего набора данных, которые представляют интерес к конечному пользователю. Это запретительно трудно соскрести к каждому полученному набору полученных данных, извлеченных из многочисленных потенциальных перестановок входного запроса и полностью восстановит агрегированные данные. Скребок также будет ограничен безопасностью веб-сайтов с учетом # запросов / времени, общий размер данных получателя набора данных и других потенциальных маркеров. Хорошо разработанная API, включающая в себя конкретные знания домена, будет иметь решающее значение для обеспечения всеобъемлющей API, чтобы обслуживать его цели, но не слишком общее, чтобы вернуть большие дампы необработанных данных.

Включение учетных записей пользователей на сайт, создание базовых линий использования пользователей, идентификация и дросселирование пользователей (или других подходов смягчения), которые существенно отклоняются от типичных шаблонов использования, а также создание интерфейса для запроса обработанного / расщепленного результата Наборы (VS необработанные агрегатные данные) создаст значительные сложности для вредоносных людей, намеревающихся на краже ваших данных. Может быть невозможно предотвратить утилизацию данных веб-сайтов, но «невозможность» преобладают в совокупных данных, которые являются легко доступными для скребка. Вы не можете соскрести, что вы не видите. Поэтому, если ваши совокупные данные не являются сырыми необработанными текстом (например, библиотеки электронных книг) конечных пользователей не должно иметь доступа к необработанным агрегатным данным. Даже в примере библиотеки электронного книги значительное отклонение от приемлемых моделей использования, таких как запрашивание большого количества книг в их полноте, должно быть заблокировано или включено.

Вы можете обнаружить пользователей TOR, используя Tordnsel - https://www.torproject.org/projects/tordnsel.html.en..

Вы можете просто использовать эту команду / библиотеку - https://github.com/assafmo/istorexit..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top