




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SMTP 简单邮件传输协议展开SMTPSMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义 邮件传输的协议,它是基于 TCP 服务的应用层协议,由 RFC0821 所定义。SMTP 协议规定的命令是以明文方式进行的。为了讲明 SMTP 的工作原理,我们以向 163 发送邮件为实例进行讲明。SMTP250 OKauth login334 dXNlcm5hbWU6334 UGFzc3dvcmQ6PASS base64加密后的密码235 Authentication successful250 Mail OK250 Mail OKDATA354 End data
2、 with .QUITSMTP250 Mail OK queued as smtp5,D9GowLArizfIFTpIxFX8AA=.41385S 2 1211766217当你的一个朋友向你发送邮件时,他的邮件服务器和你的邮件服务器通过 SSMTP安装POP3和SMTP月艮务组件Windows Server 2003默认情形下是没有安装 POP3和SMTP服务 组件的,因此我们要手工添加。选中“应用程序服务器”选项,点击“详细信息”按钮,接着在“Internet信息服务(IIS)”选项中查看详细信息,选中“ SMTP Service” 选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器
3、进行远程Web治理,一定要选中“万维网服务”中的“远程治理(HTML)”组件。完成以上设置后,点击“下一步”按钮,系统就开始安装配置POP3和SMTP 服务了。配置POP3服务器.创建邮件域点击“开始-治理工具-POP3服务”,弹出POP3服务操纵台窗 口。选中左栏中的POP3服务后,点击右栏中的“新域”,弹出“添加域” 对话框,接着在“域名”栏中输入邮件服务器的域名,也确实是邮件地址“ ”后面的部分,.创建用户邮箱选中刚才新建的,在右栏中点击“添加邮箱” ,弹出添加邮箱对话框,在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定”按钮,完成邮箱的创建。12完成POP3服务器的配置
4、后,就可开始配置SMTP服务器了。 点击“开始-程序-治理工具-Internet信息服务(IIS)治理器,在“ IIS 治理器”窗口中右键点击“默认SMTP 虚拟服务器”选项,在弹出的菜单中选中“属性” ,进入“默认SM TP 虚拟服务器”窗口,切换到“常规”标签页,在“ IP 地址”下拉列表框中选中邮件服务器的 IP 地址即可。点击“确定”按钮,现在SMTP 服务器默认的是匿名访咨询,打开切换到“访咨询”标签页,点击“身份验证”按钮,在对话框中去掉“匿名访咨询“选项,选中”差不多身份验证( Basic authentication) “。如此一个简单的邮件服务器就架设完成了。SMTPSMTP
5、 要通过建立连接、传送邮件和开释连接3 个时期。具体为:( 1)建立 TCP 连接。客户端向服务器发送HELLO 命令以标识发件人自己的身份,然后客户端发送MAIL 命令。3)服务器端以OK 作为响应,表示预备接收。4)客户端发送RCPT命令。5)服务器端表示是否情愿为收件人接收邮件。6)协商终止,发送邮件,用命令DATA 发送输入内容。7)终止此次发送,用QUIT 命令退出。最初的 SMTP 的局限之一在于它没有对发送方进行身份验证的机制。因此,后来定义了 SMTP-AUTH 扩展。SMTP 模型smtp 提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,能够把邮件直传给对方;当双
6、方不在同一个网络上时,需要通过一个或几个中间服务器转发。smtp第一由发件方提出申请,要求与接收方 smtp 建立双向的通信渠道,收件方能够是最终收件人也能够是中间转发的服务器。收件方服务器确认能够建立连接后,双发就能够开始通信。发件方 smtp 向收件方发处mail 命令, 告知发件方的身份; 如果收件方同意,就会回答ok。发件方再发出rcpt命令,告知收件人的身份,收 件方smtp确认是否接收或转发,如果同意就回答ok;接下来就能够进行数 据传输了。通信过程中,发件方 smtp与收件方smtp采纳对话式的交互方 式,发件方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发件方
7、操纵,有时需要确认几回才能够。SMTP 提供一种可靠的有效的传送机制, 它用于传送电子邮件。 尽 管十几年来,它的作用差不多有目共睹,但是对它功能的扩充也是必不可 少的。对 SMTP 服务的扩展我们介绍一下:在SMTP 转发的邮件中包括信封和内容这两种东西。我们写信也写信封和信皮,我们能够借生活中的信 件来关心明白得。(1)SMTP 信封比较容易明白得,它被作为一系列的 SMTP 协议单元传送,它包括发送者地址,传送模式,还有一个或多个接收者地址。如SMTP(2)至于内容,它是由两部分组成的,一部分是信头,一部分是信体,信头是由一个个的域/值对(一个域,一个值)组成的,如果信体有结构的话,它的
8、结构是以MIME 构造的。内容从全然上来讲是文本的,一样也是由 ASCII 码构成的,然而由于使用了MIME ,因此那个限制应该也是没有了,但信头却不行,一样都应该使用ASCII 码表示。尽管SMTP 协议是一个不错的协议,但是对它的扩展依旧不可幸免,本文要紧讲明了一种扩展方法,使用这种扩展方法,服务器和用户之间能够相互明白对方使用了扩展,使用了多少,如果进行通信。从前面的通讯模型能够看出 SMTP协议在发送SMTP和接收SMTP 之间的会话是靠发送 SMTP 的 SMTP 命令和接收 SMTP 反馈的应答来完成的。在通讯链路建立后,发送SMTP 发送 MAIL 命令指令邮件发送者,若接收 S
9、MTP 现在能够接收邮件则作出 OK 的应答,然后发送SMTP 连续发出RCPT命令以确认邮件是否收到,如果接收到就作出OK的应答,否则就发出拒绝接收应答,但这并可不能对整个邮件操作造成阻碍。双方如此反复多次,直至邮件处理完毕。SMTP协议共包含10个SMTP命令,列 表如下:SMTP 命令命令讲明HELLO domain识不发送方到接收 SMTP的一个HELLO 命令RCPTTOy forward-path 标识各个邮件接收者的地址DATA接收SMTP将把其后的行为看作邮件数据去处理,以.标识数据的结尾。RESTc CRLF退出/复位当前的邮件传输NOOP要求接收SMTP仅彳OK应答。(用于
10、测试)QUIT要求接收SMTP返回一个OK应答并关闭传输。VRFY 验证指定的邮箱是否存在,由于安全因 素,服务器多禁止此命令。EXPNc stringx CRLF 验证给定的邮箱列表是否存在,扩充邮 箱列表,也常禁止使用。HELPc CRLF查询服务器支持什么命令sendmail是在Unix环境下使用最广泛的实现邮件发送/同意的邮件传输代理程序。由于 Sendmail 邮件服务器的特点是功能强大而复杂,因此为保证 Sendmail 的安全性,需要作以下一些工作。1、设置 Sendmail 使用smrsh”smrsh程序的目的是作为在 mailer中为sendmail定义的/bin/sh”的
11、替代shell。smrsh是一种受限shell工具,它通过/第一步:决定smrsh能够承诺sendmail运行的命令列表。缺省情形下应当 包含以下命令,但不局限于这些命令:/bin/mail( 如果在你的系统中安装了的话)/usr/bin/procmail( 如果在你的系统中安装了的话)第二步:在/etc/smrsh名目中创建承诺sendmail运行的程序的符号连接。使用以下命令承诺mail 程序 /bin/mail 运行:rootdeep#cd/etc/smrshrootdeep#ln-s/bin/mailmail用以下命令承诺procmail 程序 /usr/bin/procmail 运行
12、:rootdeep#cd/etc/smrshrootdeep#ln-s/usr/bin/procmailprocmail这将承诺位于.forward和aliases中的用户采纳”|program语法来 运行 mail 及 procmail 程序。第三步配置sendmail使之使用受限shell。mailer程序在sendmail的配置 文件/etc/sendmail .cf中仅有一行。必须修改sendmail. cf文件中Mprog” 定义的那一行。将”/bin/sh替换为/usr/sbin/smrsh”。编辑sendmail .cf”文件(vi/etc/sendmail. cf)并改动下面这
13、一行:例如:Mprog,P=/bin/sh,F=lsDFMoqeu9,S=10/30,R=20/40,D=$z:/,T=X-Uni x,A=sh-c$u 应该被改为:Mprog,P=/usr/sbin/smrsh,F=lsDFMoqeu9,S=10/30,R=20/40,D=$z:/,T =X-Unix,A=sh-c$u 现在用以下命令手工重起 sendmail进程:rootdeep#/etc/rc.d/init.d/sendmailrestart2、/etc/aliases,文件如果没有加以正确和严格的治理的话,不名文件被用来猎取特权。例如,专门多发行版本在不名文件中带有decode不名。现
14、在这种情形越来 越少了。如此做的目的是为用户提供一个通过mail 传输二进制文件的方便的方式。在邮件的发送地,用户把二进制文件用 uuencode,转换成ASCII 格式,并把结果邮递给接收地decode不名。那个不名通过管道把邮件消息 发送到/usr/bin/uuencode,程序,由那个程序来完成从 ASCII转回到原始的 二进制文件的工作。删除decode”不名。类似的,关于所有用于执行没有被放在smrsh名目下的程序的不名,你都要认确实检查,可能它们都值得怀疑并应当删除它们。要想使你的改变生效,需要运行:rootdeep#/usr/bin/newaliases编辑不名文件(vi/etc
15、/aliases)并删除以下各行:#Basicsystemaliases-theseMUSTbepresent.MAILER-DAEMON:postmasterpostmaster:root#Generalredirectionsforpseudoaccounts.bin:rootdaemon:rootgames:root?删除这一行ingres:root?硼I 除这一行nobody:rootsystem:root?JM 除这一行toor:root?洲除这一行uucp:root?硼除这一行#Well-knownaliases.manager:root?M 除这一行dumper:root?硼除这
16、一行 operator:root?硼除这一行#trapdecodetocatchsecurityattacks decode:root?M 除这一行#Personwhoshouldgetrootsmail#root:marc最后应该运行/usr/bin/newaliases程序使改动生效3、幸免你的Sendmail被未授权的用户滥用最新版本的Sendmail(8.9.3)加入了专门强的防止欺诈的特性。它们 能够防止你的邮件服务器被未授权的用户滥用。编辑你的 /etc/sendmail.c f 文件,修改一下那个配置文件,使你的邮件服务器能够挡住欺诈邮件。编辑sendmail.c f文件(vi/
17、etc/sendmail. cf)并更换下面一行: OPrivacyOptions=authwarnings改为:OPrivacyOptions=authwarnings,noexpn,novrfy设置noexpn”使sendmail禁止所有SMTP的EXPN命令,它也使 sendmail拒绝所有SMTP的VERB”命令。设置novrfy使sendmail禁止所 有SMTP的VRFY命令。这种更换能够防止欺诈者使用EXPN和VRFY 命令,而这些命令恰恰被那些不守规矩的人所滥用。SMTP 的咨询候信息当sendmail同意一个SMTP连接的时候,它会向那台机器发送一 个咨询候信息,这些信息作为
18、本台主机的标识,而且它所做的第一件事确实是告诉对方它差不多预备好了。编辑sendmail. cf文件(vi/etc/sendmail. cf)并更换下面一行: OSmtpGreetingMessage=$jSendmail$v/$Z;$b改为:OSmtpGreetingMessage=$jSendmail$v/$Z;$bNOUCEC=xxL=xx 现在手工重起一下sendmail进程,使刚才所做的更换生效: rootdeep#/etc/rc.d/init.d/sendmailrestart以上的更换将阻碍到 Sendmail 在接收一个连接时所显示的标志信息。你应该把C=xxL=xx条目中的x
19、x换成你所在的国家和地区代码。后 面的更换事实上可不能阻碍任何东西。但这是-abuse.email新闻组的伙伴们举荐的合法做法。5、限制能够审核邮件队列内容的人员通常情形下,任何人都能够使用mailq命令来查看邮件队列的内 容。为了限制能够审核邮件队列内容的人员,只需要在/etc/sendmail .cf文件中指定restrictmailq选项即可。在这种情形下,sendmail只承诺与那个 队列所在名目的组属主相同的用户能够查看它的内容。这将承诺权限为 07 00 的邮件队列名目被完全爱护起来,而我们限定的合法用户仍旧能够看到 它的内容。编辑sendmail. cf文件(vi/etc/sen
20、dmail. cf)并更换下面一行:OPrivacyOptions=authwarnings,noexpn,novrfy改为:OPrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq现在我们更换邮件队列名目的权限使它被完全爱护起来:rootdeep#chmod0700/var/spool/mqueue注意:我们差不多在 sendmail.c f中的PrivacyOptions=行中添加 了 noexpn和novrfy选项,现在在这一彳f中我们接着添加 restrictmailq选 项。任何一个没有特权的用户如果试图查看邮件队列的内容会收到
21、下面的信息:userdeep$/usr/bin/mailqYouarenotpermittedtoseethequeueSMTP6、限制处理邮件队列的权限为root通常,任何人都能够使用-q开关来处理邮件队列,为限制只承诺 root处理邮件队列,需要在/etc/sendma il. cf”文件中指定restrictqrun”。编辑sendmail. cf文件(vi/etc/sendmail. cf)并更换下面一行:OPrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq 改为:OPrivacyOptions=authwarnings,no
22、expn,novrfy,restrictmailq,restrictqr un任何一个没有特权的用户如果试图处理邮件队列的内容会收到下面的信息:userdeep$/usr/sbin/sendmail-qYoudonothavepermissiontoprocessthequeue7、在重要的sendmail文件上设置不可更换位能够通过使用chattr命令而使重要的Sendmail文件可不能被擅自更换,能够提升系统的安全性。具有+i 属性的文件不能被修改:它不能被删除和改名,不能创建到那个文件的链接,不能向那个文件写入数据。只有超级用户才能设置和清除那个属性。为 sendmail. cf 文件设
23、置不可更换位:rootdeep#chattr+i/etc/sendmail. cf为sendmail.cw”文件设置不可更换位:rootdeep#chattr+i/etc/sendmail.cw为 sendmail. mc 文件设置不可更换位:rootdeep#chattr+i/etc/sendmail. mc为 null. mc 文件设置不可更换位:rootdeep#chattr+i/etc/null. mc为aliases,文件设置不可更换位:rootdeep#chattr+i/etc/aliases为access,文件设置不可更换位:rootdeep#chattr+i/etc/mail/
24、accessqmail 安全qmail有一个名为rcpthosts(该文件名源于RCPTTO命令)的配置文件,其决定了是否同意一个邮件。只有当一个RCPTTO 命令中的接收者地址的域名存在于rcpthosts 文件中时,才同意该邮件 ,否则就拒绝该邮件。若该文件不存在,则所有的邮件将被同意。当一个邮件服务器不管邮件接收者和邮件接收者是谁, 而是对所有邮件进行转发(relay) , 则该邮件服务器就被称为开放转发(openrelay)的。当qmail服务器没有rcpthosts时,其是开放 转发的。设置自己服务器为非openrelay 的最简单的方法确实是将你的邮件服务器的所有域名 ( 若 DNS 的 MX 记录指向该机器,也应该包括该域名。然而这将导致你的本地客户也被拒绝使用你的服务器转发邮件,而要支持客户使用 MUA 来发送邮件,必须承诺客户使用服务器转发邮件。 qmail-smtpd支持一种有选择性的忽略 rcpthosts文件的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业渔船管理办法
- 农机科管理办法
- 农村坼迁管理办法
- 农村狗狗管理办法
- 农田基本管理办法
- 农行基建管理办法
- 冬季甜瓜管理办法
- 出口退管理办法
- 出库印章管理办法
- 函件发放管理办法
- 2025数据要素流通指数:理论框架与行业实践探索白皮书
- 2025辽宁阜新市教育系统招聘教师94人笔试备考试题及答案解析
- 2025江苏镇江句容市郭庄镇选拔村级后备人才招聘12人笔试模拟试题及答案解析
- 幼儿飞行知识课件
- 2025届江苏省镇江一中高一物理第二学期期末学业质量监测试题含解析
- 外墙外保温工程技术培训
- 崇川区人才公寓管理办法
- 2025年招西宁市公安局警务辅助人员招聘考试笔试试题(含答案)
- DB42T 1227-2016 全轻混凝土建筑地面保温工程技术规程
- 矿山企业节水管理制度
- 诊所消防制度管理制度
评论
0/150
提交评论