Download presentation
Presentation is loading. Please wait.
1
臺灣學術網路竹苗區域網路中心 89 年網際網路教育訓練及 推廣研習課程 電子郵件系統 (E-mail) 的 規劃與建置 交 通 大 學 計 算 機 與網路中 心 陳 昌 盛
2
課程概要 E-mail 系統管理入門簡介 E-mail Server 規劃與建置 -sendmail, pop3/imap E-mail 系統測試與偵錯 Anti-SPAM & Anti-virus mail 問題處理與追蹤 HCRC’2000 網路系統訓練課程 – Unix Mail Server 的規劃與建置
3
0.1 從何處取得 E-mail 系統的相關資訊 ? 關於 sendmail 的網站 –http://www.sendmail.org/ the O’Reilly DNS bible ‘sendmail’ Newsgroups: –comp.mail.sendmail, comp.mail.imap,comp.mail.pop3,… 關於 Qpopper 的網站 –http://eudora.qualcomm.com/freeware/qpop_faq.html 關於 IMAP 的網站 –http://www.imap.org
4
1. E-mail 系統管理 入門 E-mail: Electronic Mail 電子郵件 E-mail Server: –SMTP server, POP3/IMAP server SMTP - Simple Mail Transfer Protocol – 用於 server 之間, 電子郵件的交換 單純做 E-mail 的接收處理 –POP3 - Post Office Protocol version 3 –IMAP - Internet Mail Access Protocol Web-based Mail 系統 –WWW+SMTP+IMAP Anti-SPAM & Anti-virus Mail
5
SMTP server 瀏覽程式 SMTP-server 圖 1. 電子郵件接收系統運作圖 (2) 硬碟 POP3/IMAP server (1) (1b) (1c) MSIE, Netscape 網際網路
6
瀏覽程式 SMTP-server 圖 2 外送電子郵件系統運作示意圖 (1) (2) 電子郵件傳送 server MSIE, Netscape 等 SMTP server Internet 網際網路
7
web-mail 系統簡介 常見的 web-mail 系統 – 國外, Yahoo, Hotmail – 國內, Kimo, Yam, PcHome,… Web-mail 系統套裝軟體 –Unix 部分 IMP project, http://www.horde.org/imp –Microsoft 產品 Exchange+IIS+…
8
標準連絡用 e-mail addres postmaster@your-organization e.g. postmaster@nctu.edu.tw, abuse@nctu.edu.tw, hostmaster@nctu.edu.tw webadmin@nctu.edu.tw
9
SPAM Mail & DNS SPAM Mail UCE/UBE ( 不請自來 ) UCE = Unsolicited Commercial E-mail UBE = Unsolicited Bulk E-Mail UCE/UBE 散佈途徑 – 名單收錄 www homepage, USENET news articles account password files on individual servers 其他不當途徑 ( program bug, 招募會員活動, …) – 找尋管理較鬆散的 mail relay Domain Zone scanning ( DNS) URL scanning (web pages )
10
2. Mail server 規劃需求 Reliability Load sharing/balancing Scalability Mail Delivery Issues
11
2.1 E-mail 系統規劃原則 出入的 Mail 分流 E-mail, 收 / 送系統分開 – 增加系統彈性 – 提昇系統整體使用效能 兩段式, 的 e-mail 收送系統 – 使用 mail relay/forwarder 有效提昇頻寬利用 提昇系統的穩定度 (availability/reliability) 加強系統安全管理
12
Internet Local SMTP Server Mail 的接收 - 直接傳送模式 Fig.3 Direct Internet mail delivery incoming
13
Internet 區網中心 Mail 的接收 - 間接傳送模式 Fig.4 Indirect Internet Mail Delivery Mail Relay Local SMTP Server
14
Internet 區網中心 Mail 的接收 - 混成傳送模式 Fig.5 Hybrid Internet Mail Delivery Mail Relay
15
Internet Grade-90 Mail Server Mail 的接收 - 轉送模式 Fig.6 Mail aliasing/forwarding Grade-89 Mail Server Campus Mail Forwarding server Honda.cm90@nctu.edu.tw Acer.cis89@nctu.edu.tw
16
Internet Local SMTP Server Mail 的寄送 - 直接傳送模式 Fig.7 Direct Internet mail delivery outgoing
17
Internet 區網中心 Mail 的寄送 - 間接傳送模式 Fig.8 Indirect Internet Mail Delivery Mail Relay Local SMTP Server
18
2.2 出入的 Mail 分流 分開不同機器 –SMTP Server (outgoing) –POP3/IMAP Server ( incoming ) 同一機器, 但 incoming 與 outgoing 經由不同 process –/usr/lib/sendmail –bd # incoming jobs –/usr/lib/sendmail -q30m # outgoing jobs
19
2.3 Incoming Mail 系統的規劃 使用 Mail Relay –DNS 上 的相關配合設定 ; e-mail 最終目的地 ==> E-mail: cschen@cc.nctu.edu.tw cc.nctu.edu.tw.INMX 10 mgate.nctu.edu.tw. ; mail relay ==> 宜善加利用, 可作為 “ 備援與轉接 ” 之用 cc.nctu.edu.tw.INMX 20 m-relay.nctu.edu.tw. ;
20
2.4 Outgoing Mail 系統的規劃 使用 Mail Forwarder – 善用 smart-relay 與 mailertable 以 sendmail 8.10 為例, –Local mail 常見部分, 透過 mailertable 指定傳送 – 其他, 則轉往 smart relay 後續處理
21
2.4.1Mailertable 的設定範例 Sendmail 8.10.x 的 /etc/mail/mailertable cc.nctu.edu.twsmtp:ccms.nctu.edu.tw csie.nctu.edu.twsmtp:smtp.csie.nctu.edu.tw cis.nctu.edu.twsmtp:mail.cis.nctu.edu.tw ; without MX RR lookup math.nctu.edu.tw smtp:[math.nctu.edu.tw]
22
2.4.2 Smart Relay 的設定 Sendmail 8.10.x 的 /etc/mail/sendmail.cf # 將 mail 轉交給底下的 forwarder 處理 # 當 m-fwd 這個系統蓮步上時, 會改連向 m-relay DS m-fwd.nctu.edu.tw:m-relay.nctu.edu.tw
23
2.5 Mail Delivery Normal Spool Directory /var/spool/mail/chen … /var/spool/mail/hsiao Hash Spool Directory /var/spool/mail/c/chen … /var/spool/mail/h/hsiao
24
2.5 Mail Delivery ( 續 ) Local Delivery Agent – mail.local – procmail Hash Delivery Programs – procmail (delivery agent) – qpopper ( daemon; extracting)
25
2.6 特殊處理 轉送信件 (Mail forwarding) – 系統端 Aliasing/forwaring Honda.cis89@nctu.edu.tw cisco.cm90@nctu.edu.tw – 用戶端 ($home/.forward) 特殊退信 – 故意不接收退信
26
2.6 特殊處理 ( 續 ) 故意不接受回信的實例 –morris@admail.acer.netmorris@admail.acer.net Sendmail 的處理範例 –/etc/mail/mailertable admail.acer.netlocal: null-user –/etc/mail/aliases # null-user:/dev/null
27
3. E-mail 系統的規劃與建置 SMTP server – 幾乎個 Unix 系統都 有內建 – 最新正式版本 Sendmail 8.10.1 常見 pop3/IMAP server –qpopper 2.53 ( 通常必須另行安裝 ) –Imap 4.7, ( 通常必須另外安裝 )
28
3.1 Sendmail 8.10.x 的安裝 (1) 取得原始程式 –http://www.sendmail.orghttp://www.sendmail.org –ftp://ftp.sendmail.orgftp://ftp.sendmail.org 解開壓縮檔, 並還原程式原始檔 –gzip –d sendmail.10.1.tar.gz –tar xvf sendmail.10.1.tar 製作及編輯 ‘ 自訂組態檔 ’ –cd $src/sendmail-8.10.1/devtools/Site –vi site.config.m4 ( 也可以不設 )
29
Sendmail 8.10.x 的安裝 (2) 開始編譯 –cd $src; –sh./Build –c 安裝 –cd $src; –sh./Build install
30
Sendmail 8.10.x 設定檔的製作 製作設定控制檔 ( 參見後列範例 ) –cd $src/cf/cf; cp generic-MyOS.mc MySite.mc –vi MySite.mc 製作主要設定檔 ( 參見後列範例 ) –cd $src/cf/domain; cp generic.m4 MyDomain.m4 –vi MyDomain.m4 產生設定控制檔 –cd $src/cf/cf; m4../m4/cf.m4 MySite.mc > MySite.cf –cp MySite.cf /etc/mail/sendmail.cf
31
MySite.mc 控制設定檔範例 $src/cf/cf/cc.Nctu.edu.tw.mc 設定檔 divert(0)dnl VERSIONID(`$Id: nctucc-solaris2.mc,v 8.11 1999/02/07 07:26:03 gshapiro Exp $') OSTYPE(solaris2)dnl DOMAIN(cc.NCTU.edu.tw)dnl MAILER(local)dnl MAILER(smtp)dnl MAILER(procmail)dnl
32
MyDomain.m4 (1) divert(0) VERSIONID(`$Id: cc.NCTU.edu.tw.m4,v 8.15 1999/04/04 00:51:09 ca Exp $') define(`confMAILER_NAME',`NCTUCC6-Mailer-Daemon')dnl define(`confDOMAIN_NAME',`cc.Nctu.edu.tw')dnl define(`SMART_HOST', `M-Fwd.NCTU.edu.tw:M-relay.NCTU.edu.tw')dnl define(`confMAX_MESSAGE_SIZE',`10000000')dnl define(`confFORWARD_PATH',`/home2/mailforward/$u')dnl define(`confMAX_MIME_HEADER_LENGTH', `256/128')dnl define(`confMAX_HEADERS_LENGTH', `32768')dnl define(`confPRIVACY_FLAGS',`noexpn novrfy')dnl define(`confMAX_HOP',`17')dnl
33
MyDomain.m4 (2) 續上頁 define(`confMCI_CACHE_SIZE',`3')dnl undefine(`confTO_IDENT')dnl define(`confTO_QUEUERETURN',`2d')dnl undefine(`confTO_QUEUEWARN')dnl define(`confMAX_DAEMON_CHILDREN',`20')dnl define(`confCONNECTION_RATE_THROTTLE',`2')dnl define(`confDEF_CHAR_SET',`iso-8859-1')dnl define(`confMAX_RCPTS_PER_MESSAGE',`20')dnl define(`confPROCMAIL_MAILER_MAX',`10000000')dnl
34
MyDomain.m4 (3) 續上頁 FEATURE(redirect)dnl FEATURE(`local_procmail',`/usr/bin/procmail')dnl FEATURE(use_cw_file)dnl FEATURE(`mailertable', `hash /etc/mail/mailertable')dnl FEATURE(accept_unqualified_senders)dnl FEATURE(access_db, hash /etc/mail/access)dnl FEATURE(`blacklist_recipients')dnl FEATURE(masquerade_envelope)dnl FEATURE(dnsbl)dnl MASQUERADE_AS(cc.NCTU.edu.tw)dnl EXPOSED_USER(`root')dnl
35
Sendmail 8.10.x 的設定 /etc/mail 子目錄 –/etc/sendmail.cf 的設定 (text file) 關於 anti-relaying 的設定 –/etc/mail/relay-domains (text file) –/etc/mail/access (database)
36
/etc/mail/access 的設定 Sendmail Anti-SPAM 設定 (ccserv6.cc.nctu.edu.tw 上的設定範例 ) cc.nctu.edu.tw relay # UCE/UBE ms.new.net.tw REJECT ts30.hinet.net DISCARD dialup.seed.net.tw DISCARD cqsam@saturn.seed.net.tw DISCARD 使用指令 makemap hash access < /etc/mail/access
37
3.2 POP3 server 的安裝 取得 qpopper 3.0-betaX 的程式 解壓縮, 再展開還原 –gzip -d qpopper3*tar.gz –tar xvf qpopper3*.tar 編譯及安裝 ( 或直接取得執行檔 ) –cd $src –./configure –make –make install
38
POP3 server 的安裝 ( 續 ) 自訂的 mkconfig script #! /bin/sh # remober to remove the "-O2" flag on the script 'configure' # Or, the AFS library will malfunction./configure --enable-debugging --enable-servermode --enable-specialauth 安裝完成後, 必須修改的系統設定 – 編輯 /etc/services pop3 110/tcp # Post Office – 編輯 /etc/inetd.conf pop3 stream tcp nowait root /usr/local/lib/qpopper qpopper -s
39
3.3 IMAP 與 POP3 簡單比較 POP3 – 僅支援離線 (off-line) 閱讀 所有 e-mail 完全下載 – 較為普及 ( 因發展較早, 系統叫簡單 ) – 系統安全性較差 ( 取信密碼是明碼 ) IMAP – 可涵蓋 POP3 所有離線功能 – 系統普及度較差 ( 因發展較晚, 系統較複雜 ) – 系統安全性較佳 ( 支援多種密碼 ) DES, MD5, Kerborose
40
IMAP 與 POP3 簡單比較 ( 續 ) IMAP ( 續 ) – 可支援在線 (on-line) 閱讀 標題與本文, 兩段式閱讀 網路信件夾的觀念 ( 在不同系統間搬動 ) – 可同時支援多個不同的 server 帳號 支援網路漫遊 (roaming) 取信服務 Web-mail 基本上, 主要以 IMAP 類似的系統為主
41
4. E -mail 系統測試與偵錯 系統記錄檔 – 參考 /etc/syslog.conf 的設定 SMTP server 的測試 – 以 sendmail 8.10.1 為例 POP3 server 的測試 – 以 安裝 qpopper 3.0bXX 為例
42
SMTP server 的簡易測試 % telnet ns1.nctu.edu.tw 25 Trying... Connected to ns1.nctu.edu.tw. Escape character is '^]'. 220 ns1.nctu.edu.tw ESMTP Sendmail 8.10.0/8.10.0; Sun, 4 Jun 2000 10:38:33 +0800 (CST) Quit 221 Nctu.EDU.TW closing connection Connection closed by foreign host.
43
SMTP server 的簡易測試 (2) SMTP server 並沒有跑起來 % ping ccserv.cc.nctu.edu.tw ccserv.cc.nctu.edu.tw is alive % telnet ccserv.cc.nctu.edu.tw smtp Trying 140.113.4.1... telnet: Unable to connect to remote host: Connection refused %
44
Pop3 server 的簡易測試 % telnet ns1.nctu.edu.tw 110 Trying... Connected to ns1.nctu.edu.tw. Escape character is '^]'. +OK POP3 ns1 v7.59 server ready quit +OK Sayonara Connection closed by foreign host.
45
Pop3 server 的簡易測試 (2) POP3 server 沒有跑起來 % ping ccserv.cc.nctu.edu.tw ccserv.cc.nctu.edu.tw is alive % telnet ccserv.cc.nctu.edu.tw pop3 Trying 140.113.4.1... telnet: Unable to connect to remote host: Connection refused %
46
Sendmail 的系統記錄檔 Jul 20 19:30:24 ccserv6 sendmail[1591]: tcpwrappers (unknown, 210.209.58.9) rejection Jul 20 19:30:24 ccserv6 sendmail[1591]: NOQUEUE: Null connection from [210.209.58.9] Jul 20 19:30:31 ccserv6 sendmail[1624]: TAA01624: from=, size=6553, class=0, pri=36553, nrcpts=1, msgid=, proto=ESMTP, relay=root@dns2.ce.ntu.edu.tw [140.112.13.211] Jul 20 19:30:35 ccserv6 sendmail[1628]: TAA01628: from=, size=1272, class=0, pri=31272, nrcpts=1, msgid=, bodytype=8BITMIME, proto=ESMTP, relay=pcyu@alab05.ee.nctu.edu.tw [140.113.218.5] Jul 20 19:30:36 ccserv6 sendmail[1629]: TAA01628: to=, delay=00:00:01, xdelay=00:00:01, mailer=local, stat=Sent Jul 20 19:30:37 ccserv6 sendmail[1625]: TAA01624: to=, delay=00:00:06, xdelay=00:00:05, mailer=local, stat=Sent #
47
POP3 server 系統記錄檔 Jul 20 19:31:29 ccserv4 popper[6306]: Stats: inet 0 0 0 0 Jul 20 19:31:50 ccserv4 popper[6307]: Stats: u8612540 22 565900 0 0 Jul 20 19:31:51 ccserv4 popper[6308]: Stats: u8414801 0 0 3 9043 Jul 20 19:32:26 ccserv4 popper[6313]: Stats: wangcc 4 76748 0 0 Jul 20 19:32:35 ccserv4 popper[6314]: u8414801@a- 121.RAS.NCTU.edu.tw: -ERR POP EOF received Jul 20 19:32:35 ccserv4 popper[6314]: Stats: u8414801 0 0 3 9043 Jul 20 19:32:36 ccserv4 popper[6315]: (v2.53) Unable to get canonical name of client, err = 0 Jul 20 19:32:47 ccserv4 popper[6317]: Stats: u8724508 0 0 0 0
48
5. Anti-SPAM & Anti-virus Mail SPAM Mail 防治 Mail Server 端, 進行掃毒 –Cf. 用戶端掃毒 ( 安裝 anti-virus 軟體 ) Mail Server 進行 SPAM-mail 防治 –Cf. 用戶端, anti-spam mail ( 使用過濾程式 )
49
5.1 Anti SPAM Mail & DNS ACL SMTP server upgrade/patch – 限定 mail relaying 對象 DNS 設 ACL – 可相當程度阻擋不特定的 relay 嘗試 系統管理人員介入 – 聯絡相關系統的管理人員 –rbl 建立 (Real-time Block List )
50
5.2 Mail Server 端掃毒 Sendmail 與電腦病毒防治 – 配合 procmail, 掃描信件的 header 可局部對付 iloveyou 之類的 script 型態的 worm/virus procmail 是 delivery agent, 可適度進行 filtering 使用 queuing mode, 搭配掃毒軟體, 進行 病毒掃描偵測任務
51
用戶 PC Mail Server sendmail procmail Mail spool Internet POP3/IMAP server Netscape/MS-IE 用戶 Mail 存放區 掃毒軟體 Fig.3 Anti-SPAM & Anti-virus Mail 流程示意 ( 一 )
52
用戶 PC Mail Server sendmail 掃毒軟體 Mail spool Internet POP3/IMAP server Netscape/MS-IE 用戶 Mail 存放區 掃毒軟體 Mail 暫存區 Fig.4 Anti-SPAM & Anti-virus Mail 流程示意 ( 二 )
53
6. 問題處理與追蹤 Security 問題回報及反應 – 向相關單位報備及追蹤問題 – 向相關 CERT 報備及追蹤問題 各單位聯絡 e-mail address (Internet 慣例 ) –postmaster@your-domain-zone –abuse@your-organization,security@your-organization 例如, postmaster@nctu.edu.tw, abuse@seed.net.tw 案例剖析 (Case Study)
54
6.1 Case Study 前幾年有 BBS/Mail, 戲稱要暗殺美國總統柯林頓 – 未即時處理, 引起軒然大波. – 後來美國轉到外交單位轉回國內教育部處理 mbox@xyz.com.tw 轉到 德國某公司 – 本地公司設定錯誤 – 回報到該公司, 該國的 CERT, 以及 TWNIC 網路攻擊的中途站 (1999.08) –TANet 竹苗區網某校的 DNS server 被入侵 – 參考 http://dnsrd.nctu.edu.tw
55
6.2.1 DNS & Mail - 烏龍事件 前幾年, 有德國 X 公司反應, 持續不斷接收到, 許多應該是寄往台灣 Y 公司的 e-mail, 卻一直被轉往該公司. 因為收信的帳號不存在, 系 統於是一直產生, user 不在的退信, 持續往系統管理信箱塞, 信件越 累積越多, 導致 server performance 大受影響. 由於該公司並無台灣 分公司, 也找不出合理的解釋, 於是開始擔心有台灣的競爭對手, 想 癱瘓他們網路的正常運作, 接下來只好採取正式的防衛行動, 透過 正式的 CERT 向相關單位反應,... 成因 – 舊版 BIND/named 有 bug – 系統管理人員觀念不夠清楚 – 系統管理人員輸入資料時, IP address 打錯
56
6.2.1 DNS & Mail - 烏龍事件 ( 續 ) 示意範例 – 底下 IP address 與 domain name 都是隨意假定 – 這個 server 上的 BIND/named 有 bug $origin xyz.com.tw. Xyz.com.tw.INMX 10 mail.xyz.com.tw. Xyz.com.tw.INMX10mail.ABC.net.tw. ; 錯誤 Mail.xyz.com.tw.InA192.168.123.45 mail.ABC.net.tw.INA139.75.6.78 ; 設定錯誤 ;mail.ABC.net.tw.INA139.175.6.78 ; 台灣 ;mserver.ZYX.deINA139.75.6.78; 德國
57
6.2.2 竹苗區網 DNS server 入侵事件 某校在區網的網域, 登錄有兩個 DNS server – 不過, 從一開始, 就只有建立一個 server 該 server-A 有 security hole, 被外來者闖入 – 入侵者, 持續透過該 server-A, 嘗試入侵國外網站 – 網域上層, 持續收到國外不同地方轉來的抱怨與求 助 e-mail 電話通知該校管理者處理. – 後來轉維護廠家工程師. – 將近一週, 仍無改善. – 區網接手, 協助處理. 設 tcp_wrapper, 擋掉不明來源的連線.
58
6.3 相關系統管理 結論 – 各單位, 最好設立兩段式 Mail 組合系統 – 重要 server 勤作 security patch –DNS 設 ACL, 限制 zone transfer – 委外廠商維護能力, 意願與合約
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.