Skip to content

Nuface Blog

隨意隨手記 Casual Notes

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

進階篇:高可用性架構、Failover、GeoDNS、監控與郵件濫用自動化防護(SOAR)

Posted on 2025-11-212025-11-21 by Rico

【Mail Server 系列文:第 12 篇】

在前 11 篇中,你已完成一套穩定、模組化、功能完整的郵件系統。
本篇將帶你從「可正常運作」走向「企業級高可用性」,並加入自動化、監控與防濫用能力。


🔶 1. 為什麼需要 Mail Server 高可用性?

郵件是公司最重要的基礎服務之一,當服務中斷時會造成:

  • 客戶無法寄信、訂單流失
  • 公司內部無法溝通
  • ERP、EIP 通知無法發送
  • 總務、人資、財務流程卡住
  • DNS MX 追不上、外部郵件被退信

因此企業等級的 Email 系統必須能:

✔ 自動切換
✔ 可跨機房
✔ 可維護、不中斷
✔ 可監控
✔ 可自動應對濫用 / 攻擊事件


🔶 2. Mail Server 高可用性架構選項

以下架構以你目前的組合(Postfix + Dovecot + Amavis + Piler + Docker)為基礎。


2.1 選項 A:主備 (Primary / Secondary) 架構

最常見、部署最簡單。

結構:

  • 主機:收信 / 寄信 / 使用者 IMAP / Webmail
  • 備機:同步資料、在主機掛掉後接手 25/587/993 服務

同步方式:

模組同步方式
Postfix 設定rsync + git
Dovecot user maildirdovecot-sync / rsync --inplace
MariaDB主從同步
DKIM keyrsync
Piler Archiversync + incremental
Manticore Index只能備援,不建議同步(重新建索引即可)

優點:

  • 成本最低
  • 架構直覺
  • 故障切換最快可 < 60 秒

缺點:

  • 需要手動或半自動切換
  • Dovecot 郵件同步不能做到像分散式儲存那樣完美

2.2 選項 B:多 MX 架構(具有耐受性)

你的 DNS MX 可以設定:

MX 10 mail1.example.com
MX 20 mail2.example.com

mail2 的任務:

  • 當 mail1 不可用 → mail2 暫時收信
  • 信放在 mail2 的 queue → mail1 恢復後轉送

優點:

  • 外部郵件不會遺失
  • 設定最簡單

缺點:

  • 使用者無法透過 mail2 收信
  • 無法處理 webmail / IMAP 高可用性

多 MX 算是「防最糟糕情況」的保險,而非 HA。


2.3 選項 C:HAProxy + Keepalived + CARP 虛擬 IP(完整 HA)

這是企業最常用的 HA 架構。

設計:

VIP:10.0.0.10
Master HAProxy:mail1
Backup HAProxy:mail2
Backend:郵件容器節點(Postfix、Dovecot)

流量控制:

  • 25/465/587 → Postfix
  • 143/993 → Dovecot
  • 4190 → ManageSieve
  • Webmail/Archive → Apache

切換:

  • 若 mail1 掛掉 → VIP 自動漂移到 mail2
  • 使用者完全不感受中斷

2.4 選項 D:跨區域多機房(Active-Active)

最完整、成本最高。

用到的技術:

  • GeoDNS
  • Anycast
  • 兩個 Postfix 集群
  • Dovecot replication
  • Manticore 分散式查詢
  • 前端容器經由 global load balancer

這類架構多出現在大型企業,對你的 IT 部門來說可以作為長期規劃。


🔶 3. Failover 設計細節

你可以透過兩種方式來實現自動 Failover:


3.1 DNS Failover(建議用於 Webmail / Archive)

適合:

  • webmail.it.demo.tw
  • archive.it.demo.tw

透過 DNS provider(Cloudflare / Route53)設定:

  • 健康檢查(HTTP 200)
  • A record 自動切換

缺點:

DNS 生效有時間差,不建議用於 smtp。


3.2 VIP Failover(推薦用於 SMTP/IMAP)

Keepalived + VIP → 秒級切換

優於 DNS,因為:

  • 不依賴 DNS TTL
  • 所有用戶端連線立即轉向備援機
  • Postfix / Dovecot 都支援重連

🔶 4. GeoDNS — 多區域入口

如果你希望:

  • 台灣 → 連線台灣 mail gateway
  • 越南 → 連線越南 mail gateway
  • 馬來西亞 → 連線馬來西亞 mail gateway

可設定:

地區解析結果
TWmail.tw.example.com
SG / MYmail.sg.example.com
CNmail.cn.example.com

適合跨國企業。

Postfix 與 Dovecot 本身不需要修改,只需修改:

  • Nginx/Apache proxy
  • Inbound MX
  • Outbound relay

🔶 5. 監控(Monitoring)設計

完整監控包含:

5.1 Postfix 監控

✔ Queue 長度
✔ Deferred 數量
✔ Outbound delivery 失敗率
✔ Blacklist 指標(DNSBL)
✔ TLS handshake 成功率

工具建議:

  • Prometheus + Grafana
  • postfix_exporter
  • Loki 收集 logs

5.2 Dovecot 監控

✔ IMAP/POP3 連線數
✔ SASL Login 失敗
✔ LMTP 錯誤
✔ IO / 排隊


5.3 Amavis / SpamAssassin / ClamAV

✔ 病毒偵測率
✔ Spam score 分佈
✔ sa-update 成功率
✔ ClamAV signature update


5.4 Piler / Manticore

✔ Index 活躍度
✔ Query time
✔ 掃描速度
✔ Store 空間使用率


🔶 6. SOAR(安全事件自動化)— 自動防濫用機制

你可以根據 mail log 事件,建立自動防護流程:


6.1 自動封鎖暴力登入攻擊(IMAP/SMTP)

觸發條件:

10 分鐘內 20 次 SASL 失敗

自動處理:

  • 封鎖來源 IP(防火牆)
  • 通知系統管理員
  • 允許白名單例外

6.2 檢測異常大量寄信(Outbound Spam)

觸發:

出現超過 100 封未知網域 → 標為可疑

動作:

  • 自動暫停該帳號
  • 封鎖 SMTP submission
  • 標記郵件至「疑似外洩」
  • 寄通知給管理員

6.3 DKIM fail/Spam 率異常自動告警

透過 log 分析:

  • 連續 10 封 DKIM fail → 通知
  • 某帳號 spam score 過高 → 建議更改密碼

6.4 導入 fail2ban(Docker host)

針對:

  • dovecot
  • postfix
  • apache
  • webmail brute-force

常使用的 jail:

dovecot-auth
postfix-sasl
postfix-rbl
roundcube-login

🔶 7. 安全最佳化建議(強烈推薦)

✔ 實施 MFA(OAuth / SSO / Webmail 插件)
✔ 所有伺服器啟用 TLS 1.3
✔ 強制使用郵件加密(submission 587 + STARTTLS)
✔ 限制沒有 SPF / DKIM / DMARC 的外部郵件
✔ Outbound 限速(rate limit)避免帳號外洩造成 spam
✔ Piler 啟用「稽核模式」與「審查群組」
✔ 定期掃描 mail log 判斷攻擊跡象


🔶 8. 企業級郵件架構未來升級方向

以下是可延伸的發展:

  • 多語系全站 webmail(含 SSO/OAuth)
  • Mail server + Teams/Slack 整合
  • Postfix + Kafka → 寄信事件流分析
  • Manticore 分散式查詢 / 分片
  • 全自動 Let’s Encrypt SNI(多 domain)
  • MTA-STS / TLS-RPT
  • BIMI(品牌識別 Icon)

🔶 9. 結語:你的 Mail 系統已達企業級水準,下一步是「智慧化」

前 11 篇已建立一套:

  • 模組化
  • 安全
  • 防病毒防垃圾
  • 多網域支持
  • 專業搜尋/歸檔
  • 自動憑證
  • 故障可恢復

本篇進一步讓它:

  • ✔ 高可用
  • ✔ 可跨區域
  • ✔ 自動化防禦
  • ✔ 可監控、可預警
  • ✔ 運作更安全、更可控

你打造的已不只是「郵件伺服器」,
而是一套 企業級通訊主軸系統 (Enterprise Messaging Core)。

1 thought on “進階篇:高可用性架構、Failover、GeoDNS、監控與郵件濫用自動化防護(SOAR)”

  1. Pingback: 打造企業級郵件系統的完整指南(總綱篇) - Nuface Blog

Comments are closed.

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