ESMTP身份验证的机制.docx_第1页
ESMTP身份验证的机制.docx_第2页
ESMTP身份验证的机制.docx_第3页
ESMTP身份验证的机制.docx_第4页
ESMTP身份验证的机制.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ESMTP身份验证的机制有很多种,最常见的是LOGIN机制,类似于POP3的身份验证方式,即分两步输入账号和密码。在所有的验证机制中,信息全部采用Base64编码。例如,用邮件服务器发送邮件,从开始连接到身份验证的过程如下(红色和蓝色分别代表客户端和服务器):(连接到:25)220sp1ESMTPv2.1EHLOABCDEFG250-250-PIPELINING250-SIZE20480000250-ETRN250-AUTHLOGINPLAINDIGEST-MD5CRAM-MD5(支持的身份验证机制种类:LOGIN,PLAIN等)2508BITMIMEAUTHLOGIN334VXNlcm5hbWU6(Base64解码后:Username:)Ymh3YW5n(Base64编码前:bhwang)334UGFzc3dvcmQ6(Base64解码后:Password:)bXlwYXNzd29yZCFteXBhc3N3b3JkISE=(Base64编码前:*)235Authenticationsuccessful另外一种较常见的机制是PLAIN。与LOGIN机制的不同之处在于一次性输入账号和密码,格式为“账号密码”,其中为字节0。用PLAIN机制代替上面的身份验证过程:AUTHPLAIN334AGJod2FuZwBteXBhc3N3b3JkIW15cGFzc3dvcmQhIQ=(Base64编码前:bhwang*)235Authenticationsuccessful有的ESMTP服务器,例如采用CoreMail系统的,,,等,不回复334代码行,客户端在输入AUTHPLAIN后,直接输入符合格式要求的账号和密码即可。LOGIN和PLAIN机制没有对账号和密码进行加密,相当于明文传输,Base64编码只是一层纸而已。DIGEST-MD5,CRAM-MD5,GSSAPI,KERBEROS_V4等身份验证机制能够加密传输内容。SMTP(Simple Mail TransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,或者说是由它来控制信件传输的一种中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把Email寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转电子邮件。SMTP的开发最初是为了在封闭的网络中传送相对来说不太重要的简短邮件,而不是为了在互联网中传送重要而敏感的信息,因此最初通过SMTP传输邮件时,安全性不高。SMTP协议常用命令集1.SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码3.SMTP在TCP协议25号端口监听连接请求4.连接和发送过程:a.建立TCP连接b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令服务器端正希望以OK作为响应,表明准备接收c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行服务器端则表示是否愿意为收件人接受邮件d.协商结束,发送邮件,用命令DATA发送e.以.表示结束输入内容一起发送出去f.结束此次发送,用QUIT命令退出。5.另外两个命令:VRFY-用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息。EXPN-用于扩充邮件列表。6.邮件路由过程:SMTP服务器基于域名服务DNS中计划收件人的域名来路由电子邮件。SMTP服务器基于DNS中的MX记录来路由电子邮件,MX记录注册了域名和相关的SMTP中继主机,属于该域的电子邮件都应向该主机发送。若SMTP服务器收到一封信要发到:a.Sendmail请求DNS给出主机的CNAME记录,如有,假若CNAME到,则再次请求的CNAME记录,直到没有为止b.假定被CNAME到,然后sendmail请求域的DNS给出的MX记录shmailMX5c.Sendmail最后请求DNS给出的A记录,即IP地址,若返回值为d.Sendmail与连接,传送这封给的信到这台服务器的SMTP后台程序7.SMTP基本命令集:命令描述-HELO向服务器标识用户身份发送者能欺骗,说谎,但一般情况下服务器都能检测到。MAIL初始化邮件传输mailform :RCPT标识单个的邮件接收人;常在MAIL命令后面可有多个rcptto:DATA在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输结束。VRFY用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令EXPN验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用HELP查询服务器支持什么命令NOOP无操作,服务器应响应OKQUIT结束会话RSET重置会话,当前传输被取消-8.MAILform 命令中指定的地址是称作envelopeform地址,不需要和发送者自己的地址是一致的。RCPTTO与之等同,指明的接收者地址称为envelopeto地址,而与实际的to:行是什么无关。9.为什么没有RCPTCC和RCPTBCC:?所有的接收者协商都通过RCPTTO命令来实现,如果是BCC,则协商发送后在对方接收时被删掉信封接收者10.邮件被分为信封部分,信头部分和信体部分envelopeform ,envelopeto与messageform:,messageto:完全不相干。evnelope是由服务器主机间SMTP后台提供的,而messageform /to是由用户提供的。有无冒号也是区别。11.怎样由信封部分检查是否一封信是否是伪造的?a.received行的关联性。现在的SMTP邮件传输系统,在信封部分除了两端的内部主机处理的之个,考虑两个公司防火墙之间的部分,若两台防火墙机器分别为和,但接收者检查信封received:行时发现经过了C.则是伪造的。b.received:行中的主机和IP地址对是否对应如:Receibed:(.c.被人手动添加在最后面的received行:Received:(15)(8.8.5)Received:form (8.7.3)Received:form (8.6.4)POP3命令列表:一般telnet pop3Server110后就可以用这些命令了,大小写不敏感,不包括口令本身,注意不要让口令回显,等验证通过后再允许回显好了。user username 认可pass password 认可 执行成功则状态转换apop name,digest 认可 一种安全传输口令的办法,执行成功导致状态转换,请参见RFC 1321stat 处理 请求server回送邮箱统计资料,如邮件数、邮件总字节数uidl n 处理 server返回用于该指定邮件的唯一标识,如果没有指定,返回所有的list n 处理 server返回指定邮件的大小等retr n 处理 server返回邮件的全部文本dele n 处理 server标记删除,quit命令执行时才真正删除rset 处理 撤消所有的dele命令top n,m 处理 返回n号邮件的前m行内容,m必须是自然数noop 处理 server返回一个肯定的响应quit client希望结束会话。如果server处于处理状态,则现在进入更新状态,删除那些标记成删除的邮件。如果server处于认可状态,则结束会话时server不进入更新状态关于apop命令如果client使用user命令,口令将是明文。使用apop命令时,client第一次与server连接时,server向client发送一个ascii码问候,该问候由一个字符串组成,它对于每个client的连接都是唯一的,client把它的纯文本口令附加到从server接收到的字符串之后,然后计算结果字符串的MD5摘要,client把username和MD5摘要作为apop命令的参数一起发送出去。telnet pop3Server 110user usernamepass *statlistretr 1retr 2.dele 1dele 2.quitSMTP 命令简介什么是 SMTPSMTP (Simple Mail Transfer Protocol) :电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。 SMTP 是请求/响应协议,命令和响应都是基于ASCII 文本,并以 CR 和 LF 符结束。响应包括一个表示返回状态的三位数字代码。SMTP 在 TCP 协议 25端口监听连接请求。什么是 ESMTPESMTP (Extended SMTP),顾名思义,扩展 SMTP 就是对标准 SMTP 协议进行的扩展。它与 SMTP服务的区别仅仅是,使用 SMTP 发信不需要验证用户帐户,而用 ESMTP发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与 SMTP 方式没有两样。SMTP 命令SMTP 命令包括:HELO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。EHLO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。MAIL FROM 命令中指定的地址是发件人地址RCPT TO 标识单个的邮件接收人;可有多个 RCPT TO;常在 MAIL 命令后面。DATA 在单个或多个 RCPT 命令后,表示所有的邮件接收人已标识,并初始化数据传输,以 CRLF.CRLF 结束VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用HELP 查询服务器支持什么命令NOOP 无操作,服务器应响应 OKRSET 重置会话,当前传输被取消QUIT 结束会话连接 Winmail Server 使用 SMTP 命令发送邮件例如:安装 Winmail 的邮件服务器IP是 (蓝色字体内容由客户端输入,红色字体内容是服务返回的)telnet 25- 使用 telnet 命令连接服务器 25端口Trying .- 正在连接服务器 25 端口Connected to .- 连接服务器 25 端口成功220 Winmail Mail Server ESMTP ready- 显示服务器的标识名称 (Winmail管理工具-高级设置-系统参数-基本参数中可更改)helo -向服务器标识用户身份,发信不要认证,跳过下面几步直接发送 mail from 命令250 Winmail Mail Serverehlo - ESMTP命令,发信需要认证。250-Winmail Mail Server250-PIPELINING250-AUTH=LOGIN PLAIN250-AUTH LOGIN PLAIN250-SIZE 20480000250 8BITMIMEauth login- 进行用户身份认证334 VXNlcm5hbWU6Y29zdGFAYW1heGl0Lm5ldA=- BASE64 加密后的用户名334 UGFzc3dvcmQ6MTk4MjIxNA=- BASE64 加密后的密码235 auth successfully- 身份认证成功(535 auth failure- 身份认证失败)发到本系统中域名下的账户可跳过身份认证。mail from:- mail from 地址 250 ok- 命令执行成功rcpt to:- 递送给地址 250 ok- 命令执行成功data-数据传输初始化354 go ahead- 开始传输数据From: To: Date: Mon, 25 Oct 2004 14:24:27 +0800Subject: test mailHi, test2This is a test mail, you dont reply it.-数据内容,包括BASE64加密后的邮件内容, 以 CRLF.CRLF 结束数据传输250 ok message accepted for delivery- 命令执行成功quit- 结束会话221 Winmail MailServerConnection closed by foreign host.- 断开连接SMTP示例:5.2.MailForwardingWhenAlicesendsamessagetoB.exampleaccount,theSMTPsessionfromherSUBMITservermightlooksomethinglikethis:S:220.exampleESMTPserverreadyC:EHLOS:250-.exampleS:250-DSNS:250-AUTHS:250-SUBMITTERS:250SIZEC:MAILFROM:SUBMITTER=S:250senderokC:RCPTTO:S:250recipientokC:DATAS:354okay,sendmessageC:(messagebodygoeshere)C:.S:250messageacceptedC:QUITS:221goodbyeT.exampleMTA.example.A,Aliceisnotresponsibleforthismostrecentretransmissionofthemessage.T.example,.example.Therefore,.exampleMTAdeterminesanewpurportedresponsibleaddressforthemessage,namely,.example,andsetstheSUBMITTERparameteraccordingly.TheforwardingMTAalsoinsertsaResent-FromheaderinthemessagebodytoensurethepurportedresponsibleaddressderivedfromtheRFC2822headersmatchestheSUBMITTERaddress.S:220.exampleESMTPserverreadyC:EHLO.exampleS:250-.exampleS:250-DSNS:250-AUTHS:250-SUBMITTERS:250SIZEC:MAILFROM:SUBMITTER=.exampleS:250senderokC:RCPTTO:S:250recipientokC:DATAS:354okay,sendmessageC:Resent-From:.exampleC:ReceivedBy:.C:(messagebodygoeshere)C:.S:250messageacceptedC:QUITS:221goodbye5.3.MobileUserAliceisattheairportanduseshermobilee-maildevicetosendamessagetoBob.T.example,butAaddressontheFromlineofallhermessagessothatrepliesgotoherofficemailbox.HereisanexampleoftheSMTPsessionbetweentheMTA.example.S:220.exampleESMTPserverreadyC:EHLO.exampleS:250-.exampleS:250-DSNS:250-AUTHS:250-SUBMITTERS:250SIZEC:MAILFROM:SUBMITTER=.exampleS:250senderokC:RCPTTO:S:250recipientokC:DATAS:354okay,sendmessageC:Sender:.exampleC:ReceivedBy:.C:(messagebodygoeshere)C:.S:250messageacceptedC:QUITS:221goodbyeN.exampleusestheSUBMITTER.exampleastheresponsiblesubmitterforthismessage.Further,thisMTAalsoinsertsaSenderheadertoensurethepurportedresponsibleaddressderivedfromtheRFC2822headersmatchestheSUBMITTERaddress.Likewise,conventionalISPsmayalsochoosetousetheSUBMITTERparametertodesignateastheresponsiblesubmittertheusersaddressontheISPsnetworkifthataddressisdifferentfromtheMAILFROMaddress.ThismaybeespeciallyusefulforISPsthathostmultipledomainsorotherwiseshareMTAsamongmultipledomains.W.exampleMTA,thatMTAwillreplacetheSUBMITTER.exampleasinSection5.2andadditsownResent-Fromheader.5.4.GuestE-MailServiceWhileonabusinesstrip,AliceusesthebroadbandaccessfacilitiesprovidedbytheExemplarHoteltoconnecttotheInternetandsende-mail.Thehotelroutesalloutbounde-mailthroughitsownSMTPserver,.example.TheSMTPsessionforAlicesmessagetoBobfromtheExemplarHotelwouldlooklikethis:S:220.exampleESMTPserverreadyC:EHLO.exampleS:250-.exampleS:250-DSNS:250-AUTHS:250-SUBMITTERS:250SIZEC:MAILFROM:SUBMITTER=.exampleS:250senderokC:RCPTTO:S:250recipientokC:DATAS:354okay,sendmessageC:Resent-From:.exampleC:ReceivedBy:.C:(messagebodygoeshere)C:.S:250messageacceptedC:QUITS:221goodbyeN.exampleusestheSUBMITTER.exampleastheresponsiblesubmitteraddressforthismessage.AgenericaccountisusedsinceAliceherselfdoesnothaveanaccountatthatdomain.Furthermore,thisclientalsoinsertsaResent-FromheadertoensurethepurportedresponsibleaddressderivedfromtheRFC2822headerswiththeSUBMITTERaddress.Asbefore,.exampleMTA,thatMTAwillreplacetheSUBMITTER.exampleasinSection5.2andadditsownResent-Fromheader.5.5.SUBMITTERUsedonaNon-DeliveryReportAlicesendsanincorrectlyaddressede-mailmessageandreceivesanon-deliveryreportfromaSUBMITTER-compliantserver.S:220ESMTPserverreadyC:EHLO.exampleS:250-S:250-DSNS:250-AUTHS:250-SUBMITTERS:250SIZEC:MAILFROM:SUBMITTER=.exampleS:250OKC:RCPTTO:S:250OKC:DATAS:354OK,sendmessageC:(messagebodygoeshere)C:.S:250messageacceptedC:QUITS:221

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论