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