Как предотвратить хотлинкинг с помощью AWS WAF

Существует документ AWS, в котором объясняется, как это сделать для себя, т.е. как разрешить горячую ссылку только для своих страниц и отклонить все остальные: https://aws.amazon.com/blogs/security/how-to-prevent-hotlinking-by-using-aws-waf-amazon-cloudfront-and-referer-check/

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

  • В компании, в которой я работаю, мы намерены продавать данные через виджет JS.
  • Мы хотели бы ограничить доступ к этим данным, чтобы только авторизованные РЕФЕРИРЫ могли показывать наши данные своим пользователям, отклоняя при этом всех остальных РЕФЕРАТОРОВ.
  • Возможность подделки РЕФЕРА не представляет для нас серьезной угрозы.
  • Мы рассчитываем увеличить нашу клиентскую базу до нескольких сотен.

Я задаю этот вопрос потому, что заметил некоторые строгие ограничения для WAF: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html, согласно которому я понимаю, что для нашего варианта использования WAF не будет хорошо масштабироваться.


person aercolino    schedule 07.03.2019    source источник


Ответы (1)


WAF не подходит для этой работы.

Во-первых, даже если существует максимум 10 правил, каждое из которых содержит максимум 10 условий, каждое из которых содержит максимум 10 фильтров, существует строгое максимум 100 строковых условий для каждой учетной записи AWS.

Во-вторых, условия и фильтры не подходят для нашего случая использования. Условия правила составляются с помощью И, а фильтры условия составляются с помощью ИЛИ. Например, такое правило, как r(x) := (x=a + x=b + x=c) * (x=d + x=e), даст r(d) = false, даже не проверяя x=d.

person aercolino    schedule 12.04.2019