ZENNOコム Logo
 Welcome
 リストマーク フリーメール  リストマーク 100円メール  リストマーク Webメール  リストマーク  初心者マーク 使い方 初心者マーク  リストマーク サポート
 リストマーク PukiWiki  リストマーク WebMail(Beta)  リストマーク リンク  リストマーク ダイナミックDNS  リストマーク ログイン

freeアイコン  フリーメール・サポート掲示板


 新規投稿 | ツリー | スレッド | タイトル | 一覧 | 検索 | ログ | 設定 

No.1894に関するツリー
-NUL文字を含むメールの受信について/テスト協力者求む [oo] (04/20 00:54)
 └Re:NUL文字を含むメールの受信について/テスト協力者求む [ぜんの] (04/20 09:46)
  └Re[2]:NUL文字を含むメールの受信について/テスト協力者求む [ぜんの] (04/21 00:29)
   ├Re[3]:NUL文字を含むメールの受信について/テスト協力者求む [oo] (04/21 02:00)
   └Re[3]:NUL文字を含むメールの受信について/テスト協力者求む [oo] (04/21 02:28)
    └だれか他にもテストしてほしいですね? [ぜんの] (04/21 09:58)
     └Re:だれか他にもテストしてほしいですね? [oo] (04/21 22:24)
      └Re[2]:だれか他にもテストしてほしいですね? [ぜんの] (04/22 06:44)
       └環境の違いによる差異は判明 [oo] (04/23 01:41)
        ├Post-Pet Ver2.x 以外でも発生するか? [ぜんの] (04/23 07:56)
        │└Re:Post-Pet Ver2.x 以外でも発生するか? [oo] (04/23 22:40)
        │ └Re[2]:Post-Pet Ver2.x 以外でも発生するか? [ぜんの] (04/23 22:56)
        │  └Re[3]:Post-Pet Ver2.x 以外でも発生するか? [ぜんの] (04/24 00:33)
        └Re:環境の違いによる差異は判明 [oo] (06/09 00:37)
         └Re[2]:環境の違いによる差異は判明 [ぜんの] (06/09 19:01)

[1894] NUL文字を含むメールの受信について/テスト協力者求む
Name: oo
Date: 04/20 00:54
すいません、ちょっと長いです。

XP+Becky!でこのサイトを利用しています。SPAMの中にNUL文字を含むものが結構あり、そのメール受信のところでBecky!がハングアップしてしてしまいます。Becky!サポートMLで報告して作者の方にここのアカウントで追試してもらいましたが再現しないようです。Becky!だけでなく、XP+Netscape7.1やOEまた、WinMe+Netscape7.1やOEでも同様に受信が終わらない状態になります。
ただし、TelnetでPOPポートを直接アクセスしたり、スクリプト言語でミニメーラーを作って受信すると問題なくNULを含めて全文受信できるので、OSやルーターのせいではないと思っています。POPに介入するようなセキュリティソフトの類は使っていません。WindowsUpdateはあててます。

NUL文字を含んだメールはRFCでは過去の互換性を残すために一応許されており、「出すのはだめ(MUST NOT)だがそのメールを解釈はできないといけない(MUST)」となっています。出すのは駄目となっていますが相手がSPAMなのでどうしようもありません。

ハングアップはzenno.comだけで起こるので他のメールアカウントにNULを含んだメールを送ってみると、
・So-net NULを含むメールであるというエラーメッセージと共に返送されてくる(意図的にはじいている)
・Nifty 受け取ってくれ、受信も出来るがNUL以降行末まで欠ける。次の行以降は正常に受け取れる(意図的かバグか不明)
・yahoo.co.jp 受け取ってくれ、受信も出来るが、NULが空白に変わっている(おそらく意図的)
・zenno.com (mail.707.to,pop.707.to) 受け取ってくれ、NULも含めて全文が正しく受信できる。ただし上記メーラーはハングアップする。

お願い:
Becky!の作者のところで再現しなかった(mail.707.toからの受信だが上記Niftyと同現象)ので、どなたか再現テストに協力願えないでしょうか?Becky!-MLで同現象を名乗り出る方は居ませんでした。上に書いたようにメジャーな(失礼)メールサーバーなら問題ないからかと思います。

NUL文字を含んだメールを自分で自分に送れない方は、zxcv(atmark)mail.707.to 宛てメールをいただければこちらから送ります。また、メーラーがハングした場合、telnet や メールボックス操作機能でそのメールを削除できるスキルをお持ちの方で無いと困ります。
面倒なお願いですが、どなたかよろしくお願いします。

ぜんのさんへ:
前記の通り、RFCに従って正しくNUL文字を処理しているのは上記4つのうちzenno.comだけでお願いしにくいのですが、NUL文字を排除する検討をいただけないでしょうか?方法は前記3社のどれかのパターンもしくは、「配信停止のお知らせ」方式でも良いです。RFCでもNUL文字の送信はMUST NOT だし、メジャープロバイダが上記の状況なので文句も出ないかなと思ってます。

返信する


[1896] Re:NUL文字を含むメールの受信について/テスト協力者求む
Name: ぜんの (HOME)
Date: 04/20 09:46
調べてみるので時間を下さい

返信する


[1901] Re[2]:NUL文字を含むメールの受信について/テスト協力者求む
Name: ぜんの (HOME)
Date: 04/21 00:29
テストの結果です

NUL文字を本文に含むメールでテストしました。

OSは Windows2000 SP4 Ver5.00.2195


Becky! Ver2.07.02 

IMAP では
メールサーバーとの通信中にエラーが発生しました。
POP3 では
問題なく受信できNUL文字の部分で改行されて表示されました

Outlook Express 6 Ver6.00.2800.1123
IMAP でも POP3 でも
問題なく受信でき表示も原文どおり正確に表示されています

PostPet Ver2.0
POP3
問題のメールの受信を開始した時点でフリーズして
タイムアウトまでそのまま

他にもNUL文字に対応できないメーラーが結構あるようです


NUL文字を含むメールを送信してくる真の犯人は
http://support.microsoft.com/default.aspx?scid=kb;ja;814100
なのではないでしょうか?

spamを送る人は多くの人に見てほしいはずですから、わざわざエラーになるメールを故意に送っているようでもなく、バグのあるメールソフトを使っているだけなんでしょうね?

MTAの技術系メーリングリストでもこの件は出ていましたが
一部のバグのあるソフトのために世界中のメールサーバーの設定を変更しないといけないなんて迷惑な話ですね。

対応を検討してみます、以前から PostPetユーザーにメールが引っ掛かるような事例を頂く事が時々ありましたが、再現性がなくNUL文字が原因であるとの関連がつかめませんでした、PostPetのバグかな?程度に思っていましたがが、今回おかげで原因がわかりました、メール本文のスキャンは負荷が大きすぎる気がしますので何かしら良い方法が無いか検討します。

qmail 関係のNUL文字問題のパッチなど見つけたら情報を下さい。
裸のLF問題は対処済みなんですが こんなのもあったのかって感じです。
Sendmailなserverでは問題ないようですね。

返信する


[1902] Re[3]:NUL文字を含むメールの受信について/テスト協力者求む
Name: oo
Date: 04/21 02:00
テストありがとうございます。

>Becky! Ver2.07.02 
>IMAP では
>メールサーバーとの通信中にエラーが発生しました。
>POP3 では
>問題なく受信できNUL文字の部分で改行されて表示されました

私のケースと症状が違いますね。確認したバージョンは2.07.01,2.08.01,2.09.01です。Becky!の作者の方が2.09.01で確認した時は、NULを含む行だけがNUL以降表示されないような現象だそうで、また少し違います。
メーラーが同一でも環境によって動作が異なるということですね。
私の環境XP-SP1およびMeではメーラーにかかわらずハングアップするので、各メーラーが利用しているOSのモジュールの動作の細かい差異が原因なのかと思っていました。telnetやrubyで書いた簡易クライアントだとそれらのモジュールを使ってないので大丈夫なのかと。

>NUL文字を含むメールを送信してくる真の犯人は
http://support.microsoft.com/default.aspx?scid=kb;ja;814100
>なのではないでしょうか?

受信したのはすべてtext/htmlのbase64データの最後の方にNULがあります。が、X-Mailerは付いていないものが多く、1つだけ付いていたのは、
X-Mailer: AOL 4.0 for Windows US sub 731
だけです。

>spamを送る人は多くの人に見てほしいはずですから、わざわざエラーになるメールを故意に送っているようでもなく、
spamはそうですけど、NULでハングするメールサーバーとメーラーの組み合わせに対してのDOS攻撃に使えますね。Becky!だとリモートメールボックス機能で削除できるのでまだましですけど、postpetだときっとそんな機能は無いでしょうから、nPOPでもインストールして使うんでしょうかね。

>一部のバグのあるソフトのために世界中のメールサーバーの設定を変更しないといけないなんて迷惑な話ですね。
そもそもNULを含むメールは長年有効だったrfc822では認められていたのですから、それを送るソフトをバグと言っていいものか。最新のrfcに適合しないので「古い」とは言えると思いますが。そういうメールが来た場合正しく処理できるべきと考えるか、so-netのように割り切るかも難しいですね。

>メール本文のスキャンは負荷が大きすぎる気がしますので何かしら良い方法が無いか検討します。

添付ファイルの拡張子を見ているので本文を全部スキャンしていると思っていたのですが、1文字ずつNULかというチェックは確かに負荷が重いかもしれませんね。

>qmail 関係のNUL文字問題のパッチなど見つけたら情報を下さい。
このあたりは離れて久しいのでお役に立てそうにありません。
勤務先はpostfixのようで問題はありませんでした。

>裸のLF問題は対処済みなんですが こんなのもあったのかって感じです。
裸のCR、裸のLFもrfc822では有効でしたが、rfc2822ではobsolete syntaxになってますね。

OS環境によって異なるあたりのデータを集めたいので、引き続き協力してくださる方を募集します。zxcv(atmark)mail.707.toまで

返信する


[1903] Re[3]:NUL文字を含むメールの受信について/テスト協力者求む
Name: oo
Date: 04/21 02:28
先ほど書き忘れましたが、Becky!のVer2.07.04 -> Ver2.08の変更点に、

・'\0'を含むメールをIMAPでプレビューしようとするとプロトコルエラーになってしまうバグを修正。

というのがあるので、

>Becky! Ver2.07.02 
>IMAP では
>メールサーバーとの通信中にエラーが発生しました。

はバージョンアップすれば直るかも知れません。

返信する


[1906] だれか他にもテストしてほしいですね?
Name: ぜんの (HOME)
Date: 04/21 09:58
別の環境でのテスト結果です Windows XP Pro SP-1 Becky! Ver2.09.01

IMAP POP3 とも問題なくNUL文字を表示出来ています。

> 私のケースと症状が違いますね。

そうですね、XPでも違いましたね。

> Becky!の作者の方が2.09.01で確認した時は、NULを含む行だけがNUL以降
> 表示されないような現象だそうで、また少し違います。

私もUNIX端末(FreeBSD)のmailコマンドで
mail info@zenno.com
Subject: test
testtesttesttesttest
testtest'ココへNUL文字'testtest
.
として送信すると
受信時には
testtesttesttesttest
testtest
となっていました。

サーバー内に届いたメールのソースを直接見ても
NUL以降が届いていないので
これは送信時点でNULを含む行だけがNUL以降を処理していないのでは
無いかと思います。

telnet mail.zenno.com 25
helo
mail from:kenji
rcpt to:info@zenno.com
data

testtesttesttesttest
testtest'ココへNUL文字'testtest
.

でテストするとサーバーにもキチンとNUL文字が届き
Becky! Ver2.09.01
Outlook Express 6......
共に POP3 IMAP で正常に受信できました。

> spamはそうですけど、NULでハングするメールサーバーとメーラーの
> 組み合わせに対してのDOS攻撃に使えますね。

ハングするサーバーもあるんでしょうかね?
MUAだけのような気もするんですが、、、あぁなんかメールゲートウエイに
かましてあるソフトがハングするって書いてあった記事がありましたね。

> そもそもNULを含むメールは長年有効だったrfc822では認められていたのですから、
> それを送るソフトをバグと言っていいものか。最新のrfcに適合しないので「古い」
> とは言えると思いますが。そういうメールが来た場合正しく処理できるべきと考えるか、
> so-netのように割り切るかも難しいですね。

そうでしたね、送信側は古い仕様なだけで、そうするとやはりPostPetのように
NUL文字を取れないほうがバグって判断でしょうか、無理にバグにするつもりは
ありませんが、so-netはやはりPostPetの身内ですからNUL文字を拒否する必要性が
あるのでしょうね。

> 勤務先はpostfixのようで問題はありませんでした。
postfixでも同じ件が出ていましたが?どうなんでしょう?
http://www.kobitosan.net/postfix/ML/arc-2.1/msg00068.html
ななめに読んだだけなので解釈違いかもしれませんが
ooさんの勤務先のpostfixのデフォルトも
当社のqmailのデフォルトもNUL文字は素通しと解釈しているんですが違ったかな?

返信する


[1909] Re:だれか他にもテストしてほしいですね?
Name: oo
Date: 04/21 22:24
ooです。

>> 勤務先はpostfixのようで問題はありませんでした。
>postfixでも同じ件が出ていましたが?どうなんでしょう?
http://www.kobitosan.net/postfix/ML/arc-2.1/msg00068.html
>ななめに読んだだけなので解釈違いかもしれませんが
>ooさんの勤務先のpostfixのデフォルトも
>当社のqmailのデフォルトもNUL文字は素通しと解釈しているんですが違ったかな?

NULが通るということは、経由する複数のMTAとPOPサーバーがすべてNUL素通しである必要があるわけなので、最初の受け口のpostfix以外のどこかで空白化されているのかもしれません。

>> spamはそうですけど、NULでハングするメールサーバーとメーラーの
>> 組み合わせに対してのDOS攻撃に使えますね。
>ハングするサーバーもあるんでしょうかね?
>MUAだけのような気もするんですが、、、
いや、ハングするのはMUAですが、NUL素通しのメールサーバーとの組み合わせで無いと発現しないという意味です。

自分の環境ですが、Becky!,OE,Netscape共にハングして、telnetでの手動受信やrubyスクリプトでの受信がOKなのが不思議でなりません。どうやってもハングするならアンチウィルスソフトやADSLモデムやルーター等を疑うのですが。

返信する


[1910] Re[2]:だれか他にもテストしてほしいですね?
Name: ぜんの (HOME)
Date: 04/22 06:44
> 最初の受け口のpostfix以外のどこかで空白化されているのかも

意外とサーバー内にはNUL文字のまま届いているかもですね、postfixのサーバーへ直接telnetで受け取らせてサーバー内のMaildirを見る権限があれば確認できますね?

> どうやってもハングするならアンチウィルスソフトや
> ADSLモデムやルーター等を疑うのですが

先日、客先でZoneAlarmをインストールしているマシンで、同じポートへの接続がアプリケーションによって接続できる、出来ないの事例がありZoneAlarmを停止だけではなく、アンインストールして回復した事例がありました。

スッキリしたいのであれば新規インストールのWindowsXP+MUAで、試すのがよろしいのではないでしょうか、こちらでは他の複数のマシンでもNUL文字は正常に受け取れます、Post-Pet以外でひっかっかるMUAが有るかどうかを今後調べて影響が多いようであればサーバー側の対処の方向へ向けたいと思います。

返信する


[1916] 環境の違いによる差異は判明
Name: oo
Date: 04/23 01:41
ooです。

お騒がせしましたが、どうやら原因はMcAfeeVirusScanだったようです。
今までは、「リアルタイムスキャン」と「電子メールと添付ファイルを
スキャンする」のチェックボックスをオフにして、確認していましたが、msconfigでVirusScan関連の起動をすべてオフにして起動してみると
Becky! OE ともに受信できました。Becky!だと、NULは改行に変わり、OEだと空白に変わって受信されました。
おそらくBecky!やOEで使っているAPIかクラスライブラリにVirusScanが介入してハングにつながり、telnetやrubyではVirusScanが介入するモジュールを使っていないのでうまく行ったんでしょう。一応、McAfeeにレポートを書いてみます。

ぜんのさん、再現テストもしていただき、ありがとうございました。
どういう対処にするかは考えます。McAfeeはまだ1年以上使用権が残っているので、今別ソフトに乗り換えるのももったいないし。ぜんのさんは何をお使いですか?私は会社ではNortonを使っています。

引き続きですが、McAfeeユーザーの協力を求めます。

返信する


[1917] Post-Pet Ver2.x 以外でも発生するか?
Name: ぜんの (HOME)
Date: 04/23 07:56
> ぜんのさんは何をお使いですか?私は会社ではNortonを使っています。
わたしはウイルス対策ソフトは使っていません、どのタイプのものもシステムに与える不安定要素のほうがメリットを上回るような気がして外しています。

解決してよかったですね、一番最初の書き込み時に「POPに介入するようなセキュリティソフトの類は使っていません」と書かれている部分が、「セキュリティソフトはスキャンを切っている」だったら、一番初めに提案する切り分けがそのソフトのアンインストールでしたね。でも逆にウイルスソフトは使用していない前提で大掛かりに調べた結果Post-Petのメールがひっかかる原因が発覚できてよかったです、今後は時間を見て [他のメーラー+NUL文字] を順番に試験していきます。

返信する


[1922] Re:Post-Pet Ver2.x 以外でも発生するか?
Name: oo
Date: 04/23 22:40
>「POPに介入するようなセキュリティソフト
というのは、自分のPCにPOPproxyのようなのを立ち上げてそれ経由で外部のPOPアクセスを行うようなものを想定したのと、telnetやrubyでうまく行っている以上、POP自体への介入が無いのは確かなのでそう書きました。
各種メーラーではおそらく低レベルのソケットインタフェースでなくメール用の上位モジュールをコールしているのでしょう。
確かにアンチウィルスソフトって具体的に何をやっているのかドキュメントにちゃんと書かれていないので、「何をやっているかわからない」という姿勢で臨んだほうが良さそうですね。単にディスク上のファイルをスキャンする機能しかなければ安心なんですが。

返信する


[1923] Re[2]:Post-Pet Ver2.x 以外でも発生するか?
Name: ぜんの (HOME)
Date: 04/23 22:56
そうですよね、なにが行われているのか解らない
ソフトが常駐しているのは気持ち悪いです。
自分の場合の経験上
なにか調子が悪い時=ウイルスソフトのせい
と言う式が成り立つ場合が非常に多く
わたしにとってはウイルスよりウイルスソフトの方が脅威です。

qmailのメーリングリストで
NUL文字をスペースに置換する方法を教えてもらいました。
そんなに負担のない良い方法を聞きましたので
テストの後、導入する事にします。

返信する


[1925] Re[3]:Post-Pet Ver2.x 以外でも発生するか?
Name: ぜんの (HOME)
Date: 04/24 00:33
Post-Pet Ver2 以外にフリーズするメーラーがあるか調べました。

PostPet V3 フリーズする

EdMax スペースに置換

Shuriken Pro3 NUL以降非表示
Winbiff NUL以降非表示
AL-Mail32 NUL以降非表示
電信八号 NUL以降非表示
Eudora NUL以降非表示
その他省略。

Post-Petシリーズだけはフリーズしますが
他は特に問題になりそうもありませんでした。

返信する


[2578] Re:環境の違いによる差異は判明
Name: oo
Date: 06/09 00:37
NUL文字についていつの間にか対応していただいていたようでありがとうございました。
その後、McAfeeサポートと何度かメールのやり取りをしていたのですが、当初「rfc2822ではNULは使わないことになっている」という返事でしたが、「spammerはそんなこと知った事じゃない」という意見を分かっていただき、サポートから開発部門へ改善事項としてあげて頂くことになりました。(必ず次バージョンで直るとは限りませんが)
他にMcAfeeユーザーの方もいらっしゃるかと思い、一応ご報告まで。

返信する


[2581] Re[2]:環境の違いによる差異は判明
Name: ぜんの (HOME)
Date: 06/09 19:01
>NUL文字についていつの間にか対応していただいていたようでありがとうございました。

4月末中には全サーバーで対応を完了しました。
未報告でしたね。

返信する


レッツPHP!