Защита неаутентифицированной конечной точки Cloud Run - PullRequest
3 голосов
/ 17 апреля 2019

Когда я создаю неаутентифицированную (публичную) конечную точку Cloud Run для размещения API, каковы мои варианты защиты этой конечной точки от злонамеренных пользователей, выполняющих миллиарды HTTP-запросов?

За 10 долларов вы можете запустить Layer 7 HTTP-флуд-атаку , которая может отправлять 250 тыс. Запросов в секунду.Предположим, что ваши конечные точки Cloud Run увеличены и все запросы обработаны.Только за вызовы вы будете платить $ 360, - / час ($ 0,40 за миллион запросов).

Обратите внимание, что существует предел параллелизма и макс. Предел экземпляра , который вы можете использовать, если атака не распространяется на несколько конечных точек Cloud Run.Какие еще элементы управления у меня есть?

Как я понимаю, обычные средства защиты с Cloud Armor и Cloud CDN связаны с Global Load Balancer , который недоступен для CloudВыполнить, но доступно для Cloud Run на GKE.

1 Ответ

2 голосов
/ 17 апреля 2019

Для неаутентифицированных вызовов в службу Cloud Run с ролью IAM Cloud Run Invoker, для которой задан тип члена allUsers, я ожидаю, что ответ будет таким же, как приведенный здесь - https://stackoverflow.com/a/49953862/7911479

, в частности:

Облачные функции находятся за внешним интерфейсом Google, который смягчает и поглощает многие атаки уровня 4 и ниже, такие как наводнения SYN, наводнения фрагментов IP, исчерпание порта и т. Д.

Конечно, было бы здорово получить четкий ответ Y / N о поддержке Cloud Armor.

[Редактировать]: Я много думал об этом и пришел к следующему выводу:

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

Идея, которую мне еще предстоит попробовать, - это защищенный маршрут с Firebase.Аутентификация и анонимная аутентификация .

...