第8章:Postfix メール配送基盤の設営

D-Spec: 192.168.200.0/24 網における鉄壁の MTA 構築(旧第7章)

8.1 Postfix および MySQL 連携パッケージの導入

メール配送の正典、Postfix を導入する。ISPConfig 3 の規律に従い、データベース連携のためのライブラリを網羅せよ。

apt -y install postfix postfix-mysql postfix-doc mariadb-client
            

※インストール中のダイアログでは「Internet Site」を選択し、System mail name には第3章で定義した s2.dazoo.ne.jp を入力すること。

8.2 main.cf の精錬(旧Web 規律の完全復元)

旧 Web に記録されていた、MySQL マッピングファイル群(mysql-virtual_*.cf)への接続規律をここに再定義する。特に CentOS 6 から継承した MD5-CRYPT 認証を Dovecot と橋渡しするための設定を忘れてはならない。

# /etc/postfix/main.cf の核心設定
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
            

8.3 【Noble追加規律】現代的な TLS セキュリティの設定

Ubuntu 24.04 Noble 環境においては、古い暗号化プロトコルは脆弱性と見なされる。TLS 1.2 未満を拒絶し、1.3 を優先する規律を追記せよ。

# SSL/TLS 強化規律
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aDSS, adH, bin, 3DES
            

証明書のパスは第11章で精錬した /usr/local/ispconfig/interface/ssl/ispserver.crt を参照させること。

8.4 milter 規律(Rspamd への橋渡し)

次章以降で導入する Rspamd 防衛規律を Postfix に認識させるための先行設定である。Ubuntu 24.04 では Rspamd との通信に localhost:11332 を使用する。

# Rspamd Milter 接続
smtpd_milters = inet:localhost:11332
non_smtpd_milters = inet:localhost:11332
milter_protocol = 6
milter_default_action = accept