설명
OpenSearch 도메인에서 HTTPS를 강제하지 않으면 HTTP 요청을 허용할 수 있습니다. 클라이언트가 암호화되지 않은 연결을 사용하면 전송하는 검색 데이터나 자격 증명이 노출되거나 변조될 위험이 있습니다.
HTTPS 강제 설정은 클라이언트와 도메인 엔드포인트 사이의 연결을 보호합니다. 노드 간 암호화, 저장 시 암호화와 접근 권한은 별도 설정입니다.
잠재적 영향
- HTTP로 전송한 요청과 응답을 경로상의 공격자가 읽거나 변경할 수 있습니다.
- 암호화되지 않은 요청에 포함된 민감한 데이터나 자격 증명이 노출될 수 있습니다.
해결 방법
domain_endpoint_options.enforce_https를 true로 설정하고 서비스와 클라이언트가 지원하는 TLS 보안 정책을 선택하세요. 클라이언트가 HTTPS를 사용하며 서버 인증서를 검증하는지 시험하세요. 도메인의 접근 정책과 네트워크 허용 범위도 필요한 주체로 제한하세요.
예시
동일한 기존 도메인의 엔드포인트 설정을 바꾸는 발췌입니다. opensearch_domain_name에 실제 도메인 이름을 제공하세요. 도메인 생성, 엔진 버전과 용량 설정은 생략했습니다.
변경 전
yaml
- name: Configure an existing OpenSearch domain endpoint
community.aws.opensearch:
domain_name: "{{ opensearch_domain_name }}"
domain_endpoint_options:
enforce_https: false
HTTPS만 사용하도록 강제하지 않습니다. 모든 요청이 HTTP라는 뜻은 아니지만 HTTP 사용을 차단하는 설정은 아닙니다.
변경 후
yaml
- name: Configure an existing OpenSearch domain endpoint
community.aws.opensearch:
domain_name: "{{ opensearch_domain_name }}"
domain_endpoint_options:
enforce_https: true
도메인 엔드포인트에서 HTTPS만 허용합니다. 클라이언트의 실제 연결과 인증서 검증도 확인하세요.