メールサーバ構築

運用しているメールサーバをお引越しすることにしたため、引越し先を新たに構築する。 現行サーバはPostfixとDovecotで構成しており、特に不満もないので基本的に同じ構成で済ます。

ただし、現行サーバは外部のVPSサービスを利用しているが、新サーバは自宅環境に構築しようと思うので、OP25B対応としてrelayhostに関する設定を追加した。 Postfixの認証をDovecotに任せるのでUSEフラグにdovecot-saslを追加したものの、smtpdとしての認証はDovecotで問題ないが、外部リレーホストへのsmtp(クライアント)としての認証がDovecotではダメだったで、結局saslフラグも追加した。

リレーによる外部への配送はすぐ出来たが、リレーするとメールのFromがリレー先の認証に使用したアカウントに書き換えられてしまった。 できれば元のメールアドレスにしたかったのでなんとかならないか軽く調べてはみたものの、良い対応は見つからなかった。

また、現行サーバは惰性的なバージョンアップしかできていなかったので、セキュリティに関する設定を簡単に調べてみる。 現行サーバを構築した時のバージョンがかなり古いので、新たな機能が追加されていたりパラメータ名が変わったりしているかもしれない。

ひとまずrestrictionについてPostfix SMTP relay and access controlのページを参考にしながら制限を追加する。 不正中継対策は基本的に認証したクライアントとローカルのクライアント以外を拒否するようにしておけば問題ないはずだが、せっかくなのでsmtpd_*_restrictionsに雑にreject系の設定をを追加する。 smtpd_relay_restrictionsにのみpermitの設定をいれて、他のrestrictionsではrejectとrejectの例外とする条件を設定した。 例外があまりに多くなるようならrejectをいくつか外そうと思いながら試してみたところ、Apple製品から接続した時のHELOが拒否された程度だったので、例外設定の追加で対処した。

他にもSMTPスマグリング対策としてsmtpd_forbid_bare_newlineが3.8.4で追加された(Postfix stable release 3.8.4)ようで、今回構築したPostfixが3.8.5だったので有効にしておいた。

あとはSPF、DKIM、DMARCの対応をしてみるが...DKIMだけ上手くいかない。 なんとかしてpassにしたいが、SPFとDMARCはpassできたのでいったんよしとする。少し疲れた。 ARC(Authenticated Received Chain)も設定したいが、PortageにOpenARCのパッケージが含まれておらず、特に外部へメール送信する予定もないため、こちらも様子見とする。

最後に、設定を確認するWebサービスをメモ。

  • Newsletters spam test by mail-tester.com
    • 表示されるメールアドレスへメールを送るとスパム対策やなりすまし対策のチェックをしてくれる。
  • AppRiver SpamLab - Open Relay Test
    • メールサーバのFQDNを入力してボタンを押すと不正中継対策がされているかチェックしてくれる。
    • 暗号化には対応していないようなのでsmtpd_tls_security_levelをencryptにしている場合はチェックの時だけmayにする必要がある。

links

social