Если проверить любой AWS Application LoadBalancer с сертификатом из AWS Certificate Manager с настройками HTTPS Listener по-умолчанию – то получим уровень В, что, конечно, не слишком красиво:
Основная “претензия” SSL Labs – поддержка версий TLS 1.0 и 1.1, которые уже считаются устаревшими.
Содержание
AWS LoadBalancer SecurityPolicy и версии TLS
За поддерживаемые версии SSL/TLS в AWS отвечают SecurityPolicy:
Полный список политик можно найти в документации тут>>>, где мы собственно и видим политику по-умолчанию – ELBSecurityPolicy-2016-08, которая и включает в себя поддержку TLS 1.0/1.1:
Значит для того, что бы отключить поддержку устаревших версий TLS нам надо просто изменить политику, которая подключается к Application LoadBalancer.
Сделаем вручную, и проверим.
Выбираем Listener порта 443, жмём Edit:
Выбираем ELBSecurityPolicy-TLS-1-2-2017-01:
Проверяем SSL Report ещё раз:
Kubernetes и AWS ALB Controller
Если балансировщики нагрузки создаются с помощью AWS Load Balancer Controller, как у нас – то политику можно задать через аннотацию alb.ingress.kubernetes.io/ssl-policy:
--- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: test-ingress namespace: test-namespace annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]' alb.ingress.kubernetes.io/inbound-cidrs: 0.0.0.0/0 alb.ingress.kubernetes.io/certificate-arn: "arn:aws:acm:us-east-2:534***385:certificate/7b594eee-3dc0-424f-a6c0-2c1b14113602" alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/ssl-policy: "ELBSecurityPolicy-TLS-1-2-2017-01" ...
AWS LoadBalancer и TLS 1.3
А вот TLS 1.3 в AWS на момент написания поста (сентябрь 2021) не завезли. Из ответа тех. поддержки:
Kindly note please that currently, ALB/CLB does not support TLS 1.3, but according to AWS ELB team this is already a very popular feature request for which we have received multiple customer cases.We also have an internal ticket tracking this feature request, and I have added your case as well to the request to add more customer sentiment. Hopefully this will be implemented soon. However, I am not able to provide an ETA at the moment as AWS Support are not privy to development roadmap.
Готово.