iT邦幫忙

0

sendmail + sasl SMTP問題請教

yaojie 2011-07-17 19:23:2114432 瀏覽

各位好,最近在測試SENDMAIL + cyrus-sasl SMTP認證
一直無法在CLIENT端成功認證...找了網上相關資料設定方式都差不多,但試了很久還是不行
安裝環境
OS fedora 9
未架設DNS做解析,直接打IP
套件l:
sendmail-cf-8.14.2-4.fc9.i386
sendmail-8.14.2-4.fc9.i386
cyrus-sasl-lib-2.1.22-13.fc9.i386
cyrus-sasl-md5-2.1.22-13.fc9.i386
cyrus-sasl-2.1.22-13.fc9.i386
cyrus-sasl-plain-2.1.22-13.fc9.i386
dovecot.i386 1:1.0.13-6.fc9
設定內容
sendmail.mc
TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(confAUTH_MECHANISMS', EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl DAEMON\_OPTIONS(Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
修改以上其餘保留預設值
[root@mail mail]# m4 sendmail.mc > sendmail.cf

[root@mail mail]# vi /usr/lib/sasl2/Sendmail.conf
pwcheck_method:saslauthd 保預原內容

[root@mail mail]# vi /etc/sysconfig/saslauthd
MECH=pam 修改為MECH=shadow
[root@mail mail]# vi /etc/dovecot.conf
protocols = pop3
[root@mail mail]# /etc/init.d/saslauthd restart
[root@mail mail]# /etc/init.d/dovecot restart
[root@mail mail]# /etc/init.d/sendmail restart

測試
使用本機COM
[root@mail mail]# testsaslauthd -u yaojie -p yaojie
0: NO "authentication failed"
認證還是失敗 = =
log記錄
/var/log/message
Jul 18 02:53:35 mail saslauthd[3198]: do_auth : auth failure: [user=yaojie] [service=imap] [realm=] [mech=shadow] [reason=Unknown]

Client 郵件設定

使用OUTLOOK寄信測試,一直跳出要求輸入帳密....快瘋了 = =

/var/log/message
Jul 18 02:57:58 mail saslauthd[3201]: do_auth : auth failure: [user=yaojie] [service=smtp] [realm=] [mech=shadow] [reason=Unknown]
/var/log/maillog
Jul 18 02:57:58 mail sendmail[3313]: p6HIvw4A003313: [192.168.3.11] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

看了很多,大家作法都一樣,怎我一直都試不成功,希望有那位前輩可以指點指點一下..

看更多先前的討論...收起先前的討論...
ganymede iT邦好手 1 級 ‧ 2011-07-18 08:09:49 檢舉
那總有 maillog 可看錯誤訊息? 請把相關的 maillog 貼出來.
yaojie iT邦新手 5 級 ‧ 2011-07-19 00:12:59 檢舉
maillog在問題中有貼了...我所看到的只有那些...
或者還需要在那看相關log呢
ganymede iT邦好手 1 級 ‧ 2011-07-19 08:46:00 檢舉
OS 是 fedora 9? 那你 saslauthd 的編碼怎麼會是 MD5?
記得 Linux 的密碼編碼不是 MD5 啊.
yaojie iT邦新手 5 級 ‧ 2011-07-21 01:44:59 檢舉
Linux沒有MD5嗎?...應該是有的哦...
而且我參考網路上相關資料也都有此套件安裝,基本上它是安裝OS後就已安裝好的套件..
所以我想應該跟它沒有關係。
ganymede iT邦好手 1 級 ‧ 2011-07-27 08:19:27 檢舉
Linux 不是沒有 MD5, 基本上你的系統密碼編碼要 MD5 或 DES 都可以, 只是所有認證相關的編碼都要一致. 總不能你的密碼編碼是用 DES, 但你的認證程式卻用 MD5? 自然會出問題.
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
ganymede
iT邦好手 1 級 ‧ 2011-07-17 19:33:46
最佳解答

可參考:
http://www.ascc.sinica.edu.tw/nl/90/1713/02.txt
雖然是 FreeBSD 的, 但其中的觀念是一樣的.

4
wiseguy
iT邦超人 1 級 ‧ 2011-07-17 20:50:29
  1. sendmail.mc 一定要有這三行,你好像缺了第一行
    define(confAUTH\_OPTIONS', A')dnl
    TRUST_AUTH_MECH(CRAM-MD5 DIGEST-MD5 LOGIN PLAIN')dnl define(confAUTH_MECHANISMS',`CRAM-MD5 DIGEST-MD5 LOGIN PLAIN')dnl

  2. /etc/sysconfig/saslauthd 不必把 MECH=pam 修改為MECH=shadow

  3. 用telnet測試
    指令
    telnet localhost 25
    ehlo localhost
    應該會有類似下列字串跑出,注意是否有250-AUTH那一行,有則表示設定ok。
    250-local.sendmail.ORG Hello localhost [127.0.0.1], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-DSN
    250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
    250 HELP

yaojie iT邦新手 5 級 ‧ 2011-07-17 21:41:18 檢舉

你好 感謝你的回覆
define(confAUTH\_OPTIONS', A')dnl
這行預設是有啟用的...
MECH=pam 修改為MECH=shadow
不管是pam或是shadow都一樣無法成功
telnet 25
250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
這個訊息我也有出現,以上的條件都有 但還是無法成功...= =

yaojie iT邦新手 5 級 ‧ 2011-07-18 01:11:12 檢舉

感謝你回覆
其實我找了一陣子文章了,網路上相關的文章我大概找了
參考了很多相關的設定,就是無法成功.....= =

4
mwu4
iT邦新手 2 級 ‧ 2011-07-18 15:54:39

建議執行指令「 testsaslauthd -u USER -p PASS -s smtp 」能得到「 0: OK "Success." 」的結果後,再進行client端的設定。謝謝。

yaojie iT邦新手 5 級 ‧ 2011-07-19 00:07:15 檢舉

感謝你的回覆
當我使用 /etc/init.d/saslauthd start時 使用testsaslauthd 測試會無法成功
但使用 saslauthd -a shadow 時 使用 testsaslauthd時就OK..查看了一下 init.d/saslauthd裡的語法 也是指定使用 shadow..但結果就是不同..= =

4
towns
iT邦新手 4 級 ‧ 2011-07-18 18:19:23

不知道 Selinux是否有影響,可以先關閉試試

yaojie iT邦新手 5 級 ‧ 2011-07-19 00:07:51 檢舉

Selinux 我一開始就關了..

4
hollowaysxp
iT邦新手 4 級 ‧ 2011-07-18 23:46:17

雖然我很久沒用sendmail,但後來我比較喜歡用Postfix加上你用的認證方式。

yaojie iT邦新手 5 級 ‧ 2011-07-19 00:09:07 檢舉

因為客戶端 是SENDMAIL的 我要重新安裝一台 SENDMAIL將舊MAIL SERVER移轉過去.
才必須使用SENDMAIL..

我要發表回答

立即登入回答