Received: from foo.bar.com (10x10x10x5.example.net. [10.10.10.5])
by mx.google.com
with ESMTPS id ab1235dedeaollld
for <test@test.com>
Fri, 26 Aug 2016 08:28:02 -0700 (PDT)
From: hogehoge@foo.net
上記のメールヘッダを以下に解説します。
Received: from string (hostname [host IP address])
by recipient host
with protocol id message ID
for recipient
timestamp
From: sender
string
通常は送信側のMTAのホスト名を表す。任意の名前を付けられるので偽造も可能
hostname
IPアドレスからのリバースDNSルックアップ(逆引き)で得られたホスト名
host IP address
送信側MTAのIPアドレス
recipient host
通常は受信側のMTAのホスト名を表す
protocol
転送に使用されたメール転送プロトコルを表す
message ID
受取人のMTA上のログファイルで検索できるようにするための転送用の固有識別子
recipient
受取人のEメールアドレス
timestamp
MTAが受信したメッセージの日付と時間
sender
送信者のEメールアドレス。任意のアドレスを付けられるので偽造も可能。
ポイント:
メールを受信した際、真っ先に目につくであろうFromヘッダで定義された送信者のアドレスは簡単に偽造できる。同様にReceivedヘッダのfrom直後のホスト名も偽造ができる。ただし()内のホスト名は受信側MTAによるIPアドレスからのリバースDNSルックアップに基づいているので、こちらのほうが情報としては信用できる*1。
なので、from直後のホスト名と()のホスト名が食い違っている場合は、送信者がホスト名を偽っている可能性がある*2。
*1.. 受信側のMTAを悪者が管理していて名前解決に関する設定やファイルをいじくられていなければですが。。。
*2.. 正当な理由があって敢えてホスト名を変更している可能性も十分ありそうですが。。。
以上。