b-shock. Fortress

FreeBSDでDovecotのセットアップ

2018.4.4 追記
この記事は古いです。以下も併せて。
Dovecot 2.3への更新

インフラ構築、特にメールまわりはあまり得意ではないと自覚してて。
メールサーバ構築は、チューニングが不要で、せいぜい10アカウント程度ぐらいまでの場合のみお請けしている。 メールサーバのホスティングなんて安いところがいくらでもあるし、そちらを使ってくださいと。

おれが構築した数少ないメールサーバでは、全て送信(SMTP)にはPostfix、 受信(POP3,IMAP)にはDovecotを使用している。
で、今回はDovecotの話。

FreeBSDでDovecotのインストールを行うと(ごく最近、パッケージ名がdovecot2からdovecotに変わった)、 /usr/local/etc/dovecot ディレクトリが作られる。
配下の /usr/local/etc/dovecot/conf.d に細かい設定ファイルがたくさん作られ、 /usr/local/etc/dovecot/dovecot.conf から、それらがインクルードされる仕組み。

個人的には、この手の設定は煩雑なので好まない。
インクルードされるファイルの多くは、大半がコメントであり、必要な記述は正味数行しかない。
見通し悪いことこの上ない。

小規模な用途では特に、設定ファイルはひとつにまとまっていた方が圧倒的に使いやすい。
そこで、以下の様な設定ファイルを生成する手順を、Chefレシピ化した。

どうよ、このわかりやすさは。本来必要な記述は、たったこれだけだったはずなんだ。
読んで頂ければ大体意味はわかると思うけど、特筆すべきは、

  • OSのアカウントで認証。
  • 証明書はLet’s Encryptのものを使用。
  • 認証はPLAINとLOGINのみ。
    Let’s Encrypt等によるSSL化を必須とするので、問題ないという判断。
  • TCPWrapperを使用。
    ブルートフォースを試す馬鹿を自動でリジェクトする為に必要。
  • SASLの認証機能をPostfixむけに提供。
    送信と受信は同じアカウントを使用する。

といったぐらいか。
ソケットのファイルモードが0666なのは、ちょっとアレかもしれぬ。近々調整。