VPN으로 보낸 이메일: 답장은 실제로 어디로 가는가
답장은 보낸 VPN 주소가 아니라 메일함으로 배달됩니다. 제출, 전달, 그리고 답장을 읽는 나중의 연결을 분리해서 보세요.
터널로 메시지를 보내고 연결을 끊으면 다음 날 아침 답장이 도착한다. 그 일에 옛 VPN 주소가 필요한 것은 아니고, 깨지는 것도 없다. 이메일은 답장을 보낸 주소로 보내지 않고 메일함으로 보낸다. 여기서 세 경로가 하나의 질문으로 뭉쳐 있는데, 이를 나누면 걱정의 대부분이 풀린다.
사람들이 하나로 뭉치는 세 경로
제출, 전달, 읽기는 서로 다른 세 연결이며, 그중 기기와 관련된 것은 두 개뿐이다.
Submission: your mail app -> your mail service
Delivery: other mail service -> your mailbox service
Reading: your app now -> your mailbox serviceVPN이 영향을 줄 수 있는 것은 첫 번째와 세 번째다. 둘 다 기기가 여는 연결이기 때문이다. 두 번째에는 영향을 줄 수 없다. 그 경로는 내가 통제하지 않는 두 메일 서버 사이를 지나기 때문이다. 답장은 보낸 주소로 되돌아오는 패킷이 아니다. 상대편 메일 서비스가 내 메일함 서비스로 전달하는 새 메시지다.
이 셋을 분리해 두면 답장이 나를 찾을지에 대한 질문은 더 이상 불가사의하지 않다.
Reply-To는 주소이지 경로가 아니다
RFC 5322는 Reply-To를 답장을 보낼 메일함 또는 메일함들로 정의한다. 이것이 없으면 보통 기본값은 From 메일함이며, 답장하는 사람이 다른 것을 입력하면 그쪽을 따른다. 둘 다 헤더에 들어 있는 메일 주소일 뿐이다. 어느 것도 원래 메시지를 제출한 네트워크 연결을 다시 열라는 지시가 아니다.
그래서 VPN 출구 주소는 답장 경로에 절대 나타나지 않는다. 제출 서버가 그 출구 주소를 어딘가에 기록했다 해도 답장은 메일함으로 배달되며, 보내는 서버는 옛 소켓이 아니라 도메인의 메일 교환기를 조회한다.
답장이 예상 밖의 곳으로 갔다면 터널을 의심하기 전에 Reply-To와 보낸 사람 자신의 클라이언트 설정을 읽어 보라.
추적 헤더가 실제로 기록하는 것
SMTP 홉마다 처리한 연결을 설명하는 Received 헤더를 앞에 붙이며, 맨 위의 것이 전달 직전의 마지막 홉이다. 그래서 제출된 메시지에는 검토할 만한 네트워크 세부 정보가 실릴 수 있고, 그 세부 정보는 내가 고르는 것이 아니라 서버가 쓴다. 무엇이 들어가는지는 제공자의 제출 구조와 헤더 처리 방식에 달려 있다.
추측하지 말고 저장된 메시지에서 읽어 보라:
grep -E '^(Received|Return-Path|Reply-To|From):' message.eml유용한 습관은 어느 신뢰할 수 있는 서비스가 각 필드를 추가했는지 확인하는 것이다. 헤더 블록 앞부분의 임의 텍스트는 신뢰할 만한 증거가 아니며, 제품 이름은 집 주소가 항상 있거나 항상 없다는 영구적인 약속이 아니다.
나중에 메일을 읽는 것은 새 연결이다
답장을 열면 클라이언트는 지금 사용 중인 네트워크를 통해 메일함 서비스에 접속한다. 이것은 자체 출발 주소를 가진 새 연결이며 어제의 제출 소켓이 이어지는 것이 아니다. 그 순간 사용 중인 네트워크의 현재 정책을 따른다.
원격 콘텐츠는 또 다른 세 번째 문제다. 원격 이미지를 불러오거나 링크를 따라가는 메일 클라이언트는 현재 설정에 따라 별도 요청을 보내며, 그 요청에는 메시지가 삽입한 식별자가 실릴 수 있다. 그것은 옛 주소로 도착하는 SMTP 답장이 아니며, 그렇게 취급하면 실제 노출이 가려진다.
메시지를 열었다는 사실을 알리지 않고 읽고 싶다면 원격 콘텐츠를 꺼 두라.
유출이라고 부르기 전에 확인할 것
원본 메시지 보기와 Reply-To 필드부터 시작하라. 그다음 걸리는 Received 항목을 어떤 서비스가 추가했는지 확인하고, 옛 포럼 답변이 아니라 제공자의 현재 문서와 비교하라.
마지막으로 질문을 나누라. 제출 서버는 무엇을 관찰했는가, 전달 체인은 무엇을 추가했는가, 그리고 메시지를 열었을 때 내 클라이언트는 무엇을 요청했는가.
이 셋을 따로 답하는 것은 IP 페이지를 확인하는 것보다 수고롭지만, 스스로 방어할 수 있는 결론이 나오는 유일한 방법이다. 이메일 주소로 답장한다고 집 주소가 드러나지 않으며, 옛 터널을 켜 둘 필요도 없다.