CloudFront와 EC2 사이의 경로가 HTTP를 통과하는 것이 안전합니까?

CloudFront와 EC2 사이의 경로가 HTTP를 통과하는 것이 안전합니까?

사용자가 CloudFront 배포를 통해 내 도메인에 연결하고 해당 요청이 내 S3 버킷으로 전달되는지 아니면 EC2 인스턴스로 전달되는지 확인하는 CloudFront 배포가 설정되어 있습니다.

이 경우 사용자와 CloudFront 간의 연결은 HTTPS이며 브라우저에 녹색 자물쇠가 있습니다.

내 관심사는 CloudFront와 EC2 간의 연결이 이제 HTTP를 통해 이루어진다는 것입니다. 원본 정책을 HTTPS로 변경해 보았지만 작동하지 않는 것 같습니다.

단 하나의 서버이므로 로드 밸런서가 필요하지 않습니다.

또한 CloudFront 인증서의 프라이빗 키에 액세스할 수 없기 때문에 EC2 서버에 CloudFront 인증서를 설치할 수 없을 것 같습니다.

또한 도메인 이름이 필요하고 EC2 인스턴스가 IP 주소일 뿐이므로 EC2 인스턴스에서 LetsEncrypt 인증서를 사용할 수 없습니다.

지금은 모든 것이 작동하지만 안전하지 않다는 점이 걱정됩니다. 누군가 내 사이트에 비밀번호를 입력하면 어떻게 되나요? 사용자가 CloudFront 배포판으로 전송할 때만 암호화되고, CloudFront와 EC2 간에 인터넷을 통해 이동할 때는 암호화되지 않고 일반 텍스트가 되지 않습니까? 도중에 중개자가 이를 기록할 수는 없나요?

이에 대한 해결책이 있습니까, 아니면 문제가 되지 않습니까? 여러 사람들이 CloudFront와 EC2 인스턴스 간에 HTTP 원본 정책을 사용하는 것이 괜찮다고 말하는 것을 보고 약간 혼란스럽습니다. 하지만 어떻게 그럴 수 있는지 잘 모르겠습니다.

답변1

이에 답하는 데는 여러 가지 측면이 있습니다.

  1. CloudFront 엔드포인트는 소위 말하는 방식으로 배포됩니다.엣지 로케이션트래픽이 AWS 글로벌 인프라로 들어가는 곳입니다. CloudFront와 EC2 간의 모든 트래픽은 타사 운영자를 통하지 않고 AWS 인프라를 통해서만 라우팅되어야 합니다.

    업데이트:AWS 글로벌 인프라페이지 내용:데이터 센터와 지역을 상호 연결하는 AWS 글로벌 네트워크를 통해 흐르는 모든 데이터는 보안 시설을 떠나기 전에 물리적 계층에서 자동으로 암호화됩니다.즉, 상호 연결 중 일부가 실제로 제3자 네트워크를 통과하더라도 항상 암호화되므로 해당 제3자 운영자는 일반 텍스트 HTTP를 볼 수 없습니다.

  2. 귀하는 이미 귀하의 데이터에 대해 AWS를 신뢰하고 있습니다. EC2를 실행하고 CloudFront에 대한 SSL 인증서를 관리하는 등의 작업을 수행하므로 동일한 수준에서 해당 네트워크도 신뢰할 수 있습니다. AWS 내부의 일반 텍스트 트래픽을 스누핑할 위험은 존재하지 않더라도 매우 낮습니다.

  3. 당신은 만들 수 있습니다자체 서명된 SSL 인증서EC2에 있으며 CloudFront는 EC2 오리진에 도달하기 위해 이를 기꺼이 받아들입니다. 그렇게 하면 HTTPS를 끝까지 사용할 수 있습니다. 이 자체 서명된 인증서는 다음 용도로만 사용됩니다.CF <-> EC2 트래픽, 당신을 위한 것이 아닙니다사용자 <-> CF 트래픽이므로 문제가 없습니다.유효하지 않은 인증서경고.

도움이 되었기를 바랍니다 :)

관련 정보