Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

在建立 Mail Server 前,必須了解的 DNS 與 SNI 設定觀念

Posted on 2025-11-072025-11-07 by Rico

一、為什麼在架設 Mail Server 前要先處理 DNS?

電子郵件的收發行為是建立在 DNS 上的。
無論是外部寄信給你,還是你寄信出去,DNS 都扮演「郵局導航系統」的角色。
主要涉及四項紀錄:

記錄類型功能範例
MX (Mail Exchanger)告訴全世界你的郵件要送到哪一台伺服器example.com. MX 10 mail.example.com.
SPF (Sender Policy Framework)說明哪些主機有權代表你的網域寄信v=spf1 ip4:1.2.3.4 include:_spf.google.com -all
DMARC (Domain-based Message Authentication, Reporting and Conformance)SPF、DKIM 驗證結果的策略規範與報告v=DMARC1; p=quarantine; rua=mailto:dmarc-report@example.com
DKIM (DomainKeys Identified Mail)利用簽章機制驗證郵件內容是否被竄改在 DNS 上建立 default._domainkey.example.com TXT

💡 實際建議:

  1. MX 要正確對應 mail server 主機名(含 A 紀錄)
  2. SPF 建議使用 include 授權外部寄信伺服器
  3. DMARC 可先用 p=none 收集報告,待穩定後改為 quarantine/reject
  4. DKIM 的 public key 放在 DNS TXT,private key 由 mail server 簽章

二、Postfix 的 SNI 設定觀念:Inbound vs Outbound

SNI(Server Name Indication)是 TLS 中的重要機制,
讓伺服器可依照 不同的收件網域(或主機名) 提供對應的憑證。
在 Postfix 中,這可用於 多網域郵件服務 或 多租戶環境。


1️⃣ Inbound SNI(收信端):

當外部郵件伺服器連入時,會以收件人網域 (RCPT TO: user@domain.com) 為依據。
若 Postfix 啟用 SNI,則可針對不同的收件網域提供不同的 TLS 憑證。

📂 設定範例:

smtpd_tls_server_sni_maps = hash:/etc/postfix/sni_in_map
mail.domain1.com /etc/ssl/domain1.pem
mail.domain2.com /etc/ssl/domain2.pem

✅ 適用場景:

  • 你管理多個 domain(domain1.com、domain2.com)
  • 希望每個網域使用對應的證書(提升信任度)

⚠️ 注意事項:

  • 收信時通常由 MX 指向單一主機,因此 inbound SNI 的實際使用率不高,
    除非你同時收多網域郵件,且每個網域需對外展示不同憑證。

2️⃣ Outbound SNI(寄信端):

當 Postfix 對外寄信時,若要依「寄件網域」使用不同的憑證與來源信箱,
可以設定 smtp_tls_policy_maps 或 smtp_tls_sni_maps。

📂 設定範例:

smtp_tls_sni_maps = hash:/etc/postfix/sni_out_map
example.com /etc/ssl/example.pem
other.com   /etc/ssl/other.pem

✅ 適用場景:

  • 多租戶寄信,每個寄件網域需要對外展示不同的身份
  • 每個 domain 都有自己的 DKIM 與憑證
  • 可避免被收信方視為「憑證與寄件域不符」的可疑郵件

⚖️ 使用取捨:

  • 若僅單一 domain → 不需使用 outbound SNI
  • 若提供多品牌寄信 → 建議啟用 outbound SNI

三、Dovecot 與 SNI 的應用

Dovecot 提供 IMAP / POP3 服務,也支援 SNI,
可以根據連線的主機名(例如 mail.domain1.com vs mail.domain2.com)
自動載入不同的 SSL 憑證。

📂 設定範例:

local_name mail.domain1.com {
  ssl_cert = </etc/ssl/domain1.pem
  ssl_key  = </etc/ssl/domain1.key
}

local_name mail.domain2.com {
  ssl_cert = </etc/ssl/domain2.pem
  ssl_key  = </etc/ssl/domain2.key
}

✅ 適用場景:

  • 多網域收信服務(不同品牌或部門)
  • 使用 Let’s Encrypt wildcard 憑證時仍可靈活設定

四、整合建議:DNS 與 SNI 的實務配套

需求DNS 設定SNI 使用建議備註
單一企業網域單一 MX, SPF, DKIM, DMARC不必使用 SNI維護最簡單
多品牌、多網域寄信每個 domain 各自 MX/SPF/DKIM使用 outbound SNI提升寄信可信度
提供代寄信服務統一 MX, 多 SPF include使用 inbound/outbound SNI加強隔離性
企業內部信箱服務單一 MX, wildcard 憑證不使用 SNI維護最穩定

五、結語

在設計郵件系統時,DNS 設定與 SNI 架構是整體信任鏈的基石。
正確的 MX、SPF、DKIM、DMARC 組合,
搭配 Postfix / Dovecot 的 SNI 設定策略,
能讓你的郵件服務不僅安全可靠,也更具「企業信任度」。

Recent Posts

  • Postfix + Let’s Encrypt + BIND9 + DANE Fully Automated TLSA Update Guide
  • Postfix + Let’s Encrypt + BIND9 + DANE TLSA 指紋自動更新完整教學
  • Deploying DANE in Postfix
  • 如何在 Postfix 中部署 DANE
  • DANE: DNSSEC-Based TLS Protection

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2025 Nuface Blog | Powered by Superbs Personal Blog theme