2019年3月8日 星期五

Mail Server透過iSCSI串連Synology NAS做到HA機制

郵件伺服器搭配低成本SAN以及HA Cluster做到Failover

緣起

小編最近在PCHome購物上面逛一些網路器材。看到10GbE交換器、10GbE網路卡、Cat7網路線也普遍且低價。心裡突然萌生一個是否可能建立一個兩步驟切換的便宜iSCSI SAN且搭配HA Cluster的Mail Server架構? 好繞舌啊~! 額~ 這篇裡面的High Availability 因為不是全自動,可能要改成Medium Availability。這部分,後續會解釋。

大品牌方案

過去十幾年來,類似Cluster跟HA方面的郵件伺服器當然有解決方案。Microsoft Exchange Server、IBM Lotus、Oracle Veritas Cluster Server/Messaging Server等等不勝枚舉。但是依舊天價。動輒幾十萬以上。其中包含高規格的硬體規格、伺服器授權、cluster授權、cluster連線數的授權、Mail Server連線數的授權、目錄服務連線數的授權、購買技術支援的費用、建置其間的人工費用等等。

光華牌方案

反觀光華牌陣營,在2019年的今天,SSD跟10GbE網路架構的降價跟普及度讓自架iSCSI SAN & HA Cluster Mail Server不再遙不可及。因此,小編覺得Mail Server現在可以搭配NAS做低價的叢集式架構。

理論

為何可以呢? 依照10GbE的傳輸速度來算,一秒鐘的傳輸速度理論值是1250MB/s,也就是1.25GB/s。一般SATA-3的傳輸速度理論值是6GB/s,也就是750MB/s。
透過網路傳輸時速度絕對會有流失,就算把1250MB/s砍半,也有625MB/s。就算SATA-3維持理論值的七成,抓525MB/s。625MB/s都可以媲美SATA-3 SSD硬碟在電腦主機本地端內部的傳輸速度!

在下面的部分,我們來討論一下相關的軟硬體以及整個iSCSI SAN跟HA Cluster Mail Server的架構:

網路速度

在以前,頂多就是1GbE就蠻好用了。那時候,10GbE就只能在Data Center裡面才用得起。現在這些機私跟以前的天價比較都變得便宜。要達到10GbE的速度,需要SFP+(銅線或光纖)或是RJ-45(Cat6起跳,最好是Cat7)。在cluster servers跟NAS之間一定要用10GbE來串。

SSD硬碟

就在一年前,1TB SSD都還要上萬。近來,1TB SATA-3 SSD的價格不到五千,甚至更低! 小編愛用的品牌就兩個,Micron跟Intel。下面是隨便找PCHome的價格,光華商場可能更便宜:

  • Micron MX500 2TB: NTD$ 10999 / 1TB: NTD$ 4499
  • Intel 545s 1TB: NTD$ 7999

Synology NAS

看起來,買Micron的4到5顆1TB搭配Synology NAS做RAID 5 或 RAID 6,對IT同事來說是ㄧ大福音! 提到 Synology NAS,小編覺得DS1517+ 是ㄧ個好選擇。對於我們要建置的架構來說,其內建硬碟熱插拔功能跟其擴充至E10G18-T2高速雙埠 10GBASE-T雙10GbE的另購選項是不可缺少的! 記得,記憶體部份升級到16GB

到目前為止,郵件資料的備援跟備份皆可以在NAS上面解決。例如: RAID 5底下裝4顆1TB SSD做為儲存日常郵件之用。第5顆則可以裝一顆4TB的傳統硬碟存放年代久遠的郵件備份以及Cluster上面的VMWare或Windows Backup之用。又或是,可以留做SSD快取也不錯。

Cluster PC

  • 硬體部分: 買兩台Intel i7,各搭配16GB記憶體、各安裝一顆120GB SSD。各安裝10GbE網路卡提供與NAS連線。內建的1GbE網路卡連接至路由器。是否還需要再各安裝1GbE網路卡提供Cluster Heartbeat? 這一點我稍後會說明。
  • 軟體部分: 安裝Windows 10。在兩邊的Windows 10裡面再各自安裝一套EVO Mail Server。是否需要另外安裝VMWare Workstation將郵件服務虛擬化? 這一點我稍後會說明。

Cluster Hearbeat的迷思

一般來說,Cluster類似Windows Server 2008, 2012, 或2016等等,在兩個Node上面會另外插一張網卡做Hearbeat之用。那是Windows Server本身有內建這個功能。但是在Windows 10上面並沒有類似的功能,小編也Google了一下,沒有找到給Windows 10用的小工具(如果大家知道有此類小工具,麻煩好康到相報一下)。

這類在Windows Server上面的Heartbeat協同仲裁硬碟(Quorum) 決定是否自動跳到備援主機。小編認為此類自動機制是用於迫切性高的web server或是database server這種一翻兩瞪眼的狀況,也沒有太多的爭議。

對於郵件伺服器,從另外一個角度來看Cluster Heartbeat。小編認為郵件伺服器的運行迫切性沒有這麼高,容錯程度高一點。可以先由IT人員花幾分鐘檢查以後,再決定:
  • 是否當下幫主要伺服器除錯之後繼續運行?
  • 是否立馬換到備援伺服器?
一般來說,可能會發生的問題、狀況不外乎:
  • 硬體: 主機板、記憶體、硬碟、電源、網路卡、網路線 - 若是知道是壞了,立馬轉到備援伺服器。
  • 軟體: 作業系統、郵件伺服器軟體的bug - 若是很大的問題,例如作業系統損毀無法開機,則立馬轉到備援伺服器。若是10分鐘之內可以解決,例如郵件伺服器的一些bug或參數需要微調,則無須轉到備援伺服器。
雖然需要IT花費幾分鐘手動診斷,卻能夠掌控狀況。

是否建置VMWare?

這部分見仁見智。小編認為如果有足夠經費,在主要伺服器上面安裝VMWare Workstation版本,這是備援伺服器以外的另外一道備援防線:
  1. 在VMWare底下安裝另外一套Windows 10的虛擬系統A
  2. 確定虛擬系統A正常運行郵件服務之後關閉虛擬系統A
  3. 安裝另外一顆120GB SSD
  4. 虛擬系統A的映像檔拷貝一份到新添的120GB SSD中當做虛擬系統B
這樣做的原因是如果主要伺服器硬體皆正常,在虛擬系統A映像檔損毀的狀況下,可以直接打開虛擬系統B運行郵件服務以盡可能減少服務中斷的時間。

Cluster轉換主機的手段

以EVO Mail Server為例,所有設定檔案皆在NAS上面,因此Cluster Servers的角色僅為執行郵件伺服器主程式、與NAS連線、跟與外界連線的目的。根據每個IT弟兄不同的習慣,從郵件服務從主要伺服器移到備援伺服器有幾個方法,看官自己斟酌哪個方便:
  • 如果在Router內網裡面:
    • 若Router上面有做Port Forwarding (有些人稱Virtual Server),可以登入Router將Port Forwarding指向的內部IP改成備援伺服器的內部IP即可。
    • 如果習慣關閉發生問題的主要伺服器,則可以在平常時關閉備援伺服器的網路卡,要轉移到備援伺服器的時候再啟動其網路卡,這樣子,備援伺服器網路卡的內部IP設定可以跟主要伺服器一樣。缺點就是無法使用遠端桌面去操作,必須實際登入備援伺服器設備本身去操作。
    • 上面第二種方法有另外一種變通,備援主機待機的時候,網路卡還是打開並指定另一個不同的內部IP。這種方法就可以透過遠端桌面去做轉移。要轉移的時候,還是先關閉發中問題的主要伺服器,再將備援伺服器的內部IP改成主要伺服器的內部IP。
    • 主要伺服器有安裝VMWare的情形下,如果主要伺服器硬體皆正常,只是虛擬系統A映像檔損毀的狀況下,可以直接打開虛擬系統B運行郵件服務以盡可能減少服務中斷的時間。
  • 如果主要備援主機皆在DMZ或是直接連線到Internet:
    • 登入DNS代管服務將郵件伺服器的A紀錄IP指向備援伺服器的實體IP。通常需要一小段時間讓DNS紀錄擴散生效。
    • 主要伺服器有安裝VMWare的情形下,如果主要伺服器硬體皆正常,只是虛擬系統A映像檔損毀的狀況下,可以直接打開虛擬系統B運行郵件服務以盡可能減少服務中斷的時間。(不建議這樣的設定,因為會浪費一個public IP給實體主機。)
以上轉換程序中的注意事項:
  1. 如果主要伺服器還能使用並連網的狀況下,可以自行註銷EVO Mail Server的授權碼。
  2. 如果已經無法使用的狀態,用其他外部郵件帳號發郵件請EVO工作人員手動註銷授權,然後在備援主機上面再次啟動。
  3. 更保險的方式是ㄧ次購買兩個授權,分別用再主要備援主機上面。要注意的是,當備援主機起來以後,要用屬於備援主機的license.dat先把NAS上面的license.dat授權檔案覆蓋過去再啟動郵件服務。
  4. VMWare映像檔的部分,由於是同一個虛擬系統,無須做註銷及啟動。但是,注意不要同時打開兩個虛擬系統。否則,Windows跟EVO Mail Server的授權都會出問題。

實際架設Synology NAS提供的iSCSI SAN跟Windows 10 Cluster HA機制

小編在前的文章有提到如何安裝EVO Mail Server,所以我們現在從郵件伺服器正常運作的狀態接下去做設定。
  1. 在Synology NAS上面建置iSCSI硬碟
    • 如果還沒有建立儲存空間,先建立儲存空間。如果已經有儲存空間,到下一步。
    • 再過來建立TARGET建立LUN。如果才開始建置,通常建立TARGET之後會接著建立以及連接LUN,一次完成。如果之前已經有LUN存在,則視狀況做必要的設定。
    • 打開iSCSI manager。
    • 一開始什麼都沒有。
    • 點擊左手邊的Target,然後點擊Create。
    • 輸入名稱、IQN以及是否啟動CHAP認證。
    • 在下一步會自動做LUN mapping的動作。
    • 定義磁碟大小。
    • 確認先前的設定。
    • 點擊左手邊的Target,可以再次瀏覽設定摘要。
    • 點擊左手邊的LUN,也可以確認LUN是否有連接。
    • 在左手邊的Settings可以把I/O Queue Depth加大,對10GbE還有SSD環境有幫助。
    • 最後在總覽頁面確認iSCSI是否已經完成建置。
  2. 在Windows 10上面啟動iSCSI initiator
    • 設定iSCSI initiator之前可以看看是否要做一些最佳化的動作。
    • 了解最佳化手段並決定是否做最佳化的動作之後,在Windows 10搜尋並打開iSCSI initiator。
    • 打開iSCSI initiator之後,在Target分頁下面的Quick Connect直接輸入Synology NAS的IP可以直接做快速連接。 
    • Discovered tartgets清單出現可以用的target,並且已經連接。
    • 最後的摘要。
    • 在Windows 10搜尋並打開Computer Management
    • 點擊左手邊的Storage/Disk Management之後可以看到新加的磁碟機。
    • 在上圖中,滑鼠右鍵點擊Disk2的區塊,然後選擇Convert to GPT Disk。因為GPT可以建置過2.2TB的磁碟分割。
    • 在新切割的分割上面點擊滑鼠右鍵,選擇New Simple Volume建立分割以及格式化。
    • 經過格式化後的整個iSCSI磁碟。
  3. 將EVO Mail Server的相關檔案搬遷至iSCSI硬碟
    • 打開EVO Mail Server的管理介面,點擊左上角的摘要,然後拉到最下面的Server setting status。
    • 在上圖,點擊Mail Data Folder右手邊的迴圈圖案,打開瀏覽資料夾的視窗。
    • 接下來會跳出一個通知,告知郵件檔案會開始做搬遷的動作。
    • 搬遷完成以後會再跳出一個通知,告知已經完成。
    • 此時,我們可以注意到郵件資料夾已經改變。
  4. 按照"安裝EVO Mail Server"文章最後面提到的步驟做測試。

價格分析

現今,一兩百人的公司企業生存也不大容易,對於IT基礎設施的投資也是捉襟見肘。把上面提的架構,其所需的經費大約如下:
  • Intel i7, 16GB RAM, 120GB SSD, 10GbE 網路卡(可以選擇光纖版本或RJ-45版本), 450W 電源, Windows 10 伺服器主機 x 2, NTD $60000
  • Synology NAS DS1517+ x 1, NTD $22000
  • Synology 擴充記憶體 8GB x 2, NTD $9100
  • Synology E10G18-T2 或 E10G17-F2 10GbE 網路卡  x 2, NTD $18900 或 NTD $21000
  • NAS專用硬碟 美光 MX500 2TB SSD硬碟 x 4, NTD $42000
  • 備份舊郵件專用硬碟 WD 4TB 外接 (如果NAS插槽拿來做SSD 快取),內接 (如果直接插在NAS插槽) x 1, NTD $3500 或 NTD $6000
  • VMWare Workstation 15 x 1, 約 NTD $8000 (此為選購以搭配前面提到的虛擬系統)
上面的價格都是隨便網路上抓的,如果有到處詢價,應該可以壓在NTD$ 15萬有找。不能省的是10GbE網路卡跟硬碟:
  • 網路卡呢? 用光纖版本是最好了。小編剛剛找到一篇一般1GbE網卡跟光纖介面網卡的實做及比較的文章可以參考。
  • NAS本身呢? 也可以直接上DS1817+ (8GB記憶體版本,NTD $26900),內建兩個10GbE網路埠,然後把八顆硬碟插槽拿兩個出來做SSD 快取,SSD快取要用多大的SSD硬碟,可以問商家或參考這篇文章。雖然價格比DS1517+貴幾千塊,但是擴充記憶體跟10GbE的網路卡都省了。實際上是便宜了一萬五至少。不過,話說回來,規格上面有捨有得,所以留給看官自己決定。
  • NAS硬碟部分呢? 為何要拿2TB的? 以SSD的架構來說,容量越大,速度越快。因此,建議一次到位,可以凍就顧!

小編總結: 

呼! 這一篇很長,也寫了很久。這次會寫這篇也是因為剛好眯到10GbE網路架構跟大容量SSD硬碟價格比以前便宜很多。當然啦,還有讓SSD發揮更快速度的建置方式,也就是直接塞幾張PCI-e跟NVME SSD在郵件伺服器裡面。

這次的主題是找出一個讓郵件伺服器有容錯空間的解決方案。NAS跑RAID-5或RAID-6提供儲存空間的容錯。一台主要伺服器跟一台備援伺服器提供主機硬體運行上的容錯。

以上,給大家做一個參考。畢竟每家公司的IT環境不一定一樣,或許可以把目前可用的電腦、零組件、NAS等等兜一組起來用,那花費肯定更低、幫老闆省更多! 最後祝各位IT同學2019年永不當機,一覺到天明!

2019年2月26日 星期二

Free Mail Server 軟體推薦: Linux Mail Server 及 EVO Mail Server

mail server 軟體 vs 硬體

朋友的公司最近需要購買 mail server,於是向筆者詢問軟體硬體郵件伺服器的差異,這裡簡短地與大家說明一下,其實市面上不論是軟體還是所謂的硬體郵件伺服器都是軟體,真正的硬體是把軟體做到SOC晶片內那才叫硬體,所以所謂的硬體郵件伺服器應該指的是 Appliance 這樣的 Linux及郵件軟體安裝。

Linux 郵件伺服器 Mail Server

如果公司規模小,可以玩玩現在很流行的樹莓派主機 Raspberry PI,安裝上LINUX之後 (NOOBS + Raspbian),就有一個十分方便好用的LINUX桌面並且進一步設定安裝LINUX的郵件伺服器軟體。

或者是使用熱血網友製成的Raspberry PI專用Email Server映像檔:
以上的設定您需要購置樹莓派3b主機,機殼,SD卡等等,由於目前SD卡容量還不是很大,因此這樣的Mail Server並不太適合人數超過5人的環境。

Windows Server 郵件伺服器

一般小型企業都已經具備了 Windows Server 2012 / Windows Server 2016 這樣的環境,在這種狀況下可以選擇筆者推薦的 EVO Mail Server for Windows Server 的軟體直接安裝,適合人數較多的環境並且操作較簡易。

2019年1月3日 星期四

紅米手機聯絡人如何與Outlook 2013-2019同步?

小米手機通訊錄匯入至Outlook 2010/2013/2016




小米的紅米MIX 3MI 9MI A3、POCO Phone在過去幾年內越來越受歡迎。它已經把市場擴展到世界各地,例如: 印度、歐盟各國、東南亞、美國等等。結果也是好評如潮。


就像AndroidGoogle (Gmail) 服務跟iPhoneiCloud服務一樣,小米在中國大陸有自己的小米雲服務。目前是還沒有延伸到全球各地。也因此,很多小米用戶就是使用Google的雲服務像同步自己的Google行事曆到Outlook 2016。這裡提供一個教學,讓你可以透過EVO Collaborator for Outlook在桌機或筆電Outlook下面同步小米雲原生聯絡人。

如何同步小米手機行事曆到Outlook?


根據MIUI論壇的說法,小米雲 CalDAV 是還在開發中的,而且一等就是四年,我看是沒什麼希望了,因此行事曆目前還是沒有辦法與 Outlook 同步的,不過如果您用的是小米國際版手機的谷歌行事曆那是可以透過 EVO Collaborator 與 Outlook 2007, 2010, 2013, 2016 ,2019 同步的

如何同步MI A3聯絡人到Outlook?

  1. EVO官方網站下載EVO Collaborator for Outlook。
  2. 打開C:\Windows\System32\drivers\etc\hosts檔案並加入下面的主機名稱對應IP參數:
    120.92.99.7 dav.mi.com
    修改完會像下面的截圖一般:
    為何要做這個步驟呢? 原因在於小米紅米的dav.mi.com伺服器在中國大陸境外是無法解析的。
  3. 儲存檔案之後,照理會即刻生效,如果沒有,可以重啟系統 (shutdown /r)。
  4. 打開Outlook之後找到EVO分頁。
  5. 點擊左手邊的設定帳戶然後編輯左手邊的MI.com
  6. 輸入小米ID (那是什麼? 在哪裡?) 與密碼之後,點擊下方的測試連線。註: 小米ID不是你註冊時用的電話號碼。
  7. 下面的截圖為自動偵測到的小米雲的聯絡人URL。
  8. 最後,點擊下方的儲存以及退出。EVO Collaborator for Outlook會開始首次的聯絡人同步。

2018年11月28日 星期三

Outlook 通訊錄匯出技巧 (CSV, VCF, EXCEL XLS)

Outlook 聯絡人匯出 (export)

又到了與網友分享心得的時刻,常常有燒友問到 Outlook 通訊錄匯出的問題,有的場合只是單純做備份,有的時候有特殊的需求格式. 比較常見的有

CSV

也就是 comma seperated values, 使用逗號做分隔的文字檔, 比如說如下:

王小明,0988-xxx-xxx,wangxiaoming@yaahoo.com.tw

通常 CSV 純文字檔案要注意編碼的問題,如果是 UTF8 的格式,才能在同一個文字檔案內存放多國語言的資料,如果是 BIG5 格式那麼就只能存放繁體中文.

VCF

VCF 又稱為 VCARD, 通常為一個檔案存放一個聯絡人, 也有可能一個檔案存放多個聯繫人, 這個在不同的系統上都不盡相同. 範例格式如下:

BEGIN:VCARD
PRODID:-//Prosperwave//ECA//EN
FN:Public Relation
N:Public Relation;;;;
ORG:;Marketing
TITLE:Public Relation
REV:2017-07-25T03:10:46Z
UID:3A1919F9-921F-0B24-A70B-921F0B24E845
EMAIL;type=INTERNET;type=WORK:pr@yaahooo.com.tw
END:VCARD

EXCEL

EXCEL又稱為 XLS 文件,也就是微軟 OFFICE 套餐裡面的 EXCEL 試算表,相信大家都很熟悉了. 範例格式如下:


如何匯出 Outlook 2007, 2010, 2013, 2016 或 2019 通訊錄

接下來是重頭戲,究竟我們要如何匯出成指定的格式呢,其實有夠簡單的,首先您需下載一套 Outlook 的威力套件:PowerToys for Outlook (PTO)


下載並安裝之後,開啟 Outlook 就會看到 PTO 的一個 Tab 標籤.


接下來就很容易了,在 ocx 這個功能區塊按下匯出聯絡人,並選擇你要的格式,就能順利匯出了,是不是很容易呀? 

至於儲存在一般的 mail server 上面的通訊錄要怎麼匯出呢? 除非郵件伺服器有內建 CardDAV 服務, 否則不太容易.

2018年10月31日 星期三

Mail Server 的 Anti-Spam 垃圾郵件機制知多少?

郵件伺服器有哪些反垃圾郵件機制?

電子郵件如何影響我們的生活?

從互聯網30多年前開始,電子郵件始終是組成互聯網成份中重要的一環。現在,同學們在學校/職場中與同學/同事之間可能就是用Line微信、視訊等等很有效率的聯絡方式。可能都沒有參與到公司之間的聯繫主要是靠電子郵件的那個時代。

小編剛好參與到那個世代。小編待的產業從20幾年前開始到現在,一直很倚重電子郵件的互通有無。即使先前提到的各種通訊機私越來越普遍,電子郵件還是無法被取代,甚至在世界五百強裡面也是這樣。怎麼說呢? 看看微軟的Exchange Server不斷出新版,郵件部份還是其中堅份子就可知一二。

幾十年來,互聯網慢慢地從方方面面融入人們的生活裡面。科技對我們幫助很大,同樣地,也帶來很多不好的部分,例如個人信息的外洩。電子郵件也是一樣。當我們發一封電子郵件,幾秒以後,地球的另一端就收到了,效率非常高。反之,電子郵件的便利以及效率也被惡意廣告商過度利用,也就是被拿來大發垃圾郵件。

電子郵件被濫用的後果?

對於電子郵件被濫用,最淺而易見的例子就是我們幾乎每人一個的hotmail.com、gmail.com等等的郵件信箱。我們常常每隔幾天以後登入信箱的收信匣,會看到數十封甚至上百封的廣告信。大多數跟我們沒有任何關係,不是百貨公司edm,也不是會員信。幾乎都跟色情、賭博等等不好的東西相關。從個人的郵件信箱就已經如此,那可以想像郵件伺服器每天要處理的垃圾郵件數量可能是幾千封、幾萬封甚至更多。輕則浪費伺服器的計算資源,重則癱瘓互聯網的聯通性。

對郵件伺服器以及互聯網來說,垃圾郵件從任何角度來看都是一種沉重的負擔。30幾年前開發者的美意被濫用以後,20多年前開始,業者慢慢開始反思,並開始重視反垃圾郵件機制的佈局。

一般來說,垃圾郵件的濫發,分為從外網發進來還有從內網發出去的。如何防堵? 簡單來說,外網的就是擋住外來的垃圾郵件,這部分就是分析外來垃圾郵件的屬性加以阻擋,例如: 主旨還有內文的內容、郵件來源的IP位址。內網的就是不被當做跳板對外狂發垃圾郵件,這部分就是防止公司內部電腦受到感染還有抓到兇手之後的後續阻擋手段。

不論是濫收或濫發郵件,達到一定量的時候,必定會造成郵件伺服器或是公司網路被癱瘓,造成公司權益以及經濟上的損失。另外一方面,公司合作夥伴或是客戶的郵件伺服器可能會因為公司發出的郵件都被拒收、或被放入垃圾郵件黑名單,這類狀況造成溝通不良以及誤會而錯失良機以及影響公司聲譽,最後得不償失。

小編不才,分享一下有哪些反垃圾郵件機制。下面這些點都是從上述的兩種狀況衍生出來的機制或手段:

郵件帳戶密碼複雜度

以小編過去幾十年在職場工作的經驗來說,10個同事裡面有7到8個同事在登入郵件信箱使用的密碼都是簡單的純數字或純英文字母,由其組合都是4到6個易記字元組合。這種狀況造就了每隔一段時間,就會有某某同事的電子郵件帳號被拿來盜寄郵件,後續的蝴蝶效應有兩個: 從公司寄出的郵件都被收件方退信、退信通知 (DSN) 塞滿所有帳戶的郵箱。要處理這類狀況需要好幾個小時,造成公司每天開門做生意的權益受損。
強烈建議,說服老闆,強制每個人的密碼使用郵件伺服器內建的密碼產生器,產生出來的密碼至少8到12個字元,混合英文大小寫、數字、符號。例如EVO Mail Server上面就有密碼產生器:

登入郵件帳戶失敗次數的上限

一般垃圾郵件源除了到處挖可以用的IP來濫發垃圾郵件之外,也會到處去登入互聯網上面大大小小郵件伺服器,碰碰運氣看看是否可以登入,如果成功了,則可以把這個郵件伺服器當做跳板隨意的到處發垃圾郵件直到被發現。有些郵件伺服器比較簡單,隨便這類垃圾郵件軟體登入幾次也沒有關係,直到登入帳號密碼矇對了。比較有概念的郵件伺服器軟體則會建立一個機制: 若是連線方在一段時間裡密登入失敗幾次,郵件伺服器將該連線IP直接丟到拒絕連線的黑名單裡面。
有一種特例是如果郵件伺服器本身被感染了,會從自身IP做登入錯誤超過預設次數,郵件伺服器若將自身IP方入黑名單的話,會造成完全無法收發。此時,要先清理郵件伺服器上面的受感染狀況,然後把郵件伺服器自身IP從黑名單中移出。

用戶端憑證登入機制

用戶端憑證聽起來蠻抽象的。我們提一個簡單的例子: 銀行提款卡、登入網銀需要的USB大拇哥、還有大型企業主管登入系統時常常拿出來查看跳出亂數的卡或打火機大小的亂數產生器機私等等。在郵件方面,目前支援用戶端憑證登入的郵件伺服器並不多,例如: EVO Mail Server
通常這防止郵件帳戶被駭的安全度是最高的方式必須同時通過密碼以及用戶端憑證的認證。不過話說回來,小編是比較建議複雜的密碼或用戶端憑證皆可,這樣子認證相容度比較高。同時,支援的郵件客戶端軟體也是ㄧ個考量,目前支援的軟體其實不多,就是Mac OS X的Apple Mail、Opera、Thunderbird等等。

防毒軟體掃描郵件病毒機制

郵件伺服器的防毒跟一般系統防毒不太一樣。怎麼說呢? 一般掃毒軟體會鎖定郵件檔案然後去掃描、鎖定透過郵件專用連接埠進出的資料去掃描、鎖定郵件伺服器程式本身去掃描。但是在郵件伺服器上面,如果鎖住檔案的話,會造成郵件發送卡住無法動彈。同時,防毒軟體會發出一些有病毒的通知,或是郵件客戶端軟體會在寄信的時候出現錯誤。
因此,建議的方式是類似EVO Mail Server的方式,單純使用DOS命令列視窗下指令 (ecls.exe)去掃描進出的郵件本身即可。在防毒軟體的設定上,將郵件伺服器軟體所在的資料夾加入掃描例外清單、關閉對任何郵件相關連接埠 (IMAP、POP3、SMTP) 的即時偵測。其它的防毒掃描仍然可以在系統後端執行。

郵件伺服器灰名單機制

灰名單機制是防止垃圾郵件軟體發出郵件以後就不管是否有寄到,因為垃圾郵件通常是盲寄,不管結果的。我們發出一封郵件到對方的時候,對方的郵件伺服器會先退信,並告知有灰名單機制的存在,需要我們在幾分鐘之內再寄一次才會收。如果是垃圾郵件軟體的盲寄,就不會再寄一次。EVO Mail Server也提供灰名單功能。
這機制有好有壞。例如: Apple發出產品發表會的邀請給公司員工,這類的發表會通知都只會寄一次,不會配合灰名單機制再發送一次。這時候,可能公司員工就會漏收通知。一般這類灰名單都不會啟動。但是,要讓公司員工知道有這類的機制存在,如果有退信,不要緊張,看看是不是灰名單機制。如果是,要記得把郵件再寄一次。

與郵件伺服器連線的連線黑名單

承上面"登入郵件帳戶失敗次數的上限"的說明,除了猜密碼失敗的IP會被放入黑名單之外,基於資安理由,我們也可以手動加入特定IP,防止離職員工或是商業間諜嘗試做連線。
當然啦,必須要知道對方的IP或IP區段才可以做這類動作。這裡提供一個撇步。對於已經確定為永遠的黑名單IP位址,我們可以直接將這些IP放入Windows防火牆或是公司網路的硬體防火牆的黑名單。這個動作可以免除不必要的郵件伺服器連線。如果此類連線一下子幾百幾千的進來,就算是一種攻擊了。如果把它們屏除在防火牆外面,可以防止郵件伺服器因為應付這類攻擊造成的癱瘓。

非營利的國際黑名單組織

這類的國際黑名單組織通常會定期把專發垃圾郵件的IP收集起來形成一個清單。大型的郵件服務商都會參考這個黑名單。有名的黑名單組織有spamhaus.org或是dnsbl.info。另外,這些黑名單也都是有互通的。把其他更小黑名單組織的名單整合起來。如果自家的郵件伺服器因為濫發垃圾郵件被某個郵件服務商報給黑名單組織,互聯網上面的大大小小郵件伺服器對你發的郵件就會拒收。這個問題就很大條了。同樣地,如果我們的郵件伺服器參考這些黑名單組織提供的清單,也會拒絕來自清單中IP的電子郵件。
當然啦,例如Spamhaus有它自己的反垃圾郵件機制來決定誰會被放入黑名單。如果同事發來一封退信,裡面的退信原因是黑名單的話,首先找出公司內部哪個帳號或是哪台電腦在濫發垃圾郵件,解決濫發問題之後,查出被列入哪個黑名單? 然後到該網站去做黑名單除名動作。除名動作以前都是幾分鐘就可以解決的,但是現在一些黑名單組織為了賺錢,會延長除名的時間,如果等不了,可以支付USD$10到$20左右做快速除名。如果可以等的話,就不用浪費了。不過,公司可能頂不住未來48小時甚至未來幾天內發信老是被退,所以就看著辦吧。

Senderbase的IP名譽紀錄

這個名譽紀錄 (Reputation) 跟黑名單不大一樣。這是Cisco建立的一個機制。很多反垃圾郵件機私都會採納的一個清單。它給的只是評價,對於過去一段時間內有沒有在濫發垃圾郵件? 還有依照有沒有濫發垃圾郵件給予郵件伺服器IP一個評價。一般就是Googd、Neutral、Poor等等。如果是Neutral以上,就還好,如果是Poort的話,如果沒有像EVO Mail Server幫你做名譽檢查的話:
需要自己到該網站去手動檢查。小編建議還是換一個IP比較快。因為這個機制是每隔一段時間會去觀察你的IP是否有變乖? 等待的時間是抓不準的。

DNS的SPF紀錄

Sender Policy Framework (SPF) 是一筆儲存在DNS服務中的SPF紀錄。在SPF紀錄中,記載該網域名用來負責收發郵件的郵件伺服器主機名稱或IP位址。這筆紀錄提供收信方郵件伺服器查詢並確認新收到的郵件是否真的來自該網域。如果不屬於該網域的時候,可能會將新進的郵件當做垃圾郵件處理,幾年以前SPF紀錄還沒有這麼流通的時候,如果郵件伺服器開啟SPF檢查,新進郵件被當做垃圾郵件處理的機率蠻高的。不過現在不用擔心,已經普遍被使用,甚至各大郵件服務也都已經植入此類檢查。

DNS的DKIM

DKIM (Domainkey Identified Mail) 是一筆儲存在DNS服務中的SPF或TXT紀錄。它的前身是Yahoo的Domainkey。後來CISCO跟Yahoo合作建置一個更完備的版本。DKIM在郵件上面加入郵件伺服器的專屬私鑰簽章,收信端的郵件伺服器可以將郵件內含的簽章與寄信端網域DNS紀錄中提供的DKIM公鑰做解碼配對。如果批配,表示此封郵件來源是沒有問題的。DKIM已經行之後年,但是並沒有太受重視。直到Gmail跟Outlook.com將DKIM放入反垃圾郵件的規範之後,又逐漸有人發現寄到Gmail跟Outlook.com的郵件都被丟倒垃圾郵件或是被退信了,才知道要在自家郵件伺服器裡面添加這個機制。

DMARC紀錄

DMARC (Domain-based Message Authentication Reporting and Comformance) 是ㄧ筆儲存在DNS服務中的TXT紀錄。DMARC讓寄件與收件郵件伺服器做垃圾郵件相關的交流。例如: 我們常期從自家郵件伺服器寄信到Gmail,但是可能有一部份是被盜寄的,又或者是ㄧ些垃圾郵件來源會把From直接塞包含我們網域名的電子郵件地址。建置這筆紀錄之後,Gmail可以每隔一段時間寄一封報表給我們的postmaster郵件帳號。這報表裡面會告訴我們有多少是垃圾郵件、又有多少是真的從我們的郵件伺服器寄過去的。同時,可以分析自家郵件伺服器是否有被拿來盜寄? 進一步可以做防護機制。

SSL/TLS加密連線降低郵件被欄截利用

大家在使用網頁瀏覽器的時候,都會看到網址最左手邊http的標頭。在這幾年來,陸續看到的都是https。這個s代表的就是SSL/TLS,加密的意思。意旨從瀏覽器與對方伺服器連線的時候,傳輸的資料是經過加密的。
同樣的,在郵件伺服器方面,打從很久以前開始也有類似SSL/TLS的加密架構。更確切的說,由於SSL在2015年開始盡管已經到了版本3.0,TLS v1.0以及後來的v1.2已經逐漸取代SSL成為新的工業標準。
透過加密管道傳輸資料也意味著一般互聯網上面的駭客不會這麼容易截取到郵件內容進而拿來做壞事或是把郵件裡面的郵件帳戶匯整到發送垃圾郵件的清單。同時,在非加密的傳輸中,郵件主旨也可能被拿來模仿正規郵件讓它人誤判打開讀取。

郵件各類標頭過濾機制

一封郵件從郵件用戶端軟體的介面看來,是很正常的文字、圖案、附件等等。實際上在其原始的.eml檔案中,看起來就像是html或php一般充滿語法的檔案。
語法中有各式各樣超過35種標頭 (header),這些標頭是可以拿來當做郵件過濾機制的過濾條件。比較的方式莫過於一般的比大、比小、包含、不包含、等於、不等於等等。。。
但是最有效率的還是Regular Expression (RE),也就是正規表示法。好用的地方在於可以把多種比較值匯整到一行裡面。
比較出來的結果可以運用到執行或不執行某個動作。
這些動作方便郵件管理員除了做反垃圾郵件的動作還有其他更進階的郵件管理動作。

關閉DSN信息發送

DSN (Delivery Status Notification) 這東西若是在正常的郵件伺服器運行中對郵件管理員來說是有幫助的。能夠幫助郵件管理員以及寄信者知道為何被退信。
可以在一種特定的狀況下,DSN反倒是有害的,會讓郵件伺服器崩潰。若是某個郵件帳戶被入侵並且拿來盜發大量垃圾郵件,可能從四面八方如海嘯一般的退信通知會把郵件伺服器淹沒。後續會發生的被列於各大黑名單、發郵件總是被對方退信等等後果我們稍早已經提過。因此,暫時關閉DSN可以減緩這類狀況,等到揪出所有被拿來盜寄郵件的帳號都解決以後,在予以開啟。