Computer >> 컴퓨터 >  >> 소프트웨어 >> 메일

이메일 헤더(메타데이터)에서 무엇을 알 수 있을까?

출처를 알 수 없는 이메일을 받아본 적이 있나요? 과연 누가 보낸 메일일까요? 의외로 그 답은 대부분 이메일 헤더에 포함된 메타데이터에서 찾을 수 있습니다.

헤더는 모든 이메일에 포함되어 있지만, 일반 사용자는 거의 볼 기회가 없는 부분입니다. 평범한 사용자에게는 외계어처럼 보이는 방대한 데이터가 담겨 있고, 대부분의 이메일 클라이언트는 이 메타데이터를 숨겨두기 때문에 접근조차 쉽지 않습니다.

데스크톱과 웹 기반을 포함해 이메일 클라이언트의 종류가 워낙 다양하다 보니, 각 클라이언트별로 헤더를 확인하는 방법을 모두 설명하려면 한 권의 책이 필요할 정도입니다. 따라서 이 글에서는 가장 널리 쓰이는 지메일(Gmail)에서 이메일 헤더를 확인하는 방법과, 헤더에서 얻을 수 있는 정보들을 살펴보겠습니다.

이메일 헤더란 무엇인가?

이메일 헤더는 이메일이 여러분에게 도착하기까지 거친 경로를 기록한 메타데이터의 집합입니다. 헤더에는 방대한 정보가 담길 수도 있고, 아주 기본적인 내용만 포함될 수도 있습니다.

헤더에 어떤 정보가 반드시 포함되어야 하는지에 대한 표준은 존재하지만, 메일 서버가 헤더에 넣을 수 있는 정보의 종류나 양에는 사실상 제한이 없습니다.

이메일 프로토콜 표준이 어떤 모습인지 궁금하다면 RFC 5321(Simple Mail Transfer Protocol) 문서를 참고해 보세요. 다만 굳이 몰라도 되는 내용이라면 읽다가 머리가 아플 수 있습니다.

Gmail에서 이메일 헤더 확인하는 방법

Gmail에서 이메일을 연 상태에서 메시지 우측 상단의 점 세 개 아이콘을 클릭해 더보기 메뉴를 펼칩니다. 그다음 원본 보기를 클릭하면 헤더를 포함한 이메일 원문 전체를 확인할 수 있습니다.

이메일 헤더(메타데이터)에서 무엇을 알 수 있을까?

새 창 또는 새 탭이 열리고, 이메일의 텍스트 버전이 표시됩니다. 당연히 헤더는 맨 위에 위치합니다. 헤더의 내용은 대략 다음과 같습니다.

이메일 헤더(메타데이터)에서 무엇을 알 수 있을까?

내용은 확인했지만, 대체 무슨 뜻일까요?

이메일 헤더는 어떻게 만들어질까?

이메일이 여정을 거치며 헤더가 어떻게 작성되는지 이해하면, 헤더 데이터를 해석하는 안목이 한층 깊어집니다. 헤더에 정보가 추가되는 순서대로 각 단계와 핵심 항목들의 의미를 살펴보겠습니다.

발신자의 컴퓨터에서

이메일 헤더(메타데이터)에서 무엇을 알 수 있을까?

헤더의 일부는 발신자가 수신자에게 보낼 이메일을 작성하는 시점에 만들어집니다. 여기에는 이메일을 작성한 시각, 작성자, 제목 줄, 수신자 등의 정보가 포함됩니다.

바로 여러분이 가장 익숙하게 보는 이메일 상단의 Date:, From:, To:, Subject: 항목들입니다.

발신자의 이메일 서비스에서

이메일이 실제로 전송되면 헤더에 더 많은 정보가 추가됩니다. 이 정보는 발신자가 사용하는 이메일 서비스가 제공합니다. 이 예시에서 발신자는 호스팅 이메일 서비스를 사용하고 있으므로, 표시된 IP 주소는 서비스 제공업체 네트워크 내부의 주소입니다.

이 IP 주소로 WHOIS 조회를 해봐야 유용한 정보를 얻기 어렵습니다. 대신 서버 이름(여기서는 tilos.inmoo.net)으로 구글 검색을 해볼 수 있습니다. 조금만 파고들면 bgp.tools에서 해당 서버 이름과 IP 주소를 모두 찾을 수 있습니다.

이메일 헤더(메타데이터)에서 무엇을 알 수 있을까?

IP 주소를 더 자세히 조사해 보면 발신자가 네덜란드의 클라우드 컴퓨팅·웹 서비스 업체인 LeaseWeb을 사용하고 있었다는 사실을 알 수 있습니다.

발신자의 IP 주소 외에도, 이메일 헤더에는 발신자의 이메일 서비스가 메일을 전송한 시각(Thu, 10 Feb 2022 14:58:13 -0800 (PST))과 해당 메시지에 부여된 Message-ID도 기록되어 있습니다.

수신자의 이메일 서비스로 가는 길목에서

그다음 이메일은 여러 경로를 거쳐 수신자의 이메일 서비스에 도착합니다. 이 과정에서 거친 '홉(hop)'들이 헤더에 기록되어, 메일이 여러분에게 오기까지의 경로를 보여줍니다.

이 홉들은 가장 최근에 메일을 처리한 서버부터 시작해 처음 메일을 처리한 서버까지 역시간 순으로 나열됩니다. 이 예시에서 첫 번째 홉은 발신자에서 구글로 메일을 전달하고, 이후 두 번의 홉을 거쳐 최종 목적지에 도착합니다.

마지막 홉:

Received: from tilos.inmoo.net (tilos.inmoo.net. [81.171.26.235])
 by mx.google.com with ESMTPS id nc18si9066695ejc.964.2022.02.10.14.58.13
 for <xxx@gmail.com>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Feb 2022 14:58:13 -0800 (PST)

Received-SPF: pass (google.com: domain of news@lastbacker.com designates 81.171.26.235 as permitted sender) client-ip=81.171.26.235;

Authentication-Results: mx.google.com;
 dkim=pass header.i=@lastbacker.com header.s=ms header.b=frJ635H2;
 spf=pass (google.com: domain of news@lastbacker.com designates 81.171.26.235 as permitted sender) smtp.mailfrom=news@lastbacker.com

이 홉은 LeaseWeb의 서버에서 수신자의 메일 서버로 메일을 전달하는 구간입니다. mx.google.com이 수신했다는 기록을 통해 수신자가 구글을 이메일 서비스로 사용하고 있음을 알 수 있습니다.

여기서 주목할 항목은 Received-SPF:입니다. SPF(Sender Policy Framework, 발신자 정책 프레임워크)는 발신자의 메일 서버가 자신이 해당 이메일의 적법한 발신자임을 선언하는 표준입니다.

이 사례에서 판정 결과는 pass로, 해당 IP 주소가 그 도메인에서 메일을 보낼 권한이 있음을 의미합니다. 만약 fail로 기록되었다면 지메일 서버가 이 메일을 거부했을 것이고, softfail이라면 지메일은 메일을 수신하되 발신자가 표시된 사람과 다를 가능성이 있다고 표시했을 것입니다.

이전 홉들:

마지막 홉 앞에는 하나 이상의 홉이 더 있을 수 있습니다. 각 홉의 타임스탬프를 보면 서버가 메시지를 전달하는 데 걸린 시간을 알 수 있는데, 네트워크 엔지니어가 아니라면 큰 의미는 없습니다.

이론적으로는 두 서버 간의 물리적 거리를 어림잡아 계산해 볼 수도 있습니다.

수신자의 이메일 서버에서

메일이 수신자의 이메일 서비스에 도착하면 헤더에 또 다른 정보가 추가됩니다. 여기에는 수신자의 메일 서버가 메일을 받은 시각, 메일을 보낸 서버, 수신자의 이메일 주소, 발신자가 명시한 '회신 주소(reply-to)' 등이 포함될 수 있습니다.

앞선 마지막 홉에서 수신자의 이메일 서비스가 구글이라는 것을 확인했습니다. 가장 중요한 것은 Return-Path: 항목으로, 회신용 이메일 주소와 실제 발신자의 이메일 주소가 동일한지 알려줍니다. 두 주소가 같다면 이 메일이 정상적인 메일일 가능성이 높다는 뜻입니다.

다른 헤더에서 얻을 수 있는 추가 정보

이 이메일 헤더의 정보가 제한적인 이유는 발신자가 호스팅 이메일 서비스를 사용하고 있기 때문입니다. 만약 발신자가 자체 메일 서버를 운영하고 있다면 좀 더 많은 정보를 얻을 수 있었을 것입니다.

예를 들어 발신자가 어떤 메일 클라이언트를 사용했는지 특정할 수도 있고, 발신자의 IP 주소로 WHOIS 조회를 통해 대략적인 위치를 파악할 수도 있습니다.

또한 발신자의 도메인으로 간단히 웹 검색을 해보면 해당 도메인의 웹사이트가 있는지 확인할 수 있고, 웹사이트를 통해 발신자에 대한 더 많은 정보를 찾을 수도 있습니다.

심지어 이메일 주소 자체로 웹 검색을 해서 해당 인물을 온라인에서 찾아내 개인 신상을 파헤치는 '독싱(doxing)'도 가능합니다. 하지만 이런 행위는 절대 권장하지 않습니다.

이메일 헤더와 메타데이터 해독하기

이메일 헤더(메타데이터)에서 무엇을 알 수 있을까?

원시 데이터만으로 이메일 헤더를 해독하는 일은 벅차게 느껴질 수 있습니다. 다행히 온라인 도구를 활용하면 복잡한 분석 작업을 대신 처리해 줍니다. 지메일은 버튼 클릭 한 번으로 전체 헤더를 복사할 수 있게 해주기도 합니다. 원본 메시지 화면(위 참조)에서 모든 메타데이터가 보이는 상태로 클립보드로 복사 버튼을 클릭한 뒤, 아래 사이트 중 하나로 이동하세요.

  • Google Admin Toolbox Messageheader: 이메일의 기본 정보와 발신자부터 수신자까지의 전송 경로를 정리해 보여줍니다.
  • MX Toolbox: 헤더를 더욱 상세하게 분석하여 지연 시간, 인증 문제, 이메일이 거친 각 홉을 밝혀줍니다.
  • WhatIsMyIP: 이메일이 세계 어디에서 왔는지 궁금하다면 바로 이곳으로 가세요. WHOIS 조회를 수행해 줍니다.
  • Mail Header: 상세한 MTA(Message Transfer Agent) 분석과 함께 이메일이 지구를 가로지르며 거친 경로를 시각적으로 보여주고, 홉 및 스팸 점수 정보까지 제공합니다.

이메일 헤더에서 배울 수 있는 모든 것

모든 전자 통신은 흔적을 남깁니다. 어떤 흔적은 크고 추적하기 쉬운 반면, 어떤 것은 웹 필터와 프록시 서버에 가려져 잘 보이지 않기도 합니다. 어느 쪽이든 남겨진 흔적은 그것을 만든 사람에 대한 단서가 됩니다.

이러한 메타데이터를 바탕으로 관련 인물에 대해 더 깊이 조사할 수 있습니다. VPN을 사용해 무언가를 숨기고 있는 걸까요? 정당한 웹사이트를 갖춘 정식 사업체에서 보낸 메일일까요? 이 사람과 정말 데이트를 해도 될 사람일까요? 평범한 사람들이 나에 대해 알아낼 수 있는 것은 무엇일까요? NSA(미국 국가안보국)라면 어떨까요?

지금 바로 여러분의 이메일 헤더를 열어 어떤 이야기를 하는지 확인해 보세요. 이해되지 않는 헤더 항목이 있다면 구글의 도움을 받아 해독해 보는 것도 좋습니다.