「Postfix」タグアーカイブ

自宅サーバーの不調

最近どうも自宅サーバーの調子が悪い時があります。 今週の日曜日にもLinuxがカーネルパニックを起こして月曜の朝までメールサーバーが落ちていたようです。

すぐに立ち上げ直したのですが、何となくおかしい。 いろいろと調べてみると次のように複雑な問題が絡んでいることがわかりました。 今後の自分の記録および他の同じことで悩んでいる方のために対処方法を書いておきます。

まず月曜にサーバーを立ち上げ直してみたのですがWebサーバーとしては動作しているのですが、SOTAや新潟のクラブのために立ち上げているメーリングリストで、メールの転送が自分には来ているのですが、他の人に行っていないことが判明しました。 試しに自分の外部で持っているメールアカウントにメールを送りますが届きません。 自分のサーバー内のメール配信はできるが、外部への転送ができていないことがわかりました。

mailqコマンドで調べてみるとメールサーバーのQueueの中に今回試験のために送ったメール以外に大量にメールがたまっていることがわかりました。 このQueueをpostqueue -f コマンドでFlushしてみますがNG。 大量のメールが溜まったままです。

困りました。 何がおかしいのか?

maillogを調べてみると、こんなログがありました。(一部伏字)

> Nov  1 XX:XX:XX xxx postfix/smtp[8214]: B
> BD6E68BB0002:
> to=<xxx@gmail.com>, relay=auth.gate-on.net[2
> [XX.XX.XX.XX]:587, delay=0.22,
> delays=0.06/0.01/0.04/0.12, dsn=5.7.1, status=bounced (
> (host
> auth.gate-on.net[XX.XX.XX.XX] said: 554 5.7.1
> <xxx.xxx.mesh.ad.jp[xxx.xxx.xxx.xxx]>: C
> Client host rejected: Access
> denied (in reply to RCPT TO command))
この内容は、xxx@gmail.comにメールを送ろうとしているが、メール転送サーバーのauth.gate-on.net から拒否されているというものです。

このauth.gate-on.net を転送サーバーとして使っている理由はここをご参照ください。

最近、社会問題になっているスパムメール対策の「アウトバウンドポート25ブロッキング(OP25B)」のため、浮動IPアドレスを使う自宅サーバーからの外部へのメール配信のためには、メール転送サーバーが別途必要となるためです。

上記のLogはこの転送サーバーから転送を拒否されているというものです。

理由がわかりました。

私は自宅メールサーバーで、すべてのメールアカウントを統合しています。 例えばBiglobeのメールアカウントに届いたメールを自動で自宅サーバーに転送するシステムをfetchmailで組んであります。 Biglobeのメールアカウントでは有償のスパムフィルター、ウィルスフィルターを自宅サーバーで一元的に、しかも無料で管理できるためです。

さらに、自宅のメールサーバーにメールが届いたときに、procmailで携帯に通知するシステムを作っていたのですが、メールサーバーが落ち、この結果fetchmailでBiglobeなどからfetchしてくるプロセスで出た大量のエラーがすべて携帯に配信されていたのです。

この様子はまさにスパム送信をしているとしか取れず、この挙動のためにメール転送サーバーで一時的にすべてのメール受け取りを拒否されていたのでした。

さて、対策ですが、自宅サーバーのIPアドレスを変更してみましたがNG。 こんな単純には騙されないぞ、メールを拒否というわけです。

このためMydnsの管理者の方にメールで事情を説明し、拒否を解除していただきました。 ある程度の時間が経てば自動で解除してくれるようですが、我が家のサーバーもMLを運用するミッションクリティカル。 早急に対応が必要でお願いして対応していただきました。

恒久的にはprocmailで携帯に通知するメールからfetchmailのエラーメールは除外することにします。

MLのユーザーさんにはご迷惑をおかけしました。 また、特にMydnsの管理者様には大変なご迷惑をおかけしましたが、快く対応いただき誠にありがとうございました。

 

Biglobe中継サーバーサービス終了対策

これは、自宅サーバーを持っていて、サービスプロバイダーにBiglobeを使っている人への情報です。

先日、私の加入しているインターネットサービスプロバイダーのBiglobeから、次のようなメールおよび郵便での通知が届きました。

biglobe

2014年3月17日で、Biglobeの中継サーバーサービスを終了するというもの。 これは私のように自宅サーバーを持っている人以外には関係ない話なので、おそらく大半の方には届いていないと思いますが、私のように、超アレゲ系、自宅サーバーオタクにはこれはショッキングな話なのです。 通知にはメールソフトの設定方法などという、トンチンカンなことが書いてありますが、中継サーバーをいままで使っていた人が、こんなことでごまかせるわけはありません。 どういう人がこの通知文を送っているのか・・・・・ 情けなくなります。

私は2002年から自宅にサーバーを持ち、メールサーバーもこの中で運用していますが、2006年頃に世間一般に広がったスパムメールが問題視され、「アウトバウンドポート25ブロッキング(OP25B)」という対策が採られました。 この内容は、詳しくは別のサイトで見ていただきたいのですが、スパム防止のため、固定IPアドレス以外のメールサーバーからの25番ポートでの通信を遮断するというもので、スパム対策には十分な効果があったものと思います。 しかし、私のように、浮動IPアドレスでダイナミックDNSを使って自宅サーバーを運用している人には困った話で、自宅サーバーから送達すべき相手先メールサーバーにメールが送られなくなってしまうことになりました。 スパムを送っている悪いヤツと、健全な自宅サーバーオタクとの区別がつかないためです・・・・・・笑

そこでBiglobeが2006年当時考えてくれたのが、中継サーバーの設置です。 これは自宅サーバーからのメール送信は、いったんBiglobeの中継サーバーに認証を行った上で送り、そこから送達先に配信してもらうもので、超アレゲ系サーバーオタクにとっては直接、送達先のメールサーバーとの通信ではないので、ちょっとおもしろみが足りないものの、(すみません、大半の方には何言ってるのか判らないと思いますが・・・・)、Biglobeの自宅サーバーオタクへの寛大な理解と措置に感謝していました。 今回の通知は、このサービスを終了するというものです。 これは困った・・・・

今日現在、Googleで検索しても、この対策を書いているサイトが見つからないのですが、今回、この問題を解決できたので、他にも私と同じ立場で路頭に迷っている方がいると思いますので、対策を共有しておきます。

尚、私の環境はCentOS LinuxとPostfixです。

対策は、私の場合MyDNSをダイナミックDNSに使っているので簡単に出来ました。 さすがMyDNS、私が見込んだだけのことはある。 勝手に有償化したDynDNSなど比較にもならない・・・・ 怒

さて対策内容ですが、MyDNSのサービスを受けるためには絶えず、IPアドレスをMyDNSに通知しておく必要があり、この通知は認証を伴って行っています。 つまり、健全なユーザーの浮動IPアドレスを絶えずMyDNSは認識してくれていることになるわけです。 これは中継サーバー使用に対しての認証に必要な情報が自然と集まっていることになります。 MyDNSは中継サーバーを準備してくれていたのでした。 感謝! どのIPアドレスから、中継サーバーにアクセスしてくるかを見ておいて、MyDNSユーザからのアクセスであれば中継を許可するというものです。

設定は簡単

Postfixのmain.cfにて

#relayhost = msagw.biglobe.ne.jp:25   ←Biglobeの中継サーバーの指定をコメントアウト、もしくは消去

relayhost = [auth.gate-on.net]:587   ←代わりにMyDNSの中継サーバーを指定

同じく、Biglobeの中継サーバーの認証プロセスを全部コメントアウト、もしくは消去

#smtp_sasl_auth_enable = yes
#smtp_sasl_password_maps = hash:/etc/postfix/isp_passwd
#smtp_sasl_security_options = noanonymous
#smtp_sasl_mechanism_filter = cram-md5, plain, login

これだけです。 MyDNSへのIPアドレスの通知により、中継サーバー使用時の認証が不要です。 当然isp_passwdは不要となります。

この後、PostfixをreloadでOK。 MyDNSを使っていることが前提ですが、こんな簡単でいいのかというくらい簡単です。

参考サイト MyDNS

http://www.mydns.jp/info20060328.html