spam対策とかするときに必要、かも。(HELOの切り出しとか…)
$Id: received.html,v 1.12 2012-01-30 18:26:40+09 kabe Exp $
sendmailの Received:フォーマットは sendmail.cf の HReceived: 項でいかようにでもいじくれますが、 暗号文のような設定を変えようという勇者は少ないのが現状。
MS Exchange や Postfix も基本的には同形式。
Received: from calsupply.com (dsl-gte-22243.linkline.com [64.30.193.51]) by masamune.bio.is.tohoku.ac.jp (8.11.3/8.11.3) with ESMTP id gANMPL617002 for <xxxx@dais.is.tohoku.ac.jp>; Sun, 24 Nov 2002 07:25:22 +0900 (JST)
HELO は発信ホスト名を入れるのが習慣†だが、 逆索きとの一致は要求されていない。違っているのは珍しくない。 (なお、外部から HELO localhost と言うのはspamwareくらい)
Received: from mail.pbi.or.kr ([210.103.50.2]) by masamune.bio.is.tohoku.ac.jp (8.11.3/8.11.3) with ESMTP id gBB6lKF19473 for <xxxx@dais.is.tohoku.ac.jp>; Wed, 11 Dec 2002 15:47:22 +0900 (JST)
Received: from dns2.eldish.net (mail.sovemefa.org [200.62.10.14] (may be forged)) by masamune.bio.is.tohoku.ac.jp (8.11.3/8.11.3) with ESMTP id gB3LqdZ14329 for <xxxx@masamune.dais.is.tohoku.ac.jp>; Wed, 4 Dec 2002 06:52:39 +0900 (JST)
IPアドレスの逆索きと順索きが一致しないと (may be forged)
が追加される。
Received: from chat.ru (CacheFlowServer@[194.224.131.4]) by masamune.bio.is.tohoku.ac.jp (8.11.3/8.11.3) with ESMTP id g2DJLaG08716 for <xxxx@dais.is.tohoku.ac.jp>; Thu, 14 Mar 2002 04:21:37 +0900 (JST) Received: from tagebau.de (IDENT:squid@[203.197.216.92]) by masamune.bio.is.tohoku.ac.jp (8.11.3/8.11.3) with SMTP id g4T65Wx01690; Wed, 29 May 2002 15:05:35 +0900 (JST)
identを索くようにしていると、ユーザー名がIPアドレスの頭につく。 普通の人が使うMTAで今時identを動かしていることは少ないので、 キャッシュ専用機やspamware/spamhausくらいでしか観測されない。 identの返り値により IDENT: がつく場合とつかない場合がある。
Received: from lithium-twonze.emv2.net (lithium-twonze.ccemails.com [81.92.114.210]) by sha.sra-tohoku.jp (Postfix) with ESMTP id 3AB1FE33B6 for <xxxx@sra-tohoku.co.jp>; Thu, 26 Jan 2012 03:49:32 +0900 (JST)
Received: from 00111.aaa2222.info (unknown [175.106.71.111]) by sha.sra-tohoku.jp (Postfix) with SMTP id 75201E33D0 for <xxxx@sra-tohoku.co.jp>; Tue, 24 Jan 2012 10:34:14 +0900 (JST)
Postfixの基本フォーマットは sendmail と同じだが、
逆索きなし、もしくは
DNSの2度索きが一致しない(逆索き(PTR)の正索き(A)が一致しない)、
のどちらでも
unknown
をヘッダに記録する。
2度索き失敗時は /var/log/maillog
のほうに warning が残る。
Jan 22 06:03:52 sha postfix/smtpd[12236]: warning: 120.89.29.3: hostname 3.29.89.120.ids.customers.eastern-tele.com verification failed: Host not found 逆索きはあるが、その正索きがない Jan 22 06:07:48 sha postfix/smtpd[12346]: warning: 208.58.18.226: address not listed for hostname mail.eisenhardtmills.com 2度索きできたが、値が一致しない
Received: (qmail 23296 invoked from network); 13 Apr 2001 14:17:16 -0000 Received: from smtp1.mx.pitdc1.stargate.net (206.210.69.141) by dissolved.web.pitdc1.stargate.net with SMTP; 13 Apr 2001 14:17:16 -0000
qmailはなぜか Received を2行つける。UUCP時代なら批判されそうな仕様。
Received: (qmail 24864 invoked from network); 21 Mar 2002 13:56:19 -0000 Received: from kenrob.lnk.telstra.net (HELO mx1.mail.yahoo.com) (139.130.148.131) by 211.167.251.92 with SMTP; 21 Mar 2002 13:56:19 -0000
HELOとDNS PTR逆索きが一致しないと、
(HELO
heloval)
が追加される。
qmail(とExim)では "Received: from" 直後のトークンは
HELO ではなく PTR であるところに注意したい。
Received: (qmail 13677 invoked from network); 11 Mar 2002 13:25:17 -0000 Received: from unknown (HELO mx1.mail.yahoo.com) (210.82.88.52) by mail.netcaching.com with SMTP; 11 Mar 2002 13:25:17 -0000
逆索き失敗か、最初から逆索きをしないよう設定されている 場合は PTR部には unknown と表示される。
Received: (qmail 8363 invoked from network); 13 Dec 2002 03:51:01 -0000 Received: from rdurbin-host68.dsl.visi.com (HELO mailin-01.mx.aol.com) (squid@208.42.148.68) by cadeau.d-and-d.com with SMTP; 13 Dec 2002 03:51:01 -0000
Eximの Received: は
(設定も可能なのだが)基本的にハードコードされていて
バリエーションはそんなにない。(Debian付属のものはいじられているようだが…)
実はソースコードではPTRあり・なし、HELO一致・不一致、identあり・なしで8通りに
完全に場合わけされてしまっている。
Received: from nav34-cpt.mweb.co.za ([196.2.51.55]) by smtp03.iafrica.com with esmtp (Exim 3.33 #1) id 187Wtc-0005vm-00 for xxxx@dais.is.tohoku.ac.jp; Fri, 01 Nov 2002 10:11:12 +0200
ポート番号ログを有効にすると、IPアドレスの後に残せる。
Received: from wproxy.gmail.com ([64.233.184.192]:41162) by sesame.csx.cam.ac.uk with esmtp (Exim 4.44) id 1DTdt3-000BQP-CZ for exim-users@xxxxxxxx; Thu, 05 May 2005 11:47:24 +0100
Received: from modem-1504.chameleon.dialup.pol.co.uk ([217.134.85.224] helo=gozna) by cmailg1.svr.pol.co.uk with smtp (Exim 3.35 #1) id 186TUy-0005KF-00; Tue, 29 Oct 2002 10:21:25 +0000
Received: from [193.188.12.17] (helo=yourdomain.net) by smtp1.adamcom.pl with esmtp (Exim 4.01) id 17ptQJ-0008Ky-00; Fri, 13 Sep 2002 18:36:04 +0200
ポート番号ログを有効にするとport=がつくこともある。
Received: from [64.233.166.182] (port=63363 helo=py-out-1112.google.com) by host.osflash.org with esmtp (Exim 4.52) id 1GESz6-0000F6-8T for osflash at osflash.org; Sat, 19 Aug 2006 11:43:45 -0400
Received: from adsl-63-207-133-98.dsl.sndg02.pacbell.net ([63.207.133.98] helo=mx1.mail.yahoo.com ident=squid) by phoenix.infradead.org with smtp (Exim 4.10) id 18BKHD-0000H1-00 for xx@xx; Mon, 11 Nov 2002 19:31:16 +0000
確かに from
の直後のトークンを採れば
sendmailの $&{client_name}
相当になるのだが、
他のパラメーターを採集しようとするとちょっと工夫しないといけない。
Received: from mail.cartimesup.com ([66.154.24.36]) by mta008.verizon.net (InterMail vM.5.01.05.20 201-253-122-126-120-20021101) with SMTP id <20021216064551.OWBN1481.mta008.verizon.net@mail.cartimesup.com> for <xx@xx>; Mon, 16 Dec 2002 00:45:51 -0600
一見 sendmail 形式なのだが、InterMail は逆索きをしない。 HELO と IPアドレスが残る。
Received: from Vtznzs [65.30.75.23] by vscapeimail2.virtualscape.com (SMTPD32-7.13) id A525AF4013E; Tue, 10 Dec 2002 10:15:49 -0500
SMTPD32も逆索きはしない。 HELO と IPアドレスが残る。 IPアドレスは角カッコだけで丸カッコはつかない。
Received: from etsimo.uniovi.es (unverified [200.72.68.250]) by taxhouse.co.kr (EMWAC SMTPRS 0.83) with SMTP id <B0002190339@taxhouse.co.kr>; Fri, 11 Oct 2002 17:09:52 +0900
EMWACも sendmail 形式を踏襲するが逆索きはせず、 常に "unverified" を埋め込む。
フリーかつWinNTで動くMTAとしてはEMWACがポピュラーだったため、 一時期広く使われていたが、第三者中継が禁止できないため 外部に見えるところに置くのは厳禁。 SMTP受信部に細工をして中継禁止できるようにしたものは "(EMWAC ..)" の部分が "(SPA SMTP Receiver (1.20))" となる。
Received: from smtp0943.mail.yahoo.com ([203.42.125.226] RDNS failed) by credito-inmobiliario.com.mx with Microsoft SMTPSVC(5.0.2195.2966); Mon, 29 Apr 2002 04:49:41 -0500
Exchangeは基本的に sendmail の文法を踏襲するが、 逆索き失敗時に "RDNS failed" をつける。(余計と言えば余計だ…)
CommuniGateは (マニュアルを見る限り)逆索きチェック時は HELO との照合も行い、一致しなかったら受信拒否という仕様になっているようで、 結果的に外部から見える CommuniGate サーバーは 逆索きチェックをしない設定になっているのが普通。
Received: from be01.comm.charter.net ([209.225.8.75] verified) by dc-mx01.cluster1.charter.net (CommuniGate Pro SMTP 3.5.9) with ESMTP id 20333961; Mon, 16 Dec 2002 23:37:51 -0500
Received: from [200.67.69.157] (HELO mx1.mail.yahoo.com) by be01.comm.charter.net (CommuniGate Pro SMTP 3.5.9) with ESMTP id 75175984; Mon, 16 Dec 2002 22:33:30 -0500
逆索きがないことに注意。
Received:3行。HELO と IPアドレスのみ。
Received: from Spooler by Queensbury SMTP (Mercury/32 v3.31) ID MO003D6B; 17 Feb 03 06:51:13 -0500 Received: from spooler by queensbury.ca (Mercury/32 v3.31); 16 Feb 03 03:57:34 -0500 Received: from html (199.35.236.83) by Queensbury SMTP (Mercury/32 v3.31) ID MG003D68; 16 Feb 03 03:57:31 -0500
一見 qmail 風ではあるが微妙に違う。受取サーバーの IPアドレスも入っている。
ソースを見る限り、逆牽き失敗すると "from unknown" となるようだが 実例が見つからず不明。
Received: frompatrick.lokal.netzadmin.org (HELO patrick ) [192.168.0.1] by test.netzadmin.org (192.168.0.1) with SMTP (Classic Hamster Version 1.3 Build 1.3.23.4) ; Wed, 26 Dec 2001 22:15:04 +0100
Received: from g12.gulfusa.com (HELO sra-tohoku.co.jp) [192.8.1.12] by BOECK.SYLT1 (192.8.1.12) with ESMTP (Classic Hamster Version 2.0 Build 2.0.0.1) ; Tue, 30 Mar 2004 09:14:24 +0200
F-Secure (fsigk, virusgwなど) のSMTPプロクシは HELO をどこにも残さない。逆索きはする。
Received: from external.link (172.25.0.163) by mailsv.intranet (F-Secure/fsigk_smtp/406/mailsv.intranet); Thu, 26 Jan 2012 11:47:12 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/406/mailsv.intranet)
HELOフィルタリング機能も無いので、rNATにしろなんにしろ
直結でインターネット側に出すのは色々と効率が悪そう。
なおこのヘッダは anonymous
設定で付加しないことも可能。
形式は常に一定で HELO は常に明記。
逆索きがない場合は unknown にならず、例のように
[IPアドレス]
が補完される。
Received: from [122.163.114.53] (HELO httpd.apache.org) (122.163.114.53) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Mar 2007 21:33:13 -0800
home.pl/home.net.pl でしか使われていないメールサーバ。 独自開発?のわりに動作は比較的まとも。(sendmailが先祖?)
Received: from pool-71-243-226-48.tampfl.fios.verizon.net [71.243.226.48] (HELO User) by netpoczta.home.pl [212.85.96.51] with SMTP (IdeaSmtpServer v0.70) id 50727ac18eb95e01; Mon, 31 May 2010 07:20:36 +0200
IPアドレスの括りは[...]
ではなく
(...)
になっている場合もあり。
† なお HELO に ホスト名の無いドメイン名だけを入れるのは、現在では間違い。 ものすごく古い SMTP で TURN コマンドで逆配送を行う際の名残だが、 現在では巨大なセキュリティホールになるので使われておらず、 RFCからも削除されている。
したがってSMTPサーバで、特に自ドメインのみのHELOを 弾くのは効果絶大なのだが、 Netscape〜Mozilla 1.2あたりまでのメーラー、 秀丸メール(鶴亀)、 Active!Mail (Webメール) のSMTPエンジンは 古い仕様を引きずっている (深く考えずに実装した?) ので、 使う人がいるサイトでのフィルタ設定には注意。