ELB 리스너의 TLS 보안 정책 점검

ELB HTTPS 리스너에는 지원되는 보안 정책을 사용하고, 오래된 TLS 프로토콜과 약한 암호군을 제한해야 합니다.

설명

Crossplane의 Listener에서 sslPolicy는 HTTPS 클라이언트 연결에 허용할 TLS 프로토콜과 암호군을 정하는 ELB 보안 정책의 이름입니다. 개별 암호군 이름을 입력하는 필드가 아닙니다. 오래된 프로토콜이나 약한 암호군을 허용하는 정책은 연결의 보호 수준을 낮출 수 있습니다.

이 정책은 클라이언트와 로드 밸런서 사이에 적용됩니다. 로드 밸런서에서 백엔드로 연결하는 구간의 암호화는 별도로 확인해야 합니다.

잠재적 영향

  • 클라이언트가 오래된 TLS 프로토콜이나 약한 암호군으로 연결할 수 있습니다.
  • 실제로 취약한 방식이 협상되면 통신 내용의 기밀성이나 무결성이 약해질 수 있습니다.

해결 방법

  • sslPolicy에 해당 리스너에서 지원하는 보안 정책 이름을 지정하세요. 조직의 요구 사항과 클라이언트 호환성을 고려해 TLS 1.2 이상만 허용하는 적절한 정책을 선택하세요.
  • HTTPS 리스너의 인증서와 실제 연결 협상 결과를 확인하고, 구식 프로토콜을 허용하지 않는지 시험하세요.
  • 백엔드 연결의 암호화와 인증서 설정도 별도로 검토하세요.

예시

다음은 HTTPS 리스너의 TLS 정책을 비교하는 부분 예시입니다. 연결할 로드 밸런서, 인증서와 기본 동작 등 나머지 필수 설정은 별도로 제공해야 합니다.

변경 전

yaml
apiVersion: elbv2.aws.crossplane.io/v1alpha1
kind: Listener
metadata:
  name: test-listener
spec:
  forProvider:
    region: us-east-1
    port: 443
    protocol: HTTPS
    sslPolicy: ELBSecurityPolicy-2016-08
  providerConfigRef:
    name: example

ELBSecurityPolicy-2016-08은 TLS 1.0과 TLS 1.1도 허용합니다.

변경 후

yaml
apiVersion: elbv2.aws.crossplane.io/v1alpha1
kind: Listener
metadata:
  name: test-listener
spec:
  forProvider:
    region: us-east-1
    port: 443
    protocol: HTTPS
    sslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
  providerConfigRef:
    name: example

ELBSecurityPolicy-TLS13-1-2-2021-06은 TLS 1.2와 TLS 1.3을 허용합니다. 변경 전에 필요한 클라이언트가 이 정책으로 연결할 수 있는지 확인하세요.

참조