AWS S3 и счет на сумму более 1000 долларов на второй день после создания

Пост от пользователя AWS S3, который на второй день получил счет на 1000 долларов, хотя он был пуст.
Похоже, проблема заключается в основном в вызовах бакета, которые создают расходы, но дело в том, что этот пользователь создал бакет с именем вроде «bucket-crap». Такое имя по умолчанию использовалось в приложении, которое, как выяснилось, широко применяется компаниями.
Однако всё это выявило, что у этого сервиса может быть серьёзная проблема: он может привести к тому, что теперь называют «DoW» («Denial of Wallet» — отказ в кошельке). Злоумышленник, зная имя указанного бакета, может создать тысячи вызовов к нему и вызвать чрезмерные расходы, поскольку даже если у него нет доступа к этому бакету, вызовы к нему, даже если они отклонены, генерируют расходы.

Подробная информация:
https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1

Похоже, что AWS изучает этот вопрос:

Нам не известно о случаях, когда подобное происходило с сайтами на Discourse, использующими S3 для загрузки файлов.

Действительно, я не думаю, что это так, однако не помешает принять некоторые меры предосторожности.

Думаю, это ещё одна причина, по которой рекомендуется использовать CDN, так как это хотя бы усложняет просмотр имени бакета.

Действительно, я тоже это увидел, и последовало много ругани.

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

Худшее заключается в том, что даже если вы заметите атаку, вы ничего не сможете сделать, чтобы её остановить.

от Джеффа Барра в Twitter: https://x.com/jeffbarr/status/1787844682216792163

Обновление: инженеры S3 работают над тем, чтобы запросы, не инициированные клиентами, но являющиеся несанкционированными, не оплачивались.

Это изменение охватит ряд кодов состояния HTTP 3xx/4xx, включая все упомянутые в статье. Мы действуем быстро и планируем поделиться дополнительными деталями на этой неделе.