Как внедрить механизмы противоскребания для моего сайта на Amazon S3?

676
Avinash

У меня есть несколько статических веб-страниц, размещенных на Amazon S3, которые очень часто обновляются. Я хочу внедрить несколько механизмов предотвращения взлома, таких как запрет IP-адресов, которые делают слишком много запросов или делают запросы, кажущиеся роботизированными и т. Д. Я знаю, что ничто не защищает от дурака, но я просто хочу оказать им некоторое сопротивление и усложнить их работу. Я понял, что есть способ занести в черный список IP-адреса в политике сегментов, но есть ли какой-либо динамический способ реализовать это, например ... ЕСЛИ конкретный IP делает .... конкретные запросы no.of в минуту .... тогда запрет это на определенное время. Или что-то типа того.

-3
Используйте существующие пакеты программного обеспечения, которые добавляют эту функцию на ваш сайт Ramhound 7 лет назад 2
Какие программные пакеты вы имеете в виду? И как я могу добавить их на сайт, так как это был статический сайт, размещенный на S3? Avinash 7 лет назад 0
Fail2Ban это один. Ramhound 7 лет назад 0

3 ответа на вопрос

-1
Tim

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

-1
Algeriassic

Я никогда не пробовал это, но я думаю, что это выполнимо. Это будет не просто флажок.

Вот что вам нужно сделать:

  • Включите «Регистрация доступа к серверу» для вашей корзины S3,
  • Создайте лямбда-функцию и запланируйте ее запуск каждые х минут (скорость) или на кроне. Эта функция должна:

    • Просмотрите эти журналы и посчитайте, сколько раз IP-адрес обращался к определенному ресурсу (файлу или сегменту) за определенный промежуток времени, или IP-адрес, который получает 404 ... и т. Д.,
    • В зависимости от порога, который вы определяете, решите, будете ли вы блокировать этот IP или нет,
    • Измените политику своего сегмента S3 (для этого вы можете воспользоваться Boto3) и добавьте IP-адрес, который вы решили заблокировать ранее (NotIpAddress - ваш друг).
Это действительно отличная идея. благодарю вас. Avinash 7 лет назад 0
-1
Paul Bissex

Сервис AWS, который лучше всего подходит для этой работы, - это WAF, брандмауэр веб-приложений.

Из раздела Автоматизация безопасности их документации:

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