电子邮件服务器以及sendmail加密、证书、认证(1)

常用两种邮件系统有sendmailpostfix另外extmail是一个新兴起的邮件服务器也是很受欢迎的。

电子邮件传输时所需要的协议:

发送协议

smtp简单传输协议工作在应用层,传输层采用tcp协议使用25端口以明文的方式发送邮件

接收协议

pop2Pop3pop2也是工作在应用层,传输层采用tcp协议使用109端口接收邮件,邮件也是以明文的方式,pop3除了接收端口是110外其他跟pop2是相同的,使用这两个接收协议对邮件查看时使用的是一种离线方式,需要把邮件下载到本地,这显然很不方便。

imap4邮件接收协议同样工作在应用层传输层采用tcp协议使用143端口接收邮件,邮件内容以明文形式接受,使用它对邮件进行查看时可以是在线方式,这样就会感觉安全许多,并且方便管理。

像这些收发邮件都以明文形式来完成,会让邮件显得不安全,后续我们还会说到有关邮件安全的方法,通过邮件加密和认证等。

电子邮件系统中的服务器:

发送服务器(MTA邮件传输代理)

Linux下的常用发送服务器有Sendmail它被使用的比较早但是效率不是很高无身份验证功能、不能防范垃圾邮件、没有防病毒功能,另外还有postfixextmail

Windows上的发送服务器有电子邮件服务器和exchange server后者是一个非常大的邮件服务器安装起来也较为麻烦,工作时需要有域环境,很显然使用它并不是很多。

另外我们可以使用第三方的服务器:

常用的有mdaemonmdaemon是一款著名的标准SMTP/POP/IMAP邮件服务系统,它提供完整的邮件服务器功能,保护用户不受垃圾邮件的干扰,实现网页登陆收发邮件,支持远程管理,它还保护系统防御邮件病毒。安全,可靠,功能强大,为公司广泛使用的邮件服务器。

开源的服务器有qmail,它工作在linuxunix系统,是一个因特网邮件传送代理,可以代替sendmail来发邮件。

接收服务器(MRA邮件接收代理)

Linux上可以采用dovecot开源的邮件服务器,支持pop3imap4pop3simaps等邮件接收协议。

Windows上可以采用电子邮件服务器,是很方便快捷。

邮件的分拣(MDA

使用maildrop来分拣邮件,从MTA拿到邮件并把邮件投递给相应的mbox

邮件客户端(MUA

安装在客户端上,用来让用户写、删除、保存邮件,是一个邮件管理器,常见的有outlook,但它很不安全,在同一台pc上接收过的邮件可以被所有人看到,foxmail可以建立属于自己的邮件空间,不像outlook那样,解决了安全的问题。

Linux上有Muttmailevolutionthunderbird

电子邮件系统(邮件在本地传输和跨区域传输是的处理过程)

本地传输:

跨区域传输:

电子邮件的安全

前面所说的邮件发送和接收协议都是以明文的形式对邮件收发,这显然是不安全的,为解决这种安全问题来对邮件进行加密处理,加入ssl形成smtpspop3simaps,像这些加密的邮件协议都是点到点的通讯。

另外S/mime(多用途网际邮件扩充协议)是在在远端客户端进行证书加密,实现对邮件的安全保护,还有pgp/gpg可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改,这些协议可以应用到端到端的通讯。

邮件中继

在邮件服务器刚开始投入使用时,邮件服务器的邮件中继功能是完全打开,无论是来自哪里的邮件发向哪儿服务器都为它做中继服务,但久而久之越来越多的垃圾邮件使邮件服务器无法正常工作,我们只有关闭中继功能或者只针对部分用户开放中继

开放中继有两种方式:按ip地址认证,规定只为某一网段用户做中继服务,按账号认证使用sasl协议(简单认证安全层),这需要我们在linux系统中安装cyrus-sasl软件包,才能实现。

对垃圾邮件的处理

常用的反垃圾邮件软件有apache开发的spamassian它有过滤垃圾邮件的功能

对带病毒邮件的处理

辨别邮件里的病毒,可以安装clamav,提供电子邮件的病毒扫描服务,但实现clamav需要有邮件呼叫器机制,常用有两种mimedefangmailscanner,通过它们的结合来保护用户免受可能带病毒的邮件附件的感染。

接下来在(2)中我们主要学习一下sendmail邮件服务器