Есть ли в Firestore внутренний механизм для защиты приложения от чрезмерной нагрузки от запросов DDOS? - PullRequest
0 голосов
/ 30 июня 2019

Мне было интересно, есть ли в Firestore внутренний механизм, блокирующий запросы, аналогичные DDOS, для предотвращения неожиданного роста расходов, или есть возможность для владельцев устанавливать ограничения на максимальные запросы / расходы.

Например, предположим, чтов Firestore есть коллекция, которая доступна, пока пользователь входит в мое приложение.

Если злоумышленник создает около 100 учетных записей пользователей и пишет сценарий, который постепенно и непрерывно обращается к одной записи из коллекции со скоростью примерно 10 ~ 50 т / с каждый с разных компьютеров (например, 100 случайных вычислительных экземпляров, по 1 для каждого пользователя)общее число обращений к чтению в день может превысить 216 миллионов запросов.

(100 пользователей * 25 средних TPS * 86400сек / день) = 216 миллионов.

Это составляет около 129 долларов США./ день, с текущей ценовой единицей $ 0,06 / 100 тыс. запросов.

Если злоумышленник использует запрос list и получает доступ к 10 элементам одновременно, а не только к одному элементу, плата может возрасти до 1290 долларов в день.Если одна из коллекций позволяет пользователям запрашивать до 100 записей одновременно, это может составить $ 12900 в день.

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

Из-за этого риска я бы никогда не хотел показывать свою коллекцию Firestore напрямую клиенту.sdks (например, установите все правила безопасности чтения / записи в false) и предпочитаете использовать настраиваемые конечные точки и Firebase Admin SDK для управления ограничениями скорости ... но это только лишает всех преимуществ доступных клиентских sdks для уменьшения задержки и упрощениясобытия.

Есть ли в Firestore какой-либо механизм предотвращения такого рода проблем?Или это разрешает запросы ограничения скорости, подобные максимальным пределам емкости чтения / записи в AWS DynamoDB?

1 Ответ

1 голос
/ 30 июня 2019

Cloud Firestore, как самостоятельный продукт, по умолчанию не имеет ограничений по скорости.Облачная платформа Google в целом имеет настраиваемых уведомлений о выставлении счетов , которые применяются ко всему вашему проекту.(Все проекты Firebase также являются проектами Google Cloud Platform.)

Вы можете ограничить выставление счетов максимум 25 долларами в месяц, поместив свой проект в План Flame .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...