설명
Ansible의 validate_certs를 false로 설정하면 AWS 관리 API와 통신할 때 서버 인증서를 검증하지 않습니다. 통신 경로에 개입할 수 있는 공격자가 서버를 사칭하면 자동화에 사용되는 자격 증명이나 관리 요청이 노출·변조될 수 있습니다.
이 옵션은 API 이용자와 API Gateway 사이의 TLS나 백엔드 인증서를 설정하지 않습니다. 기본값은 true이므로 옵션을 생략했다고 인증서 검증이 꺼지는 것은 아닙니다.
잠재적 영향
- 서버 사칭으로 관리 요청이나 응답이 변조될 수 있습니다.
- 자동화의 자격 증명과 처리 데이터가 노출될 수 있습니다.
해결 방법
validate_certs: true를 유지하세요. 인증서 오류가 발생하면 검증을 끄는 대신 엔드포인트와 인증서 체인을 확인하고, 지원되는 모듈의 aws_ca_bundle 등으로 필요한 신뢰 CA를 제공하세요. API 이용자와 백엔드의 TLS 구성도 별도로 확인하세요.
예시
기존 aws_api_gateway 이름을 사용하는 작업 발췌입니다. 설치된 Ansible 컬렉션에 맞는 모듈 이름을 사용하고 api_id와 my_api.yml을 실제 환경에 맞게 제공하세요.
변경 전
yaml
- name: update API
aws_api_gateway:
api_id: abc123321cba
state: present
swagger_file: my_api.yml
validate_certs: no
validate_certs: no는 Ansible과 AWS API 사이의 서버 인증서 검증을 끕니다.
변경 후
yaml
- name: update API
aws_api_gateway:
api_id: abc123321cba
state: present
swagger_file: my_api.yml
validate_certs: yes
validate_certs: yes로 서버 인증서를 검증합니다. AWS API 엔드포인트의 인증서 체인을 신뢰할 수 있어야 합니다.