歡迎您光臨本站 註冊首頁

sendmail 認證,通過本地向外地發郵件需要認證。但本地向本地發卻不需要認證如何解決

最近我配置的sendmail服務時smtp的認證也配置成功,但出現如題所描述的問題,

通過本地向外地發郵件需要認證。但本地向本地發卻不需要認證

為什麼有人可以利用我的mail server發郵件給我或者本地用戶?

舉例來說我的Mail server 主機名稱 mta.domain.name ,而他上面的用戶名user@mta.domain.name!

這個MTA主機並沒有對外開放RELAY的功能,而且access文件也沒有設置任何RELAY,

但是我卻能收到someother@mta.domain.name從外地所發來的郵件,本地沒有someother這個用戶  怎麼解決這個問題 。謝謝各位大俠 ~!!!!
《解決方案》

您可能有諸多誤解..

1. 所謂 auth smtp 驗證, 是說允許通過驗證後可以請該 mail server 當 relay host 能夠再寄信到外面, 而寄信該 mail server 本機帳號不是 relay 的範圍, 所以不需要驗證這類. 若你強制指定只要 smtp 連入都要驗證的話, 那很抱歉 internet 沒有人可以寄信給你主機, 因為他們都無法驗證, 所以信件都無法連線寄入.

2. 你需要了解你看到的 someone 那只是 mail header 內容的 To: 項目, 這個基本上都是可以自行放入的... 實際收件者是於 smtp 溝通時使用 rcpt to:<e-mail> 命令指定, mail header 不一定等於實際收件者的 e-mail 項目. 在想看看 mailing list, 是不是也都是如此 ?

--

[ 本帖最後由 kenduest 於 2007-9-12 18:26 編輯 ]
《解決方案》

以前沒教過我啊。我也有過類似的疑問,琢磨了好久才無師自通的。

原帖由 kenduest 於 2007-9-12 18:23 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
您可能有諸多誤解..

1. 所謂 auth smtp 驗證, 是說允許通過驗證後可以請該 mail server 當 relay host 能夠再寄信到外面, 而寄信該 mail server 本機帳號不是 relay 的範圍, 所以不需要驗證這類. 若你強制指 ...
《解決方案》

非常感謝kenduest給我的解答受益匪淺

非常感謝kenduest給我的解答受益匪淺,由於自己這方面知識懂得太少還在不斷的學習當中。

請問這種問題應該如何解決呢?
《解決方案》

原帖由 louis_liuzhen 於 2007-9-13 09:30 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
非常感謝kenduest給我的解答受益匪淺,由於自己這方面知識懂得太少還在不斷的學習當中。
請問這種問題應該如何解決呢?

這不是問題,這是正常的。

--
《解決方案》

謝謝 ~

那像這樣 ,主機里沒有這個用戶,他也可以通過本主機發送郵件。 難道沒有辦法解決這樣的問題嗎?
《解決方案》

原帖由 louis_liuzhen 於 2007-9-14 17:49 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
那像這樣 ,主機里沒有這個用戶,他也可以通過本主機發送郵件。 難道沒有辦法解決這樣的問題嗎?

你好像把兩個不同的東西放在一起談 ?

1. 你說的問題與 relay 完全無關,外面的 mail server 只是連線到你的主機寄信給你本機帳戶, 不是透過你的 mail server 再寄信到外面去。

2. 請想想你自己操作使用 mail client 寄信的操作畫面,收件者你可以填入實際的 e-mail 信箱,但是實際上你可以使用密件副本來傳送更多收件者,最後對方都會收到信件,但是收到的信件收件者欄位內容當然就不是自己,而是當初對方編寫信件時那邊填入的收件者 e-mail 帳號.。

建議你先去看一下基本 smtp protocol 溝通運作,這樣你的問題就會很明確。

--
《解決方案》

非常感謝!

原帖由 kenduest 於 2007-9-14 17:59 發表 http://linux.chinaunix.net/bbs/images/common/back.gif


你好像把兩個不同的東西放在一起談 ?

1. 你說的問題與 relay 完全無關,外面的 mail server 只是連線到你的主機寄信給你本機帳戶, 不是透過你的 mail server 再寄信到外面去。

2. 請想想你自己操作使 ...




可能 是我沒有描述清楚,     這樣說吧假如我的伺服器為mta.domain.name    smtp的地址smtp.mta.domain.name 現在我在外網(或者本地)通過客戶端outlook 來新建一個用戶,用戶名是隨便寫的一個abc(表示abc在我的伺服器不存在這個用戶),smtp的地址寫上smtp.mta.domain.name, pop3正確填寫。其他的隨便寫。 然後新建郵件發送給liu@mta.domain.name(註:liu這個用戶是存在的)這個郵件地址。 可以發送成功。  

這種情況正常嗎》?  怎樣才能讓不讓這種情況發生?
《解決方案》

原帖由 louis_liuzhen 於 2007-9-14 18:30 發表 可能 是我沒有描述清楚,     這樣說吧假如我的服務器為mta.domain.name    smtp的地址smtp.mta.domain.name 現在我在外網(或者本地)通過客戶端outlook 來新建一個用戶,用戶名是隨便寫的一個abc(表示abc在我的服務器不存在這個用戶),smtp的地址寫上smtp.mta.domain.name, pop3正確填寫。其他的隨便寫。 然後新建郵件發送給liu@mta.domain.name(註:liu這個用戶是存在的)這個郵件地址。 可以發送成功。  
這種情況正常嗎》?  怎樣才能讓不讓這種情況發生?

1. 看一下 smtp 溝通...


Sayya$ telnet info.sayya.org 25
Trying 59.126.46.100...
Connected to info.sayya.org (59.126.46.100).
Escape character is '^]'.
220 info.sayya.org ESMTP Postfix (Mandrake Linux)
mail from:<service@abc.com>
250 2.1.0 Ok
rcpt to:<kendlee@info.sayya.org>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From: service<aaa@bbb.ccc.ddd>
To: root<root@info.sayya.org>
Subject: test

this is a test
.
250 2.0.0 Ok: queued as DE7F01209804
quit
221 2.0.0 Bye
Connection closed by foreign host.


注意到 rcpt to 是指定實際收件者 e-mail 帳號, 而收到該信件的人看到的收件者 e-mail 會是To: 裡面的帳號...

2. 若你的意思只是說若你 mail 主機名稱是 mail.abc.com, 該主機並沒有 peter 這個帳號, 然後要避免有人號稱 sender 是 peter@mail.abc.com 的話, 這類阻擋其實沒太多功能, 不過 postfix 有內建這類功能.


smtpd_recipient_restrictions =
..
        reject_unlisted_sender
..


--
《解決方案》

SMTP協議

SMTP協議就接收所有發送給本地(域)用戶的郵件,無論這些郵件的發送者的身份如何。
你仔細想想郵局郵遞過程就能理解,郵局給你家送信是從不管這信從哪裡來的。

[火星人 ] sendmail 認證,通過本地向外地發郵件需要認證。但本地向本地發卻不需要認證如何解決已經有983次圍觀

http://coctec.com/docs/service/show-post-35715.html