[分享]Exim4.30 + SASL認證

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

[分享]Exim4.30 + SASL認證

文章James Wu » 週四 3月 18, 2004 7:53 pm

前言:雖然我自己熟悉的MTA是sendmail但是換來了Debian
確發現它的預設MTA是exim,本來想移掉再裝sendmail的
但想想Debian用exim一定有它的道理
(像RH系列用sendmail當預設,MDK系列用postfix當預設一樣)
可是發現exim的中文資料實在少之又少
所以分享了這篇請大家賜教

假設系統剛裝好設定完成
又可連上網路的狀態下

#apt-get remove --purge exim
#apt-get install exim4 qpopper at mailx
(因為把舊版的移除時at及mailx這二個也會被移除掉)
接下來就做些設定啦(這不難小弟不多寫了)
#apt-get install sasl2-bin
#/usr/sbin/saslauthd -a shadow
(我是把這行寫到/etc/init.d/rcS裡頭,我覺得這沒必要弄個
特定的script來執行)
#vi /etc/group
把Debian-exim加到sasl這個群組裡頭
#vi /etc/exim4/conf.d/auth/30_exim4-config_examples
把裡頭所有的認證註解起來
#vi /etc/exim4/conf.d/auth/00_exim4-config_header
plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$2}{$3}}{1}{0}}

login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${if saslauthd{{$1}{$2}}{1}{0}}
#/etc/init.d/exim4 restart
這樣就大功告成啦
第一次寫寫的不好請大家多包涵唷
若那裡不清楚麻煩告知小弟來補充
希望能早點在debian走出一片天^^
Desktop挑戰中~
James Wu
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週四 2月 05, 2004 6:02 pm

re:[分享]Exim4.30 + SASL認證

文章James Wu » 週四 3月 18, 2004 8:00 pm

http://groups.google.com.tw/groups?q=ex ... net&rnum=1

2.2. 為什麼要用Exim

Exim的作者是英國劍橋大學的Philip Hazel。他在早年使用了一套名為
Smail的MTA後,決心發展一套比Smail功能更多,但是和Smail一樣簡單,並且不會
耗用電腦系統太多資源的MTA程式。Exim因此誕生。Philip也是採用Open Source的
方式來發展Exim。從1995年釋出第一個版本,到2003年12月,最新的版本已經發展
到4.30版。

為什麼要使用Exim﹖最大的原因就是它很簡單。許多mail server的管理
人員應該和筆者有著類似的學習歷程吧!從Sendmail開始(事實上以前也沒有太多
的選擇),然後要不就是為了Sendmail那困難的LHS、RHS而頭痛不已;或者是覺得
Sendmail的安全紀錄讓人無法放心,甚至是覺得Sendmail的效能不能符合需要,於
是轉而使用Qmail、Postfix等,甚至其他OS上的方案。在筆者所使用過的幾個MTA
中,Exim真的是最簡單的一個。而且頭一次使用的時候,真的有一種驚豔的感覺!
Exim真正讓筆者可以把精神用在mail的問題上面,而不是為了MTA本身的問題而頭
痛不已。

Exim和Sendmail類似,採用monolithic的方式來設計,也就是單一執行程
式負擔了所有的功能。看到monolithic,是不是有一些人已經聯想到Exim的安全性
是否不佳呢﹖事實證明,Exim的安全紀錄是很不錯的。而且也正是因為monolithic
的設計,讓它可以很容易就做到一些特異功能。至於Exim的執行效率,Exim的作者
Philip Hazel自己在Exim 3.x版的Overview文件中提到,曾經有一天800,000封
e-mail的紀錄。另外,鼎鼎有名的Sourceforge(www.sourceforge.net)用的也是
Exim。怎麼看的出來呢?Sourceforge有一處網頁,專門用來解釋為什麼某些人的信
會讓Sourceforge退信:

(http://sourceforge.net/docman/display_doc.php?docid=6747&group_id=1)

這個說明裡面描述的正是Exim之中Callout/Callback(用來檔掉某些造假的垃圾郵
件)的功能。

至於Exim有什麼特別的地方呢﹖大部分的人可能會想,MTA的功能,不外
就是處理e-mail嘛!撇開一些想當然爾的功能不談,筆者在這裡舉幾個自己有使用
到,在其他MTA程式中比較不容易弄出來的功能好了:

o call back功能:我們自己的Exim mail server,在別的mail server用SMTP的
方式連線過來時,可以讓這部Exim執行call back(回撥)的功能,以確定對方
的發信人住址是否造假,再選擇是否要擋掉來信。

o 透過內建的設定,可以的搭配SpamAssassin這個垃圾郵件過濾程式,擋掉垃圾
郵件;或者透過一個exiscan的修補檔案,直接在進行SMTP的session時,就將垃
圾郵件擋掉。這意味著我們的mail server將不會向對方發出SMTP中的250 Ok的
訊息。這種做法,和將郵件收下來(並向對方郵件主機確認郵件已收)再判斷
是否為垃圾郵件是有很大的不同的。更進一步的,這個功能也可以搭配一些病
毒掃描程式,將信件掃描是否含有病毒,再進一步加以處理。

o 搭配其功能強大的sytstem-filter,可以將信件加以留底保存。不管是所有的
信,或者某些使用者的信件。此外,也可以選擇性的讓某些使用者只能收發內
部的e-mail有經驗的管理者可以發揮創意,搭配bash及cron等進一步的執行一
些script,將留底的e-mail加以處理。

此外,Exim還有許多讓Sendmail的使用者可以很容易轉換過來的設計。對
於virtual host和maildir等一信一檔的支援等也都是一應俱全。搭配imap/pop3
server讓一些諸如windows的clinet連線進來收發信件,或者是搭配其他的LDAP資
料庫、webmail程式也都毫無問題。Exim也早已支援IPv6,所以萬一有一天得改成
IPv6時,您不用再重頭學一套MTA程式。當然,這些功能有些是屬於比較進階性質
的。您必須對於e-mail的運作方式、Exim的設定都有一定程度的了解,再加上自己
的創意,就可以將Exim的功能發揮到淋漓盡致了。


這是我當初在找資料時看到的,也讓我決定要繼續和exim奮鬥^^
記得當初google了好久,官網的文件看了又看還是設定不出來
差點讓我想放棄了呢,在此分享小小的設定
可以讓想使用exim的朋友少走一點路
希望能早點在debian走出一片天^^
Desktop挑戰中~
James Wu
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週四 2月 05, 2004 6:02 pm

re:[分享]Exim4.30 + SASL認證

文章Tetralet » 週四 3月 18, 2004 11:42 pm

這篇很重要哦~

因為在 Sarge 裡,
預設使用的還是 exim...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:[分享]Exim4.30 + SASL認證

文章andrechen » 週一 11月 22, 2004 1:53 am

剛從 postfix 換到 exim4,我在 /etc/exim4/conf.d/auth/30_exim4-config_examples 看到以下參數:

plain_saslauthd:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$2}{$3}}{1}{0}}
server_set_id = $2

嘗試使用之後,結果 mozilla 可以正常發信,不過後來測試 outlook express 時卻又不行了,出現了 550 錯誤。

接著我到 google 搜尋,有看到跟 James Wu 兄類似的設定,提到第一段參數是針對 mozilla,第二段參數則是針對 outlook express,不知道是不是真的這樣?

最後,我改用 James Wu 兄的方法設定後,outlook express 終於可以正常發信,不過還是覺得奇怪,為什麼 exim4 裡的參數會有問題?而且與 James Wu 兄的參數也不太一樣?

另外,在 postfix 設定 sasl 時並不需要針對不同的收信軟體分開設定,exim4 需要這樣嗎?還請James Wu 兄與各位大大釋疑。
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

Re: re:[分享]Exim4.30 + SASL認證

文章James Wu » 週二 11月 23, 2004 4:37 pm

keithyang 寫::ooops: 小弟的用的是woody,
可是在woody裡面只有exim3和sasl,
沒有辦法照著上面的教學跑,

請問在woody底下exim3可以做到smtp auth嗎?

woody裡頭也可以安裝exim4唷
只需使用
#apt-get install exim4即可
exim3我印象中也可做到smtp auth但是並非採sasl方式
要使用pam來做,這是當初測試的結果啦
希望能早點在debian走出一片天^^
Desktop挑戰中~
James Wu
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週四 2月 05, 2004 6:02 pm

Re: re:[分享]Exim4.30 + SASL認證

文章James Wu » 週二 11月 23, 2004 4:50 pm

andrechen 寫:剛從 postfix 換到 exim4,我在 /etc/exim4/conf.d/auth/30_exim4-config_examples 看到以下參數:

plain_saslauthd:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$2}{$3}}{1}{0}}
server_set_id = $2

嘗試使用之後,結果 mozilla 可以正常發信,不過後來測試 outlook express 時卻又不行了,出現了 550 錯誤。

接著我到 google 搜尋,有看到跟 James Wu 兄類似的設定,提到第一段參數是針對 mozilla,第二段參數則是針對 outlook express,不知道是不是真的這樣?

最後,我改用 James Wu 兄的方法設定後,outlook express 終於可以正常發信,不過還是覺得奇怪,為什麼 exim4 裡的參數會有問題?而且與 James Wu 兄的參數也不太一樣?

另外,在 postfix 設定 sasl 時並不需要針對不同的收信軟體分開設定,exim4 需要這樣嗎?還請James Wu 兄與各位大大釋疑。

andrechen兄是在那裡看到這樣的文件呢?
我當初在研究這篇時把google翻爛了都還沒翻出結果>_<
因為當時的/etc/exim4/conf.d/auth/30_exim4-config_examples
裡頭並沒有和sasl相關的參數
這樣的設定是去官網看了好久的天書再加努力的嚐試才試出來滴
我當時試出來用那一種MUA都可以用說
所以沒發現您提到的問題@@

現在我還發現一件很呆的事情
要啟用SASL認證
只要修改
/etc/default/saslauthd這個檔案

START=yes
MECHANISMS="pam shadow"
加上以上二行就可以了
希望能早點在debian走出一片天^^
Desktop挑戰中~
James Wu
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週四 2月 05, 2004 6:02 pm

re:[分享]Exim4.30 + SASL認證

文章andrechen » 週二 11月 23, 2004 7:01 pm

謝謝你的解說,我大概知道了。你提到的文件我又到 google 搜尋,又有找到了,附上連結供你參考:

http://www.scramworks.net/code/exim/auth.html
http://www.hu.freebsd.org/hu/arch/2004/Feb/0391.html

sasl 認證部份,我在做 postfix 時已經做過,不過我實際測試不需要 shadow 參數,而且 shadow 方式比較不安全。所以我是只有用

START=yes
MECHANISMS="pam"

另外用 rcconf 或是 sysvconfig 設定,讓 saslauthd 可以一開機就啟動。
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

文章疑惑的人 » 週日 5月 15, 2005 12:17 am

#vi /etc/exim4/conf.d/auth/00_exim4-config_header
這樣的話 我這個是不是就不用改了


#vi /etc/exim4/conf.d/auth/30_exim4-config_examples
把裡頭所有的認證註解起來

這個也不用註解起來了???

只改以下兩行即可嗎???
/etc/default/saslauthd

START=yes
MECHANISMS="pam shadow"

還有另一個問題... >"<

有哪裡有中文詳細介紹 exim4 的呢???
我還是不了解 exim4.conf 要設定哪些項目
有哪位善心人士可以幫我解答一下???
還是認為我沒有慧根,不理我啊 :crying:
疑惑的人
 

文章路人甲 » 週二 5月 17, 2005 12:02 am

沒人可以幫幫 疑惑的人 嗎???

我是不會不然也想幫幫他... >"<

他怪可憐的... 都沒人回他... 多點熱心的人吧...

我為人人,人人為我
路人甲
 

文章新手 » 週六 6月 04, 2005 9:02 am

exim4 可以像 Qmail 那樣 使用自己的 使用者資料庫嗎??? 不要用到系統的使用者資料庫 passwd 謝謝!!
新手
 

文章訪客 » 週五 6月 17, 2005 10:49 am

:finger1:
訪客
 

文章路人甲乙丙 » 週五 6月 17, 2005 3:40 pm

http://www.xmn-berlin.de/~marte/exim/ex ... sasin.html
http://www.tty1.net/virtual_domains_en.html

看看吧說不一定有幫助~ 但是都是英文就是了...

我也是有看沒有董 >"<

難過...
路人甲乙丙
 


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客