免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4431 | 回复: 14
打印 上一主题 下一主题

[Mail] 请教,sendmail如何做到让本地用户发给本地用户也必须走smtp认证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-12 16:31 |只看该作者 |正序浏览
请教,sendmail如何做到让本地用户(本地用户发给本地用户)也必须走smtp认证

论坛徽章:
0
15 [报告]
发表于 2009-11-18 19:11 |只看该作者
老贴也顶一下,这个问题到现在还是存在。

很郁闷,最多做到客户端初次登陆时输入密码。  其他情况下,只要认证通过了一次,那么以后就可以伪造任何帐户在内部乱发邮件了。


很麻烦,那个B样,冒充老板发信出来也是很容易的

论坛徽章:
0
14 [报告]
发表于 2006-05-30 12:23 |只看该作者
To Abel,

mail header中的是cert, 那是要看mail header的。
收件人打开邮件一眼看到的发件人还是伪造的。除非sendmail本身检查。这和SSL(TLS)无关,因为是不同网络层次的问题。

如同SSL无法防止恶意邮件一个道理。SSL(CERT)就是建立了一个别人看不见的数据通路,至于通路上传什么东西,真的,假的,好的,坏的和SSL无关,也不是SSL可以控制的。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
13 [报告]
发表于 2006-05-30 12:16 |只看该作者
原帖由 思一克 于 2006-5-30 12:05 发表
To Abel,

这个问题不说了。你自己研究吧。研究好了就理解我说的意思了。虽然我不懂sendmail,但这个问题不是sendmail的问题。

A用A的CERT成功建立SSL连接后,MAIL FROM:<>地址就可以随便写了,如果SEN ...

我了解你的意思,當然 Mail From 可以隨便寫,但是 Cert 可是會出現在表頭(mail header),說明實際為誰 !
您的意思是 MTA 普遍存在的現象,當然 sendmail 也可以對 CN 值做 Mail From 的檢查,
但是那是要多做許多處理的,一般也不會這樣去做,用 Cert. 就是避免偽造,不然內寄驗什麼了
裏面裝成外的,外面裝成裏的,沒有 Cert. 都是假的

论坛徽章:
0
12 [报告]
发表于 2006-05-30 12:05 |只看该作者
To Abel,

这个问题不说了。你自己研究吧。研究好了就理解我说的意思了。虽然我不懂sendmail,但这个问题不是sendmail的问题。

A用A的CERT成功建立SSL连接后,MAIL FROM:<>地址就可以随便写了,如果SENDMAIL本身不检查的话。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
11 [报告]
发表于 2006-05-30 12:00 |只看该作者
在SMTP连接的意义上,TLS当然不是SSL。一但STARTTLS之后,连接变为SSL。所以TLS是对部分SMTP
连接的SSL,不是全部的。所以为许多MAIL CLIENT什么分SSL,TLS了。否则就不用分了。

SSL/TLS 我認為可以視為一體,什麼 ssl v2/v3 tls v1/v2 都是差不多的,細節我也不是分的很清楚,
至於 MUA 分什麼做 relay,那就都是 starttls (tls 是包含了 ssl 的)
至于可不可以防止2个用户(都有CERT)的地址改写(伪造),你自己实验。

我實驗是可以的,不知你實驗或認知又是如何呢 ? 我的 Cert. 就像 WPA , by user 來建,又有什麼問題呢,
在表頭就會顯現 CN 值(這個 SSL 憑證是簽發給誰),至於 Mail From/From 寫什麼都是不是一樣,
沒有 sign 過,來自內部的 ip 我就不收,反證不就是內部寄信一個要 STARTTLS + user's Cert.
這有什麼偽造問題 ? 會偽造就是有人拿到了 server 的 private.pem 或是有人把 Cert. file 借給
了別人,這都只是另一個層面的問題
A用A的CERT肯定可以建立连接(STARTTLS),之后对两端来讲,就是明码了,A 再 发MAIL FROM:<B>
当然可以了(这时和TLS无关了),只要MAIL系统没有防止,加TLS也防止不了。

我不認同你的說法,那 建立连接(STARTTLS)和沒有 stattls 有什麼差別,是 starttls 後的東西都
是加密的,就像 https 的 ssl/tls 一樣,兩端來看是明碼沒有錯,因為他們有共同的 key 及 protocol,
但是兩端以外來看就是加密的

论坛徽章:
0
10 [报告]
发表于 2006-05-30 11:48 |只看该作者
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也防止不了。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2006-05-30 11:35 |只看该作者
原帖由 思一克 于 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 那幾行

  1. [root@mydomain mail]# mail abelyang -v
  2. Subject: 3
  3. .
  4. Cc:
  5. Null message body; hope that's ok
  6. abelyang... Connecting to [0.0.0.0] via relay...
  7. 220 mydomain.net.tw ESMTP Sendmail 8.13.6/8.13.5; Tue, 30 May 2006 11:26:48 +0800
  8. >>> EHLO mydomain.net.tw
  9. 250-mydomain.net.tw Hello localhost [127.0.0.1], pleased to meet you
  10. 250-ENHANCEDSTATUSCODES
  11. 250-PIPELINING
  12. 250-8BITMIME
  13. 250-SIZE
  14. 250-DSN
  15. 250-ETRN
  16. 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
  17. 250-STARTTLS
  18. 250-DELIVERBY
  19. 250 HELP
  20. >>> STARTTLS
  21. 220 2.0.0 Ready to start TLS
  22. >>> EHLO mydomain.net.tw
  23. 250-mydomain.net.tw Hello localhost [127.0.0.1], pleased to meet you
  24. 250-ENHANCEDSTATUSCODES
  25. 250-PIPELINING
  26. 250-8BITMIME
  27. 250-SIZE
  28. 250-DSN
  29. 250-ETRN
  30. 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
  31. 250-DELIVERBY
  32. 250 HELP
  33. >>> MAIL From:<root@mydomain.net.tw> SIZE=25 AUTH=root@mydomain.net.tw
  34. 250 2.1.0 <root@mydomain.net.tw>... Sender ok
  35. >>> RCPT To:<abelyang@mydomain.net.tw>
  36. >>> DATA
  37. 250 2.1.5 <abelyang@mydomain.net.tw>... Recipient ok
  38. 354 Enter mail, end with "." on a line by itself
  39. >>> .
  40. 250 2.0.0 k4U3Qmxn017301 Message accepted for delivery
  41. abelyang... Sent (k4U3Qmxn017301 Message accepted for delivery)
  42. Closing connection to [0.0.0.0]
  43. >>> QUIT
  44. 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. 方式來做是絕對行得通的,
而且效果更好

论坛徽章:
0
8 [报告]
发表于 2006-05-30 11:11 |只看该作者
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 的憑證資訊 ...

论坛徽章:
0
7 [报告]
发表于 2006-05-30 11:07 |只看该作者
To Abel,

sendmail支持的STARTTLS。这不是真正的SSL(因为会话的一部分是明的传送)。也可能支持SSL收发--我不了解。

你可以实验,用STARTTLS CERT的发件人,在OUTLOOK中将自己的email 地址改了(不是验证帐户!),看可以发送否?
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP