Назад | Перейти на главную страницу

Можно ли избежать затрат на недействительные запросы в AWS S3 или облачном сервисе во время DDoS-атаки?

В Интернете есть множество руководств, которые продвигают дешевый хостинг статических веб-сайтов через AWS S3 + AWS Cloudfront (+ Cloudflare).

Примером этого может быть:


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

Даже использование Amazon WAF, который может блокировать определенные диапазоны IP-адресов, не должно вам помочь, поскольку запрашивающая сторона все равно должна получать сообщение «Доступ запрещен» или что-то подобное.


Недействительные запросы повлекут за собой:

  1. запросы на объекты, которых нет
  2. вариант использования "обслуживание частного контента"
    • отсутствующие параметры для подписанных URL / подписанных файлов cookie
    • неправильные учетные данные IAM / инкогнито

Цены (S3 в Северной Вирджинии / Cloudfront USA; 2018-03-25)

---------------------------------------------------------------------------------------
- service      -   # requests type                         -           pricing        -
---------------------------------------------------------------------------------------
- S3           -   1000 PUT/COPY/POST requests             -         0.0050 USD       -
---------------------------------------------------------------------------------------
- S3           -   1000 GET and other requests             -         0.0004 USD       -
---------------------------------------------------------------------------------------
- Cloudfront   -   10000 HTTP                              -         0.0075 USD       -
---------------------------------------------------------------------------------------
- Cloudfront   -   10000 HTTPS                             -         0.0100 USD       -
---------------------------------------------------------------------------------------


Стоимость DDoS-атаки с недействительными запросами

-------------------------------------------------------------------------------------------------------------
- requests per second      -   service              - type    -  costs per day     -  costs per month       -
-------------------------------------------------------------------------------------------------------------
- 200                      -   S3 (North-Verginia)  - POST    -    86.400 USD      -      2592.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 500                      -   S3 (North-Verginia)  - POST    -   216.000 USD      -      6480.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 1000                     -   S3 (North-Verginia)  - POST    -   432.000 USD      -     12960.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 200                      -   S3 (North-Verginia)  - GET     -     6.912 USD      -       207.36 USD       -
-------------------------------------------------------------------------------------------------------------
- 500                      -   S3 (North-Verginia)  - GET     -    17.280 USD      -       518.40 USD       -
-------------------------------------------------------------------------------------------------------------
- 1000                     -   S3 (North-Verginia)  - GET     -    34.560 USD      -      1036.80 USD       -
-------------------------------------------------------------------------------------------------------------
- 200                      -   Cloudfront (USA)     - HTTPS   -    17.000 USD      -       518.40 USD       -
-------------------------------------------------------------------------------------------------------------
- 500                      -   Cloudfront (USA)     - HTTPS   -   216.000 USD      -      1296.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 1000                     -   Cloudfront (USA)     - HTTPS   -   432.000 USD      -      2592.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 10000                    -   Cloudfront (USA)     - HTTPS   -   864.000 USD      -     25920.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 200                      -   Cloudfront (USA)     - HTTP    -    12.960 USD      -       388.80 USD       -
-------------------------------------------------------------------------------------------------------------
- 500                      -   Cloudfront (USA)     - HTTP    -    32.400 USD      -       972.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 1000                     -   Cloudfront (USA)     - HTTP    -    64.800 USD      -      1944.00 USD       -
-------------------------------------------------------------------------------------------------------------
- 10000                    -   Cloudfront (USA)     - HTTP    -   648.000 USD      -     19440.00 USD       -
-------------------------------------------------------------------------------------------------------------


Возможное решение: использовать CDN?

Предлагаемое решение этой проблемы, указанное в некоторых руководствах, заключается в использовании бесплатного сервиса Cloudflare CDN, который может обрабатывать все эти запросы, предоставляя им кэшированный результат из AWS S3 или AWS Cloudfront.

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

Примеры:
www.flare-example.com/iza7648hklto
www.flare-example.com/dsatnygp4851021
...

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


Теперь, наконец, к моему вопросу:

Можете ли вы избежать этих затрат во время DDoS-атаки, удалив облачный дистрибутив или корзину S3 как можно быстрее?

Или я ошибся в структуре ценообразования AWS?

Очень интересный анализ. Единственный способ догадаться - это строго контролировать трафик, а также стоимость. Кроме того, можно взглянуть на расширенный AWS Shield. Несмотря на то, что есть дополнительные ежемесячные расходы, они будут покрывать расходы на масштабирование из-за DDOS.

С AWS Shield Advanced вы получаете «защиту от DDoS-атак» - функцию, которая защищает ваш счет AWS от EC2, эластичной балансировки нагрузки (ELB), Amazon CloudFront и Amazon Route 53 от скачков использования в результате DDoS-атаки.

https://aws.amazon.com/shield/