歡迎您光臨本站 註冊首頁

請教,sendmail如何做到讓本地用戶發給本地用戶也必須走smtp認證

請教,sendmail如何做到讓本地用戶(本地用戶發給本地用戶)也必須走smtp認證
《解決方案》

請教,sendmail如何做到讓本地用戶發給本地用戶也必須走smtp認證

這應該是有問題的
對 sendmail 來說,這都不是 relay (不論本地或非本地用戶發向本地)
而只是單純的 smtp in 的動作而以
《解決方案》

請教,sendmail如何做到讓本地用戶(本地用戶發給本地用戶)也必須走smtp認證

請教,sendmail如何做到讓本地用戶(本地用戶發給本地用戶)也必須走smtp認證
《解決方案》

用 SSL 吧,肯定萬無一失,也不怕被偽造,傳送時更是加密
http://www.ofb.net/~jheiss/sendmail/tlsandrelay.shtml
《解決方案》

to Abel,

SSL根本不防止「偽造」問題。
《解決方案》

原帖由 思一克 於 2006-5-30 10:17 發表
to Abel,

SSL根本不防止「偽造」問題。
思兄了解 sendmail SSL ?
我可以給內部的人每個人 sign 一個 SSL Cert. (cn 值為每個人)
並且要求內部 IP 在寄送時只能使用 smtps (STATTLS) 做 relay
所以不管內部 user 寄到哪裏都會有這個 SSL 的憑證資訊
憑證(Cert) 不是只有加密功能,也含有認證功能(認這個人),我們家的
WLAN 走 WPA,所有的無線網路存取要 SSL Cert (必要求,不能沒有), Sendmail 也是要 SSL Cert
(不要求, User 自決),我們和一些重要單位信件的往來全走 STARTTLS 的,
而在我們 BS7799 的要求下,我們也確實是這麼做的,
憑證(Cert) 不是只有加密通道而以
《解決方案》

To Abel,

sendmail支持的STARTTLS。這不是真正的SSL(因為會話的一部分是明的傳送)。也可能支持SSL收發--我不了解。

你可以實驗,用STARTTLS CERT的發件人,在OUTLOOK中將自己的email 地址改了(不是驗證帳戶!),看可以發送否?
《解決方案》

To Abel,

」偽造「 就是2個都有CERT的人,A將自己的email地址改寫為B的。你按我上邊的帖子的實驗。


原帖由 abel 於 2006-5-30 10:37 發表

思兄了解 sendmail SSL ?
我可以給內部的人每個人 sign 一個 SSL Cert. (cn 值為每個人)
並且要求內部 IP 在寄送時只能使用 smtps (STATTLS) 做 relay
所以不管內部 user 寄到哪裏都會有這個 SSL 的憑證資訊 ...
《解決方案》

原帖由 思一克 於 2006-5-30 11:07 發表
To Abel,

sendmail支持的STARTTLS。這不是真正的SSL(因為會話的一部分是明的傳送)。也可能支持SSL收發--我不了解。

你可以實驗,用STARTTLS CERT的發件人,在OUTLOOK中將自己的email 地址改了(不是驗證帳 ...
sendmail 不是真正的 SSL ? 這就奇怪了, ssl 不只用在 http 而以, sendmail 的 stattls 可以是 sslv1 v2 tlsv1 ...等都可以設,至於會話階段, sendmail 的做法是送出 ehlo 後看到 stattls(Server to Server) 時,若本身也有支援 ssl 的話, sendmail 會 close 現在的 smtp 25, 改用 smtps 465
(也就是呼叫 openssl s_client -connect mail_server:465) , 這樣的動作就一個 ehlo 是明碼,其他都是加密
的,所以您的說法我是不贊同的,都不 ehlo 就認定對方有支援 starttls 那才會造成信件無法傳送,
以上是以 root 實際傳送信件的過程,重點是 stattls 那幾行

# mail abelyang -v
Subject: 3
.
Cc:
Null message body; hope that's ok
abelyang... Connecting to via relay...
220 mydomain.net.tw ESMTP Sendmail 8.13.6/8.13.5; Tue, 30 May 2006 11:26:48 +0800
>>> EHLO mydomain.net.tw
250-mydomain.net.tw Hello localhost , pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO mydomain.net.tw
250-mydomain.net.tw Hello localhost , pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
>>> MAIL From:<root@mydomain.net.tw> SIZE=25 AUTH=root@mydomain.net.tw
250 2.1.0 <root@mydomain.net.tw>... Sender ok
>>> RCPT To:<abelyang@mydomain.net.tw>
>>> DATA
250 2.1.5 <abelyang@mydomain.net.tw>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 k4U3Qmxn017301 Message accepted for delivery
abelyang... Sent (k4U3Qmxn017301 Message accepted for delivery)
Closing connection to
>>> QUIT
221 2.0.0 mydomain.net.tw closing connection


另一個問題,
若 user 地址改了,但是它的表頭還是會帶 CN 值的,除非別人盜用了他人的 SSL Cert.
也就是 user 信件若是使用了 SSL Cert. 的方式發送,其收信的表頭將會出現
(openssl pkcs12 -export -in server.pem -out abel_cert.pkcs12 -name "Abel Personal Certificate")
Abel Personal Certicate 這樣的字眼,所以,用 SSL Cert. 方式來做是絕對行得通的,
而且效果更好
《解決方案》

To Abel,

在SMTP連接的意義上,TLS當然不是SSL。一但STARTTLS之後,連接變為SSL。所以TLS是對部分SMTP連接的SSL,不是全部的。所以為許多MAIL CLIENT什麼分SSL,TLS了。否則就不用分了。

至於可不可以防止2個用戶(都有CERT)的地址改寫(偽造),你自己實驗。
A用A的CERT肯定可以建立連接(STARTTLS),之後對兩端來講,就是明碼了,A 再 發MAIL FROM:<B>
當然可以了(這時和TLS無關了),只要MAIL系統沒有防止,加TLS也防止不了。

[火星人 ] 請教,sendmail如何做到讓本地用戶發給本地用戶也必須走smtp認證已經有800次圍觀

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