Найти в Дзене
Ирония безопасности

AWS спишет деньги даже отсутствие данных в S3

В статье рассматривается важная проблема, связанная с тем, что пустое хранилище AWS S3 может привести к неожиданно высоким расходам на AWS из-за несанкционированных входящих запросов.

Это практическое исследование служит предостережением о потенциальных финансовых рисках, связанных с сервисами AWS, в частности с S3, и подчеркивает важность понимания практики выставления счетов AWS и безопасной настройки сервисов AWS во избежание непредвиденных расходов.

📌 Неожиданно высокие затраты: У автора неожиданно резко вырос счет за AWS, составив более 1300 долларов, из-за того, что почти 100 000 000 запросов S3 PUT были выполнены в течение одного дня в пустой корзине S3, которую он настроил для тестирования.

📌Источник запросов: Изначально AWS по умолчанию не регистрирует запросы, выполняемые в корзинах S3. Автору пришлось включить журналы AWS CloudTrail, чтобы идентифицировать источник запросов. Было обнаружено, что неправильно настроенные системы пытались сохранить данные в его личном хранилище S3.

📌Выставление счетов за несанкционированные запросы: AWS взимает плату за несанкционированные входящие запросы в корзины S3. Это было подтверждено во время общения автора со службой поддержки AWS, в котором подчеркивалась важная политика выставления счетов, согласно которой владелец корзины оплачивает входящие запросы независимо от их статуса авторизации.

📌Предотвращение и защита: В статье отмечается, что не существует простого способа предотвратить подобные инциденты, кроме удаления корзины. AWS не позволяет защитить корзину с помощью таких сервисов, как CloudFront или WAF, при прямом доступе к ней через S3 API.

📌Расследование AWS: После инцидента AWS начала расследование проблемы, о чем свидетельствует твит Джеффа Барра, известного евангелиста AWS. Это говорит о том, что AWS осведомлена о потенциальных проблемах и, возможно, рассматривает способы их устранения.

В статье рассматривается‏ важная проблема, связанная с тем,‏ что пустое‏ хранилище‏ AWS S3 может привести‏ к неожиданно‏ высоким расходам на AWS‏ из-за‏ несанкционированных входящих запросов.

Это‏ практическое исследование‏ служит предостережением о потенциальных‏ финансовых‏ рисках,‏ связанных с сервисами‏ AWS, в‏ частности с‏ S3,‏ и подчеркивает важность‏ понимания практики выставления счетов‏ AWS и‏ безопасной‏ настройки‏ сервисов AWS во избежание непредвиденных‏ расходов.

📌 Неожиданно высокие затраты: У‏ автора‏ неожиданно‏ резко вырос счет‏ за AWS, составив‏ более 1300‏ долларов,‏ из-за того,‏ что почти 100 000‏ 000 запросов‏ S3‏ PUT‏ были выполнены‏ в течение‏ одного дня‏ в‏ пустой корзине‏ S3, которую он настроил для‏ тестирования.

📌Источник запросов: Изначально‏ AWS‏ по умолчанию не регистрирует‏ запросы, выполняемые‏ в корзинах S3. Автору‏ пришлось‏ включить журналы AWS‏ CloudTrail, чтобы‏ идентифицировать источник запросов. Было‏ обнаружено,‏ что‏ неправильно настроенные системы‏ пытались сохранить‏ данные в‏ его‏ личном хранилище S3.

📌Выставление‏ счетов за несанкционированные запросы:‏ AWS взимает‏ плату‏ за‏ несанкционированные входящие запросы в корзины‏ S3. Это было‏ подтверждено‏ во‏ время общения автора‏ со службой поддержки‏ AWS, в‏ котором‏ подчеркивалась важная‏ политика выставления счетов, согласно‏ которой владелец‏ корзины‏ оплачивает‏ входящие запросы‏ независимо от‏ их статуса‏ авторизации.

📌Предотвращение‏ и защита: В‏ статье отмечается, что не существует‏ простого способа‏ предотвратить‏ подобные инциденты, кроме удаления‏ корзины. AWS‏ не позволяет защитить корзину‏ с‏ помощью таких сервисов,‏ как CloudFront‏ или WAF, при прямом‏ доступе‏ к‏ ней через S3‏ API.

📌Расследование AWS:‏ После инцидента‏ AWS‏ начала расследование проблемы,‏ о чем свидетельствует твит‏ Джеффа Барра,‏ известного‏ евангелиста‏ AWS. Это говорит о том,‏ что AWS осведомлена‏ о‏ потенциальных‏ проблемах и, возможно,‏ рассматривает способы их‏ устранения.

Ответ AWS:

📌За‏ коды‏ ошибок HTTP‏ 4xx и 5xxx плата‏ не взимается: Amazon‏ S3‏ больше‏ не будет‏ взимать плату‏ за ответы‏ на‏ ошибки HTTP‏ 4xx и 5xx. Это изменение‏ направлено на‏ снижение‏ затрат клиентов, сталкивающихся с‏ такими ошибками.

📌Дата‏ вступления в силу: Новая политика‏ вступает‏ в силу немедленно‏ с даты‏ объявления, то есть 16‏ мая‏ 2024‏ года.

📌Влияние на клиентов:‏ Ожидается, что‏ это изменение‏ принесет‏ пользу клиентам за‏ счет устранения расходов, связанных‏ с распространенными‏ ошибками‏ клиентов‏ и серверов, что потенциально приведет‏ к экономии средств.

📌Учитываемые‏ коды‏ ошибок: Конкретные‏ коды ошибок HTTP,‏ за которые больше‏ не будет‏ взиматься‏ плата, включают:

📌📌4xx‏ Ошибки клиента (например, 404‏ Не найден,‏ 403‏ запрещен)

📌📌5xx‏ Ошибки сервера‏ (например, 500‏ Внутренняя ошибка‏ сервера,‏ 503 Служба‏ недоступна)

📌Обоснование: Решение об отмене этих‏ сборов является‏ частью‏ постоянных усилий AWS по‏ предоставлению экономически‏ эффективных и удобных для‏ клиентов‏ услуг.

Цель заключается в‏ устранении проблемы‏ с выставлением счетов, которая‏ потенциально‏ может‏ привести к неожиданно‏ высоким расходам‏ для клиентов.‏ Конкретно:

📌Ранее‏ владельцам корзины S3‏ взималась плата за запросы,‏ которые возвращали‏ ответы‏ по‏ протоколу HTTP 4xx (ошибка клиента),‏ даже если эти‏ запросы‏ были‏ несанкционированными и не‏ инициировались владельцем корзины.

📌Это‏ означало, что‏ если‏ злоумышленник или‏ бот выполнял большое количество‏ несанкционированных запросов‏ к‏ корзине‏ S3, владельцу‏ корзины выставлялся‏ счет за‏ эти‏ ответы с‏ ошибками 4xxx, что потенциально приводило‏ к огромному,‏ неожиданному‏ счету.

📌После общественного резонанса по‏ поводу этой‏ модели выставления счетов, которая‏ была‏ сочтена несправедливой по‏ отношению к‏ клиентам, Amazon объявила об‏ изменениях‏ 13‏ мая 2024 года.

📌С‏ учетом этого‏ изменения владельцы‏ пакетов‏ больше не будут‏ взимать плату за запросы‏ или пропускную‏ способность‏ за‏ запросы, которые возвращают ошибку HTTP‏ 403 (отказано в‏ доступе),‏ если‏ эти запросы были‏ инициированы из-за пределов‏ их учетной‏ записи‏ AWS или‏ организации AWS.

📌Конкретные коды ошибок‏ HTTP, за‏ которые‏ больше‏ не будет‏ взиматься плата,‏ включают ошибки‏ клиента‏ 4xx (например,‏ 404 Не найден, 403 запрещен)‏ и некоторые‏ коды‏ перенаправления 3xx, когда запросы‏ являются несанкционированными.