いまどきメールヘッダのReceived fromに(unknown~)って出るのださくね?


メールシステムを新しくしたので、メールログの監視強化中。
そんななかで見つけたベストリザーブのDMがかなりアレ。

Received: from ptmag3.bestrsv.com (unknown [211.133.130.68])
とか
Received: from ptmag5.bestrsv.com (unknown [211.133.130.68])
とか

内部IPアドレスについて、unknownになる例はちらほらあるけど、インターネットに接続されているIPアドレスを持つメールサーバでコレは珍しい。

過去に届いたメールを漁ると、内部の実サーバ名として以下の6種類があったようだ。
ptmag.bestrsv.com
ptmag1.bestrsv.com
ptmag2.bestrsv.com
ptmag3.bestrsv.com
ptmag4.bestrsv.com
ptmag5.bestrsv.com

また、メールサーバのログを追うと、HELOコマンドでは下記のホスト名を送ってきていた。
sitsmtp.bestrsv.com

どうも内部では複数のサーバに分かれていて、sitsmtp.bestrsv.com(211.133.130.68)からインターネットに出てきているようだ。
しかし、これらのホスト名に対してIPアドレス(Aレコード,AAAAレコード)は全て設定されていない。
211.133.130.68の逆引きホスト名はsitsmtp.bestrsv.comが設定されているが、sitsmtp.bestrsv.comでは名前解決ができない。

なお、2011/12/05の「 ベストリザーブ・宿ぷらざ オープンしました☆(2011/12/05)」のメールを見ると、ちゃんとAレコードが設定されていた形跡はある。

Received: from ptmag.bestrsv.com (sitsmtp.bestrsv.com [211.133.130.68])

少なくとも2016年以降は設定されていないようだ。
(2012年半ば~2015年末まではメールが来なかった)

まともに設定できる人がいないんですかねぇ・・・

まぁ、2018/08/09現在掲載されている開発スタッフの求人内容がアレですから、まぁ・・・

応募条件
・RDBMSを利用したシステム開発経験がある方。
とくにMySQLおよびPHPの経験者を歓迎します。
・コミュニケーション能力がある方、25歳くらいまでの方を歓迎します。
<<<総合旅行業務取扱管理者優遇>>>

(25歳まででこれらの技能が身につけられているってなんだろ?)

yahoo.co.jpのメールサーバは管轄ドメイン外でもメールが送れてしまう?


メールシステムを新しくしたのでメールログを監視中。
そんななか不審なものが・・・

Aug  9 07:48:48 サーバ名 postfix/smtpd[7394]: NOQUEUE: reject: RCPT from mta094.mail.bbt.yahoo.co.jp[182.22.12.65]: 450 4.1.8 <glfruwj@zrbzzfmaewphpyi.jp>: Sender address rejected: Domain not found; from=<glfruwj@zrbzzfmaewphpyi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta094.mail.bbt.yahoo.co.jp>

Aug  9 07:55:19 サーバ名 postfix/smtpd[7394]: NOQUEUE: reject: RCPT from mta008.mail.bbt.yahoo.co.jp[182.22.12.11]: 450 4.1.8 <fvawxvd@6vo07bbmyz8wa8d.jp>: Sender address rejected: Domain not found; from=<fvawxvd@6vo07bbmyz8wa8d.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta008.mail.bbt.yahoo.co.jp>

yahoo.co.jpのメールサーバを使って、SPAMドメインからのメールを配信しようとしている形跡が・・・

え・・・自社ドメイン以外でも送れる設定にしてるんですか!?
もしかして、Yahooショッピングのテナントが、それぞれ自社ドメインで送れるようにそうなってるんですかね?

さすがに送信時にSMTP AUTHをしていないとは思えないし、いったいどういう処理をしてるんだかなぁ・・・

postfixを使用したiredmailで他サーバで送信された自ドメインメールが受信拒否される


メールサーバをpostfix/dovecotをベースとしたiredmailというメールシステムに置き換えた。
そうしたところ、いままでは出来ていた他にあるWebサーバ上から送信した自ドメイン宛のメールが送れなくなってしまった。

ログを確認すると以下のようになっている。

Aug  2 16:36:25 ホスト名 postfix/smtpd[4994]: NOQUEUE: reject: RCPT from 送信元ホスト名[IPアドレス]: 554 5.7.1 <宛先メールアドレス>: Recipient address rejected: SMTP AUTH is required for users under this sender domain; from=<差し出しメールアドレス> to=<宛先メールアドレス> proto=SMTP helo=<送信元ホスト名>

SMTP AUTHを要求している。

公式ドキュメントに「Recipient address rejected: SMTP AUTH is required for users under this sender domain」という記載がある。
しかし、ここで書かれている下記のMYNETWORKS設定はどちらかというと内部ネットワーク向けの設定である。

MYNETWORKS = ['192.168.0.10', '192.168.0.20', '192.168.0.30']

もうちょっとなんとかならないかなぁ、と探したところフォーラムにQAを発見。
SMTP AUTH is required for users under this sender domain (Mailing list

/opt/iredapd/settings.py に「CHECK_SPF_IF_LOGIN_MISMATCH = True」を追加して、iredapd.serviceを再起動しろ、というもの。

この設定を行うと、DNSのSPFに登録してあるサーバから送信されたメールはSMTP AUTHを要求しなくなるようだ。

これを設定してみたところ、問題は解決したようだ。

Zentyalを日本語で使う場合の設定手順


Linux(Ubuntu 16.04 LTS)ベースでDHCPサーバ/ファイヤーウォール/NATルータ/ActiveDirectory/Exchange互換サーバなどを提供できるアプライアンス「zentyal」を久々にセットアップ。

以前、日本語訳を投稿しておいたおかげで日本語を選択できるようになっていますが、注意点が1つ。
インストール時に日本語を設定してしまうと、firefoxが文字化けし、設定に難儀します。
まずはEnglishでインストールを行った上で、手動でパッケージを追加してから日本語に変更する必要があります。

1. EnglishでZentyalをインストール
2. 初回ログイン
3. シェルを開く
4. Ubuntuの日本語対応をインストール「sudo apt install language-pack-ja firefox-locale-ja」
5. 日本語表示用フォントをインストール「sudo apt install fonts-arphic-uming fonts-takao-pgothic」
6. zentyalの日本語対応をインストール「sudo apt install language-pack-zentya-ja」
7. zentyalの設定画面で「日本語」を設定する。

文字化け状態の例

文字化け解消後

なお、yahooのページだと「fonts-arphic-uming」だけでも大丈夫だったが、zentyalではさらに「fonts-takao-pgothic」を追加する必要があった。
なお、 xfonts-intl-japanese では文字化けは直らなかった。

vpopmail代替としてのpostfix+dovecotメールサーバ環境iRedMail


vpopmail+qmailを使って複数ドメインのメールサーバを運用していた。
さすがにきつくなってきたので乗り換え先をいろいろ検討していた。

・いままで使っていたパスワードが継続できること
 (元の平文パスワードは不明で、MySQL上のvpopmailにあるパスワード文字列を引き継げること)
・POP3 before SMTPは廃止する
・とりあえず20ドメインぐらいあり、各ドメインのユーザは20個程度
・Maildir形式のメールデータは移行する
・Web UIでメールアカウントを作成できること
・無償版の範囲であること

いろいろ探した結果、「iRedMail」を乗り換え先として選定した。

vpopmailとiRedMail無償版を比較した場合、機能が足らない点は以下である。
・各ドメイン内の管理者ユーザが使用できない
  全体管理者と一般ユーザの2種類のみが使用できる
  ドメイン内の管理者ユーザは有償版の機能
・エイリアスはWeb UIで管理できない
  有償版での機能
  手動でMySQL DB上に設定を入れることでエイリアスを使用することはできる
  (Set mail forwarding with SQL command line)
・メーリングリストをWeb UIで管理できない
  有償版での機能
  mlmmjベースであるため手動で設定することはできる
・アップデートが面倒
  無償版だと手動でいろいろ設定しつつアップデートを行う必要がある。

ドメイン内管理者が使用できないというところが痛いが、必須要素ではないため、目をつぶった。

新しい利点として
・Exchange対応
  POP3/IMAPだけでなく「SOGo」というExchange互換サーバ機能を利用できる
  カレンダー(CalDAV)、住所録(CardDAV)も対応
・WebMailが2種類使える
  「Roundcube」と「SOGo」の2種類のWebMailが使える
・SMTP AUTH対応
・LetsEncryptによるSSL対応
 「Use a SSL certificate
・DKIM対応
 「Sign DKIM signature on outgoing emails for new mail domain

設定は、初期インストール直後のCentOS 7/Ubuntuなどで「iRedMail」公式からファイルをダウンロードして、インストールスクリプトを実行するだけで良い。

インストールスクリプト実行完了後に、初期の設定パスワードなどを記載したファイルを出力するので、どこか別の場所に保存しておく必要がある。

インストール後、「postfix/dovecotメールサーバでWindows Live Mail 2012がエラーになる」に記載した設定は行った方が良い。

また、今後、パッケージのアップデートを行う場合は「php.iniを変更せずにdisable_functionsの内容を無効化してroundcubeのアップグレードスクリプトを動作させる方法」の知識が必要になる。

なお、実際に切り替えてみると、Windows Live Mail 2012ユーザでは問題が発生した。
Windows Live Mail 2012の場合、同じパスワードであってもパスワードの設定をやり直さなければ認証エラーとなる仕様であるようだ。