У меня есть ALB за Cloudfront. Оба имеют SSL-сертификаты и, следовательно, обеспечивают разгрузку SSL, оба защищены с помощью WAF WebACL. ACL ALB проверяет заголовок — обычная практика защиты ALB от прямого доступа (в обход CF).
-SSL--> [CloudFront] --SSL--> [ALB:443] -------->EC2.....
Список контроля доступа WAF Список контроля доступа WAF*
Извините, это не отличная диаграмма, а просто для того, чтобы показать списки ACL (соответствующий список отмечен звездочкой) и общие блоки.
Таким образом, ALB завершает TLS и расшифровывает трафик. ПЕРЕД передача запросов в ACL* для проверки заголовка. Я думаю, что нет никакого способа проверить заголовки, кроме как в открытом тексте.
Теперь представьте себе DDoS-атаку 7-го уровня — скажем, HTTP-флуд.
Этот плохой трафик может не иметь заголовка, и ACL* отбросит его — отлично. Однако:
- придется ли ALB массово масштабироваться, просто для выполнения разгрузки TLS?
- если да, будет ли это масштабирование стоить много долларов в счете AWS? Похоже, что ALB для DDoS-атаки уровня 3/4, действительно масштабируется бесплатно. Это для сценария уровня 7..
Примечание: масштабирование, о котором я говорю, — это не автоматическое масштабирование EC2 и т. д., а масштабирование самого ALB.
Важный технический документ AWS
предполагает, что ALB действительно масштабируется, чтобы поглощать DDoS-атаки нижнего уровня. Кажется логичным, что он мог бы сделать то же самое (бесплатно), если бы правильно сформированные HTTP-запросы проходили через WAF и в ALB, но я не хотел принимать это как должное, отсюда и вопрос.