【メールボックスが詰まります】

CentOS 4.9で
sendmail-8.13.1-6.el4を使用しています。

最近、不特定のユーザで、メールボックスがおかしくなり、
メールが受信できない症状があります。

該当ユーザの
/var/spool/mail/foo
を見ると、一行目に、
(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,^[(B
があり、これを消してやると、復帰します。

原因は何でしょうか?
また、対策はありますか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/09/05 09:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:Jupiter2100 No.1

回答回数444ベストアンサー獲得回数74

ポイント50pt

メールサーバがマルウェアに感染しているのではないでしょうか。

チェックはしましたか?

id:keijiro

チェックソフトで、お奨めがあれば、教えてください。

2011/08/29 10:42:57
id:you1031931 No.2

回答回数323ベストアンサー獲得回数3

めんどくさいと思いますがメアド変更したほうがいいと思いますよ

id:keijiro

必要なメールアドレスで、変更はちょっと難しいのです。

また、特定のメールアドレスだけではないのです。

2011/08/29 10:47:27
id:you1031931 No.3

回答回数323ベストアンサー獲得回数3

受信拒否はできないですか?

id:keijiro

ええと、どこからの受診拒否ですか?

 

不特定なメールボックスが壊れるのが問題なのです。

特定のメールアドレスや特定の送信元が問題じゃないのです。

 

質問文を再確認してください。

2011/08/29 11:15:15
id:JULY No.4

回答回数966ベストアンサー獲得回数247

ポイント50pt

大昔(今から 15 年以上前)に、とある商用 UNIX で同様の現象に遭遇した事はあります。

で、当時は原因不明のままマシンがリプレースになったので、原因は突き止めていませんが...。


一つ、確認したいことがあるのですが、メールボックスの1行目に現れる不正な文字列は、いつも同じですか? いつも同じであれば、このメールボックスを参照する何らかのプログラムが悪さをしている可能性があります。


ちなみに、私が経験したのは、mbox の中身が途中から始まるような障害で、壊れ方に決まりは無かったです。


回避策で申し訳ないのですが、「mbox 形式をやめる」ことで、障害は回避出来るかもしれません。


もともと mbox 形式は、ファイルの排他処理が必要になり、そこにアクセスプログラムがきちんと排他処理に対応していないと壊れやすい、という弱点があります。例えば sendmail 側に非がなくても、POP、IMAP サーバ側に問題があれば、壊れてしまいます。CentOS 4.9 に標準で付いているプログラムで問題が発生するのは、ちょっと考えづらいですが、OS 付属以外の何かを使っていると、こういった問題が発生する可能性はあります。


CentOS 4.9 だと、POP/IMAP サーバとして Dovecot の 0.99 が標準だったと思いますが、であれば、メールボックスとして maildir 形式を使う事が出来ると思います。


メールサーバー構築(Postfix+Dovecot) - CentOSで自宅サーバー構築


上記ページでは sendmail の代わりに postfix を使っていますが、sendmail でもメールボックスへの配信プログラムが procmail(4.9 のデフォルトも、そうなっていたと思うんだけど、ちょっと自信なし)になっていれば、/etc/procmail で

MAILDIR=$HOME/Maildir/

といった具合にすると、Maildir 形式になります。

参考:Procmail によるメールの自動振り分け


でも、原因は....。もし、壊れた「一行目」の内容が、その時によってバラバラだったら、意外にディスク周り(例えば RAID 関係)という線も無くは無いかなぁ。

id:keijiro

ご丁寧な回答ありがとうございます。

 

> いつも同じですか?

似ているのですが、違うときもあります。

 

>Dovecot

そのとおりです。

sendmail + Dovecotで運用しています。

 

> mbox 形式をやめること

自分でも調べていたのですが、こっちのほうが良いかもしれませんね。

ただ、アカウントが数百以上あって、移行タイミングが難しいなぁと悩んでします。

もう少し、考えてみます。

 

ありがとうございます。

2011/08/29 17:37:27
  • id:Jupiter2100
    >チェックソフトで、お奨めがあれば、教えてください。
    ClamAVをおすすめします。
    http://clamav-jp.sourceforge.jp/
  • id:keijiro
    ありがとうございます。

    rkhunterでチェックしましたが、問題は検出されませんでした。

    ClamAVも試してみます。
  • id:keijiro
    clamscan -r -i /
    を実行しました。

    メールサーバ自体は感染していませんでした。

    ただ、
    /var/spool/mail/foo
    はいくつか感染していましたが、これは、メールファイルなので、添付が感染しているだけかなと思いました。
  • id:Jupiter2100
    sendmailのエラーログは確認しましたか?
    /var/log/maillog にあると思います。
  • id:keijiro
    ありがとうございます。
     
     
    受け取ったときのerrorを見つけることができませんでしたが、受信時のerrorはたくさんあります。
     
    Aug 29 01:06:26 www pop3(foo): File isn't in mbox format: /var/mail/foo
     
    これは、はやり、行頭に
    (,(,(,(,(,(,(,(,(,(,(,(,(,(,(,^[(B
    があることが原因なのでしょうが、なぜ、これが出るのかがわかりません。
     
    ただ、該当メールボックスを確認したときに、
    そのheaderがついているメールの中に、同じ
    (,(,(,(,(,(,(,(,(,(,(,(,(,(,(,^[(B
    がたくさんありました。
     
    どうやら、HTMLメールのようですが、でも、header部に書かれるのは不可思議です。
  • id:JULY
    mbox 形式の1行目は、メールのヘッダではなく、本来は、

    --------------------------
    From 送信者名 日時
    --------------------------

    # 送信者名の部分は、メールアドレスではありません。
    # 同一ホスト上のメールのやり取り、という時代の名残です。

    となります。というか、1通のメールの始まりを表すマークみたいなものです。POP / IMAP サーバは、このマークを見つけて、一通毎のメールを切り出し、メールクライアントへ渡します。

    で、ファイルの先頭には当然、1通のメールの始まりがあるはず、ということで、これに合致しない文字列だと、「このファイルは mbox のファイルじゃない」と判断し「File isn't in mbox format: /var/mail/foo」というログになります。

    > ただ、該当メールボックスを確認したときに、
    > そのheaderがついているメールの中に、同じ
    > (,(,(,(,(,(,(,(,(,(,(,(,(,(,(,^[(B
    > がたくさんありました。
    >
    > どうやら、HTMLメールのようですが、でも、header部に書かれるのは不可思議です。

    だとすると、mbox ファイルの先頭がメールの内容の途中から始まっている感じですね。

    であれば、ディスクやファイルシステム周りの障害かもしれません。その辺に障害があってファイルの排他処理がおかしくなって、本来はファイルの先頭ではない inode が先頭になってしまっている、とか。

    一度、/var/mail に別のディスクをマウントしてみて、それで解決するようだったら、ディスク周りが原因だと思います。
  • id:keijiro
    ありがとうございます。
     
    ディスク障害の可能性もあるかもしれませんね。
    一度、レンタルサーバ会社のさくらに聞いてみます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません