前言
在 Linux 的 Mail Server 中,大多都是使用 Sendmail or Postfix 為主的 MTA Server,但隨著 Sendmail 功能越來越多,也造成了程式肥大且資安漏洞的問題,大多的設定較不易了解。而 Postfix 是目前最簡單設定,且資安防護比Sendmail 好很多,在 CentOS6.x 已從預設的 Sendmail 改為 Postfix。
架構與觀念
Mail Server的整個流程及概念是由幾個專有名詞而組成的
MUA (Mail User Agent):擔任 Client 端 Active 的角色,例如 Microsoft Outlook / Thunderbird 等主動發出收信及寄信的軟體。
MTA (Mail Transfer Agent):協助MUA ( Client ) 將信件寄出和接收信件訊息,例如 Sendmail、Postfix 等 Mail Server。
MDA (Mail Delivery Agent):在 MUA 收到信件後,由 MDA 決定信件該去哪裡,簡單來說就是一個過濾的功能,常見的有 procmail、Mailscanner + Spamassassion、maildrop、dovecot 這些都可以提供 MDA 的實現。
Mailbox / Maildir:就是電子郵件放置的位置。
Mailbox 是早期所使用的儲存格式,將所有電子郵件由一個檔案組成,但在效能、擴充等等能力皆受到考驗,已漸漸由 Maildir 替代。
Maildir 儲存方式為每一封郵件為一個檔案,多數功能都比 Mailbox 優,但對於超大型的 Maildir 搜尋效能將受到考驗,且有早期的 Web Mail 不支援 Maildir ( Openwebmail 2.01 before )
環境 & 目的
需要可收發的 Mail Server,並且需要 Webmail 可使用
OS & Service : CentOS 6.5 64bit、SMTP、POP3、IMAP、HTTP
Package :
postfix-2.6.6-6.el6_5.x86_64
cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64
dovecot-2.0.9-7.el6.x86_64
openwebmail-data-2.53-3.i386
openwebmail-2.53-3.i386
設定 Postfix & sasl 驗證
SETP.1 安裝套件
shell# yum install postfix cyrus-sasl-md5 cyrus-sasl-plain cyrus-sasl
SETP.2 設定 postfix , main.cf
shell# vim /etc/postfix/main.cf
myhostname = shazi.twbbs.org \\ HostName
mydomain = shazi.twbbs.org \\ Mail domain , example: eric@shazi.twbbs.org
inet_interfaces = all \\ 允許 all 都可以透過 mail server 轉送郵件。
inet_protocols = ipv4 \\ 只接受使用 ipv4 協定
mydestination = $myhostname, localhost.$mydomain, localhost, mydomain \\ 能夠收信的主機名稱,如果 MX 標誌務必加入此行。
# 以下為sasl auth setting
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
SETP.3 啟動服務
shell# chkconfig saslauthd on && service saslsuthd restart
shell# chkconfig postfix on && service postfix restart
SETP.4 用 telnet 工具檢測
>> telnet shazi.twbbs.org 25
>> ehlo localhost
出現 AUTH PLAIN LOGIN (AUTH=PLAIN LOGIN ) 即設定完成
Orignal From: CentOS6.5 安裝Mail Server (一) Postfix & 架構
沒有留言:
張貼留言