HOME»情報処理安全確保支援士掲示板»SPFによって検証するIPアドレスの取得元について
投稿する
ヘッダFROMはメール本文と同様に、データとして入力するだけのもののようですね。
ご指摘をありがとうございます。
Gmailを使用しているのですが、適当に受信したメールを詳細確認したところ、SPF、DKIM、DMACをPASSしていることがわかりました。
エンベロープFROMというのは、メールヘッダの外にあるものかと思っていたのですが、Return-PathがエンベロープFROMと同義なのであれば、メールヘッダの中の一要素ということになりますよね。
Return-Pathはメールヘッダから確認できるので。
つまり、そういうことですか?
SPFによって検証するIPアドレスの取得元について [0918]
時さん(No.1)
SPFでは、送信側ドメインのDNSのTXTレコードもしくはSPFレコードにメールサーバのIPアドレスを登録しますよね。
メールを受け取った側では、送信してきたサーバのIPアドレスが、DNSに登録されているTXTレコードもしくはSPFレコードに存在するかを検証する…という流れかと思います。
①しかし、メールを送信してきたサーバのIPアドレスはどうやって取得するのでしょうか?
メールのエンベロープFROMにあるドメインを正引きして得られたIPアドレスを引用するのですか?
それとも、ヘッダfromにあるドメインを正引きして得られたIPアドレスを使用するのでしょうか?
はたまた、そのどちらでもない別の方法を用いるのでしょうか?
②エンベロープFROMの値はSMTPの「MAIL FROM」コマンドによって設定されるのではないのでしょうか?ヘッダのRecievedフィールド内fromは「MAIL FROM」コマンドによって設定され、容易に偽装ができますよね。
③ヘッダにはfromが2つあるのでしょうか?ヘッダfromと、ヘッダrecievedフィールド内のfromの2つ…。
メールを受け取った側では、送信してきたサーバのIPアドレスが、DNSに登録されているTXTレコードもしくはSPFレコードに存在するかを検証する…という流れかと思います。
①しかし、メールを送信してきたサーバのIPアドレスはどうやって取得するのでしょうか?
メールのエンベロープFROMにあるドメインを正引きして得られたIPアドレスを引用するのですか?
それとも、ヘッダfromにあるドメインを正引きして得られたIPアドレスを使用するのでしょうか?
はたまた、そのどちらでもない別の方法を用いるのでしょうか?
②エンベロープFROMの値はSMTPの「MAIL FROM」コマンドによって設定されるのではないのでしょうか?ヘッダのRecievedフィールド内fromは「MAIL FROM」コマンドによって設定され、容易に偽装ができますよね。
③ヘッダにはfromが2つあるのでしょうか?ヘッダfromと、ヘッダrecievedフィールド内のfromの2つ…。
2022.09.06 16:31
昭和62年さん(No.2)
①どちらでもないです。
IPパケットのIPヘッダにある、ソースIPアドレスです。
IPヘッダのアドレスを偽装してしまうとTCP通信が成立しないので、偽装できません。
②エンベロープFROMは「MAIL FROM」コマンドによって設定されますが、
Recieved: ヘッダの from は「EHLO」(「HELO」)コマンドで指定されたものです。
Recieved: ヘッダでは、大抵、IPヘッダから得たソースIPアドレスと
逆引きしたホスト名も記録されています。
③メールヘッダにはfromがたくさんあります。
・エンベロープFROM ←メールヘッダの先頭に1個(ヘッダ名は Return-Path)
・ヘッダFROM ←メールヘッダの下の方にに1個(ヘッダ名は From)
・Recieved ヘッダの from フィールド
←smtpサーバを経由するたびに、追加されるので複数
IPパケットのIPヘッダにある、ソースIPアドレスです。
IPヘッダのアドレスを偽装してしまうとTCP通信が成立しないので、偽装できません。
②エンベロープFROMは「MAIL FROM」コマンドによって設定されますが、
Recieved: ヘッダの from は「EHLO」(「HELO」)コマンドで指定されたものです。
Recieved: ヘッダでは、大抵、IPヘッダから得たソースIPアドレスと
逆引きしたホスト名も記録されています。
③メールヘッダにはfromがたくさんあります。
・エンベロープFROM ←メールヘッダの先頭に1個(ヘッダ名は Return-Path)
・ヘッダFROM ←メールヘッダの下の方にに1個(ヘッダ名は From)
・Recieved ヘッダの from フィールド
←smtpサーバを経由するたびに、追加されるので複数
2022.09.06 18:39
時さん(No.3)
回答ありがとうございます!ヘッダFROMやエンベロープFROMはHELOやMAIL FROMコマンドで偽装可能ということですね?
エンベロープFROMというのは、メールクライアントからは確認できないものかと思っていました。
しかし、メールヘッダの中に、エンベロープFROM(Return-Path)が含まれているということでしょうか。
エンベロープFROMというのは、メールクライアントからは確認できないものかと思っていました。
しかし、メールヘッダの中に、エンベロープFROM(Return-Path)が含まれているということでしょうか。
2022.09.07 10:35
昭和62年さん(No.4)
まず、ヘッダFROM はSMTPコマンドで設定するものではないです。
メールの偽装についてですが、偽装されている可能性があるかと問われたらYESなのですが、
偽装可能かという問には、法律で明確に禁止されている行為なので、YESと答える勇気はありません。
Return-Path は、(可能なら)ご自分でメールヘッダを見てください。
メールヘッダには、SPF、DKIM、dmarcの判定結果も記録されてますよ。
メールの偽装についてですが、偽装されている可能性があるかと問われたらYESなのですが、
偽装可能かという問には、法律で明確に禁止されている行為なので、YESと答える勇気はありません。
Return-Path は、(可能なら)ご自分でメールヘッダを見てください。
メールヘッダには、SPF、DKIM、dmarcの判定結果も記録されてますよ。
2022.09.08 15:22
GinSanaさん(No.5)
★SC ブロンズマイスター
実際にsendmailコマンド(Postfix)で
※sendmailはググってください
sendmail -f Envelope-From-Address RCPT-To-Address
From: Header-From-Address
To: Mail-To-Address
とかやってみればヘッダFROMとかをどこで指定したんだかを理解できると思いますFrom: Header-From-Address
To: Mail-To-Address
※sendmailはググってください
2022.09.08 16:32
時さん(No.6)
>昭和62年さん
ヘッダFROMはメール本文と同様に、データとして入力するだけのもののようですね。
ご指摘をありがとうございます。
Gmailを使用しているのですが、適当に受信したメールを詳細確認したところ、SPF、DKIM、DMACをPASSしていることがわかりました。
エンベロープFROMというのは、メールヘッダの外にあるものかと思っていたのですが、Return-PathがエンベロープFROMと同義なのであれば、メールヘッダの中の一要素ということになりますよね。
Return-Pathはメールヘッダから確認できるので。
つまり、そういうことですか?
2022.09.09 15:21
昭和62年さん(No.7)
はい。私も「そういうこと」と理解しています。
2022.09.09 16:39
時さん(No.8)
メールヘッダ内のReturn-Path = メールのエンベロープFrom
として理解しました。ありがとうございました。
として理解しました。ありがとうございました。
2022.09.09 20:09
hisashiさん(No.9)
★SC ブロンズマイスター
一つだけ誤解がないように補足させてください。
エンベロープFROMは、メールヘッダ内ではありません。
ただし、メールが受信ボックスに入るタイミングでエンベロープFROMの値が
Return-Pathの値として書き込まれるので結果的に両者は同じ値になります。
Return-Pathはメールヘッダから確認できます。
エンベロープFROMは、メールヘッダ内ではありません。
ただし、メールが受信ボックスに入るタイミングでエンベロープFROMの値が
Return-Pathの値として書き込まれるので結果的に両者は同じ値になります。
Return-Pathはメールヘッダから確認できます。
2022.09.09 23:27
時さん(No.10)
補足をありがとうございます。
メールを受け取るタイミングでエンベロープFROMがReturn-Pathに変換されるのですね。
そして、メールヘッダの中にエンベロープFROMが含まれるわけではないこともあわせて理解しました。
自分でネットでも調べてみたところ、たしかにそう書かれていました。
親切心に感謝いたします。
メールを受け取るタイミングでエンベロープFROMがReturn-Pathに変換されるのですね。
そして、メールヘッダの中にエンベロープFROMが含まれるわけではないこともあわせて理解しました。
自分でネットでも調べてみたところ、たしかにそう書かれていました。
親切心に感謝いたします。
2022.09.10 21:42