smtp服务器的架设.ppt
第八章SMTP服务器的架设,本章要点,SMTP服务器概述安装SMTP服务器与基本管理工作SMTP虚拟服务器的安全设置SMTP虚拟服务器的运作流程邮件传递设置邮件的管理SMTP域的管理SMTP Relay的设置,故事背景,公司人事部王经理今天收集了所有员工的联系方式:张三 138XXXXXXX李四 137XXXXXXX王五 136XXXXXXX.王经理员工注册的邮箱很不统一,为以后的工作带来了不便。于是王经理找到麦兜,想让麦兜解决一下现状。麦兜和麦麦讨论了一下,决定自己搭建一个邮件服务器来解决问题。,任 务,构建邮件服务器,为局域网中的用户提供电子邮件。邮件要能发送到Internet上,同时Internet上的用户也能把邮件发到企业内部用户的邮箱。客户能通过IE和windows mail收发邮件。最好能够提供控制功能:邮箱大小为10M,邮件个数为500,单个邮件大小限制为2M。,拓扑图,Internet,邮件服务器,DNS服务器:域,邮件服务器,用户,用户,EMail基本知识,电子邮件,电子邮件,由两部分构成:即收件人的姓名和地址、信件的正文。信头包含下列几行内容:收件人(To),即收信人的E-mail地址;抄送(Cc),即抄送者的E-mail地址;主题(Subject),邮件的主题。E-mail的正文就是一些文字,另外,程序、图形及其他一些计算机二进制文件,也可以作为电子邮件的附带内容一起发送。,电子邮件系统有关协议,SMTP:简单邮件传输协议SMTP通常用于把电子邮件从客户机传输到服务器,以及从某一服务器传输到另一个服务器。默认使用TCP端口为25。配置了SMTP协议的电子邮件服务器称为SMTP服务器。,POP3,POP3:邮局协议第3版 用户从邮件服务器下载取回这些邮件 默认使用TCP端口110,IMAP4、MIME,IMAP4:网际消息访问协议第4版使用IMAP时,用户可以有选择地下载电子邮件,甚至只是下载部分邮件。有邮件到达时,服务器会主动把邮件发给用户MIME:多用途的网际邮件扩展MIME允许在邮件中传输二进制数据。声音、图象等附件,邮件协议,电子邮件收发过程一,电子邮件收发过程二,电子邮件系统,电子邮件系统由以下3个组件组成:电子邮件客户端。用于读取、撰写及管理电子邮件的软件。SMTP服务。将电子邮件从发件人路由到收件人的电子邮件传输系统。POP3服务。将电子邮件从邮件服务器下载到用户本地计算机上的电子邮件检索系统。,电子邮件的传递过程,当用户要发送电子邮件时,首先写一封邮件,然后使用SMTP协议把邮件发送到SMTP服务器上。SMTP服务器根据邮件收信人的地址,使用SMTP协议把邮件转发到收信人的POP3服务器上。收信人使用POP3协议从自己的邮件服务器上接收邮件。,电子邮件检索与传输流程,MTA和MUA,报文传输代理MTA相当于邮局,为用户发送和接收邮件。运行报文传输代理的主机就是邮件服务器,它不间断地运行,为用户接收、发送和保存邮件。邮局用户代理MUA是邮件系统的用户界面,它帮助用户阅读、编辑、管理邮件。当UA按用户的命令准备好要发送的邮件后,就交给MTA。,发件人在自己的邮件客户端称之为MUA【邮件用户代理】写邮件,完成后,按“发送”按钮;发件人邮件客户端根据发件人先前的配置(SMTP 服务器【发件人公司邮局服务器】域名或者IP地址,还有发件人用来向SMTP服务器表明身份的用户名和密码,建立到发件人公司邮局服务器25号端口的TCP连接;发件人邮件客户端向发件人公司邮局服务器发送命令 MAIL FROM:,告诉邮局服务器发件人的邮箱地址;发件人邮件客户端向发件人公司邮局服务器发送命令 RCPT TO:,告诉邮局服务器收件人的邮箱地址;发件人公司邮局服务器判断邮件客户端是否位于自己负责为其转发邮件的IP地址段内,或者客户端是否通过了SMTP身份验证,如果该客户端在自己负责的IP地址段内,或者通过SMTP身份验证,那么允许该客户端发送外部邮件,反之如果该客户端既不在自己负责的IP地址段内,又没有通过SMTP身份验证,那么发件人公司邮局服务器会认为该发件人邮件客户端是一台外部邮件服务器,试图通过它发送邮件,那么它会判断RCPT TO 命令的参数收件人邮箱是否是本地邮箱,如果是,则允许发送,如果是外部邮箱,则拒绝发送,并用判断的结果响应发件人邮件客户端;,a.发件人公司邮件服务器分析刚收到的邮件,取出其“收件人邮箱”部分(比如,),并分离出收件人邮箱的域名);b.发件人公司邮件服务器执行DNS查询,查询类别为MX,查找 这个域的 邮件服务器的IP地址,并分析获得的收件人公司邮件服务器列表,找出优先级最高的邮件服务器,试图与其建立TCP连接,如果优先级最高的邮件服务器有多个,那么就轮流使用。注意:数值越低,则该记录对应的邮件服务器的优先级就越高。c.如果收件人公司邮件服务器配置了根据发件邮件服务器的IP地址来过滤垃圾邮件,那么它会将发件人公司邮件服务器的IP地址跟自己的黑白名单进行匹配,如果发件人公司邮件服务器的IP在黑名单里面,那么它可能会拒绝发件人公司邮件服务器的连接;d.发件人邮件服务器告诉收件人邮件服务器收件人的邮箱地址;e.收件人公司邮局服务器判断该“收件人邮箱”地址(比如)是否属于自己负责投递的域的邮箱地址,如果不是自己负责的域,那么它会提示发件人公司邮件服务器。,通常情况下,邮件服务器称之为MTA(邮件发送代理),只负责为本地邮件用户向外发送邮件和接收外部发给本地邮件用户的邮件并将外来邮件投递到本地邮件用户的邮箱里面,并不包含让用户通过邮件客户端软件读取自己在邮件服务器上的邮箱里面的邮件的功能,即POP3或者IMAP服务。所以,在搭建邮件服务器的时候,我们需要另外安装POP3或者IMAP服务器,以方便用户通过邮件客户端方便地收发邮件;,SMTP服务器配置,Internet报文传输代理实现协议SMTP,SMTP十分简单,它只定义邮件如何从一个“邮局”传给另一个“邮局”,只规定MTA之间的命令和回答。,SMTP服务器的概述,SMTP服务器的主要工作是提供电子邮件发送与接收的服务。发件人可以利用邮件软件将邮件发送给SMTP服务器,再由它将邮件发送给目的SMTP服务器。SMTP服务器也负责接收其他SMTP服务器送来的邮件。,安装SMTP服务器与基本管理工作,安装步骤:开始-服务器管理器-功能-添加功能,如下图选择“SMTP服务器”,单击“添加必需的角色服务”,最后单击“安装”。,启动、停止与暂停SMTP虚拟服务器,安装完SMTP服务器后,系统默认会将SMTP Virtual Server#1启动。我们可以通过上方的3个按钮来启动、停止、与暂停SMTP服务器。如下图所示:,启动、停止与暂停SMTP服务,开始-管理工具-服务-Simple Mail Transfer Protocol,弹出如下界面:,IP地址与TCP端口号的设置,如果SMTP服务器有多个IP地址,需要为其指定一个IP用来接收通过其传来的电子邮件。如下图:,IP地址与TCP端口号的设置,端口号是用来识别TCP/UDP服务,SMTP默认的端口号是25。如果想同时修改IP地址和端口号,单击上图中的“高级”,单击“编辑”按钮,如下图:,连接设置,当用户或其他SMTP服务器发送邮件给你的SMTP服务器或者是你的服务器发送邮件给其他的SMTP服务器时,都会建立一个连接。可以限制连接数量,防止服务器负担过重,以及防止DOS攻击。,连接设置,连入连接:在“SMTP Virtual Server#1”上单击右键,选择“属性”,然后进行设置。如下图:,连接设置,连出连接 在“SMTP Virtual Server#1”上单击右键,选择“属性”,单击“传递”选项卡的“出站连接”设置。如下图:,新建SMTP虚拟服务器,在服务器名称上单击右键,选择“新建-虚拟服务器”,然后按照界面操作即可。如下图:,SMTP虚拟服务器的安全设置,指定操作员连入连接的验证设置连出连接的验证设置利用IP地址来限制连接设置或删除中继限制TLS安全连接设置,指定操作员,操作员有权访问与更改SMTP服务器的设置。在“SMTP Virtual Server#1”单击右键,选择“属性”,单击“安全”标签,单击“添加”。,连入连接的验证设置(接收邮件),在“SMTP Virtual Server#1”单击右键,选择“属性”,选择“访问”标签,单击“身份验证”进行设置。如图:,连出连接的验证设置(转发邮件),在“SMTP Virtual Server#1”单击右键,选择“属性”,单击“传递”标签的“出站安全”,进行设置。,利用IP地址来限制连接,在“SMTP Virtual Server#1”单击右键,选择“属性”,单击“访问”标签的“连接”进行设置。,设置或删除中继限制,SMTP服务器默认只接受传入的连接,不接受外寄的邮件。如果中继待发邮件,在“SMTP Virtual Server#1”单击右键,选择“属性”,在“访问”标签中的“中继”进行设置。默认“所有通过身份验证的计算机都可以进行中继”,TLS安全连接设置,如果SMTP服务器的验证方法设置为“基本身份验证”,则发件人发送的用户名与密码以明文方式发送,为了安全,我们可以采用TLS安全连接来连接到SMTP服务器,也就是将发送的数据经过TLS加密。,SMTP 虚拟服务器的运作流程,SMTP域类型SMTP服务器的文件夹结构与发送流程,SMTP 域类型,本地域 本SMTP虚拟服务器所管辖的域。分为“本地默认域”和“本地别名域”。远程域 不是由你的SMTP虚拟服务器来提供服务的域。可以针对某个特定的远程域进行不同的发送设置。,SMTP服务器的文件夹结构与发送流程,SMTP服务器安装完后,系统在%systemdrive%inetpubmailroot文件夹中建立多个文件夹。文件夹如下:Badmail(问题邮件)Drop(本地邮件,从queue到该处)PickupQueue(收到邮件都在该处),邮件传递设置,在“SMTP Virtual Server#1”单击右键,选择“属性”,在“传递”标签中进行设置。重试间隔时间设置邮件跃点计数设置虚拟域设置FQDN设置智能主机设置反向DNS查询设置,重试间隔时间设置,当SMTP服务器传递邮件失败时,他会间隔一段时间后再尝试重试。设置如下:,邮件跃点计数设置,邮件在传递过程中,在尚未到达目的地之前,途中需要多台SMTP服务器来中继,每一台服务器称之为一个跃点。设置跃点数如图:,虚拟域设置,你可以利用虚拟域代替邮件中的本地域名。设置如下:,虚拟域设置,如果有两个地址,比如user1 如果我 先设置为主地址。而后,在虚拟域的地方设置为 外部收件人收到user1的邮件会显示何种地址?,FQDN设置,SMTP服务器的FQDN默认就是这台计算机的计算机全名。当你更改计算机全名后,此SMTP虚拟服务器的FQDN也会自动改变。也可以通过“完全限定的域名”设置这台SMTP服务器的FQDN,此处的设置优先于计算机的计算机全名。设置如图:,报文协议RFC822,FQDN设置,虚拟域设置,设置了“虚拟域”以后,邮件头里的Return-Path 字段就变成了你设置的域名了。而Return-Path 字段,是用以告诉收件方服务器应该往哪里发送自动退信。也就是说,它不会改什么发件人的SMTP 地址!,FQDN设置,更改SMTP服务器的FQDN,而无需在网络标识选项卡上指定的名称,即可更新SMTP服务器的FQDN。,智能主机设置,当你的SMTP服务器要发送远程邮件时,直接将邮件中继给特定的SMTP服务器,然后将这台服务器负责发送邮件。这台服务器称为“智能主机”。设置如下:,反向DNS查询设置,当客户端和SMTP服务器进行通信时,你可以让SMTP服务器检查客户端的IP是否与客户端的FQDN相符合,此功能用来检测邮件是否为垃圾邮件。设置如下:,邮件的管理,在“SMTP Virtual Server#1”单击右键,选择“属性”,选择“邮件”标签进行设置。,SMTP 域的管理,本地默认域的域名就是计算机全名,也就是FQDN,我们可以在此域上单击右键选择“重命名”来更改此名称。当SMTP服务器收到属于本地域的邮件时,会将它们存储在%systemdrive%inetpubmailrootdrop文件夹中,如果想更改位置,在本地域上单击右键,选择“属性”,在“投递目录”中更改。,添加SMTP域,添加域,在“域”上单击右键,选择“新建-域”,选择“远程”或“别名”。,为远程域启用ATRN功能,当SMTP服务器收到要传送到远程域的邮件后,将这些邮件送到队列等待,不会主动发送到远程SMTP服务器。等远程域的SMTP服务器利用atrn命令提出索取邮件的请求后,再将邮件传给此SMTP服务器。设置如下:,SMTP REALY的设置,利用SMTP relay发送邮件,可以避免内部电子邮件服务器直接与外部网络通信,减少内部电子邮件服务器被攻击的机会。,传入SMTP REALY的设置,利用SMTP relay发送邮件,可以避免内部电子邮件服务器直接与外部网络通信,减少内部电子邮件服务器被攻击的机会。,外寄SMTP REALY的设置,利用SMTP relay发送邮件,可以避免内部电子邮件服务器直接与外部网络通信,减少内部电子邮件服务器被攻击的机会。,实例:SMTP中继,垃圾邮件,先前免费邮局的SMTP服务器地址是公开的、而且无须认证的,这就为垃圾邮件打开了方便之门。任何一个别有用心者只要填入任意一个免费电子邮局的STMP地址,然后就可以借用任何人的名义,甚至是你自己的名义向你恶意发送垃圾邮件了。这也就是很多朋友打开信箱,赫然发现自己收到了“自己”发来的垃圾邮件的缘故。大量垃圾邮件令我们防不胜防,只有通过过滤主题或邮件地址的方法进行堵截。然而这种方法并不见得有效,因为垃圾邮件制造者只须更换一下邮件地址与主题,过滤功能对此束手无策,起不到任何过滤作用了。然而这只是一种被动的防御之法,真正能够治本的方法就是认证SMTP服务器,简单一点来说就是必须像POP3那样,只有拥有了帐户名和密码之后才能发送电邮,这样就会使得那些垃圾邮件制造者无机可乘。,关闭Relay功能因为Relay功能会导致别人能用这台SMTP邮件服务器给任何人发信,这样别有用心的垃圾发送者就可以使用这台邮件服务器大量发送垃圾邮件,而最后别人投诉的不是垃圾发送者,而是这台服务器,因此最好关闭Relay。,防止措施,防止措施,SMTP用户认证目前常见并十分有效的方法是,在邮件传送代理(Mail Transport Agent,MTA)上对来自本地网络以外的互联网的发信用户进行SMTP认证,仅允许通过认证的用户进行远程转发。这样既能够有效避免邮件传送代理服务器为垃圾邮件发送者所利用,又为出差在外或在家工作的员工提供了便利。,防止措施,逆向名字解析无论哪一种认证,其目的都是避免邮件传送代理服务器被垃圾邮件发送者所利用,但对于发送到本地的垃圾邮件仍然无可奈何。要解决这个问题,最简单有效的方法是对发送者的IP地址进行逆向名字解析。通过DNS查询来判断发送者的IP与其声称的名字是否一致,例如,其声称的名字为,而其连接地址为,与其DNS记录不符,则予以拒收。但是上面这种方法对于借助Open Relay的垃圾邮件依然无效,而且逆向名字解析需要进行大量的DNS查询。,防止措施,实时黑名单过滤以上介绍的防范措施对使用自身合法域名的垃圾邮件仍然无效。对此比较有效的方法就是使用黑名单服务了。黑名单服务是基于用户投诉和采样积累而建立的、由域名或IP组成的数据库,这些数据库保存了频繁发送垃圾邮件的主机名字或IP地址,供MTA进行实时查询以决定是否拒收相应的邮件。但是,目前各种黑名单数据库难以保证其正确性和及时性。,防止措施,内容过滤即使使用了前面诸多环节中的技术,仍然会有相当一部分垃圾邮件漏网。对此情况,目前最有效的方法是基于邮件标题或正文的内容过滤。其中比较简单的方法是,结合内容扫描引擎,根据垃圾邮件的常用标题语、垃圾邮件受益者的姓名、电话号码、Web地址等信息进行过滤。这种方法的理论基础是通过对大量垃圾邮件中常见关键词进行分析后得出其分布的统计模型,并由此推算目标邮件是垃圾邮件的可能性。这种方法具有一定的自适应、自学习能力,目前已经得到了广泛的应用。,主要邮件服务器一览,网易163免费邮 接收服务器:发送服务器:新浪免费邮箱 接收服务器:发送服务器:搜狐邮箱 接收服务器:发送服务器:,作业,如何安装SMTP服务器?SMTP服务器默认能否接受外寄的邮件?如果不能,我们应该如何解决?,