电子邮件安全问题
Internet电子邮件和网络安全
前言
电子邮件(E-mail)、远程登录(Telnet)及网络文件传输(FTP)是Internet互联网络的三大传统服务。近年来,尽管以环球信息网WWW (World Wide Web)为代表的多媒体信息服务发展非常迅速,但电子邮件依旧是Internet上使用最为频繁和广泛的服务。相对其它网络服务来讲,电子邮件对网络连接和协议结构的要求较低,因此电子邮件一般都是首先开通的网络服务,甚至在网络没有覆盖的地区,也可以通过一定的方法享用电子邮件。比如,零散的用户可以通过电话网异步拨号,以终端方式进入远地的邮件服务器,接收和发送邮件。电子邮件的使用相当广泛,甚至可以和普通邮政服务媲美。许多网络用户将自己的电子邮件和普通邮件的地址并列印在名片上,就足以看出电子邮件的影响之大。相对普通邮件而言,电子邮件有着许多明显的优越之处。即使跨越洲际的电子邮件,其速度也可以与电话或者传真相当,比普通邮件要快得多,但费用仅仅相当于普通邮件,远低于电话或者传真,而且电子邮件还具有许多普通邮件所不具有的特点,比如邮件的多复本投递等等。
Internet电子邮件基于可靠的顺序数据流服务,比如TCP协议。电子邮件作为一种网络应用服务,采用的是简单邮件传输协议SMTP (Simple Mail Transfer Protocol)。传统的电子邮件基于文本格式,对于非文本格式的二进制数据,比如可执行程序,首先需要通过一些编码程序,像U-NIX系统命令uuencode,将这些二进制数据转换为文本格式,然后夹带在电子邮件的正文部分。随着网络应用的不断发展,大量多媒体数据,如图形、音频、视频数据可能需要通过电子邮件传输。Internet采用"类型/编码"格式的多目的互联网络邮件扩展MIME (Multipurpose Internet Mail Extensions)标准来标识和编码这些多媒体数据。
正是因为电子邮件使用广泛,因此,邮件的安全一直受到网络管理人员的重视。特别是1988年发生在美国的Internet蠕虫(worm)事件,是涉及安全问题的典型例子。在蠕虫爆发后的一至两天内,使用BSDUNIX及变种SUNOS操作系统的主机受其影响的数目达到几千台。许多网络主机的管理员发现他们的机器中出现大量的命令解释器(shell)进程,甚至管理员也无法启动其它进程以清除它们,只好关闭电源以求恢复正常。但一旦机器重新启动,很快便重新充满大量的异常进程,使得用户原有的工作不能完成。蠕虫侵入系统的方法大致有三种,其中一种就是利用BSDUNIX电子邮件程序中的一个调试后门以及一个关于串处理函数的错误首先侵入系统,然后将蠕虫的主要代码引导进入系统。这次蠕虫事件一般被认为是计算机病毒开始受到广泛研究的标志,影响及其深远。尽管很快发布了修改这些后门和错误的邮件程序,但是人们仍然对有关电子邮件引起的安全问题充满警惕。一方面,仍旧有一些含有这些错误的程序在不同的系统中运行。另外一个方面,许多计算机"黑客"在不断地"发掘"各种可能存在的侵入系统的方法。
随着Internet在中国的迅速拓展,特别是中国教育和科研计算机网(CERNET)以及商业性的ChinaNet和COMNet的发展,电子邮件同样成为许多网络用户使用的工具,互联的校园网络在促进学校科研教育发展的同时,也非常容易成为网络攻击的对象,特别是在网络建设的初期,网络安全意识和网络防范能力都较为薄弱。
Internet电子邮件
尽管大多数Internet电子邮件都是基于BSDUNIX的邮件系统,但是现在Internet使用的电子邮件系统的版本非常复杂。在这里,我们选择基于SYSVR4系统的SUNSOLARIS2.4操作系统使用的邮件程序作为说明的例子。这也是在CERNET上使用最广泛的邮件系统。 电子邮件的投递
用户在使用电子邮件时,一般使用的是mail或者Mailtool之类的工具。这些工具可以方便用户书写、递交、收取以及阅读邮件,比如基于窗口系统的Mailtool可以使用各种图标管理邮件。有些工具甚至可以根据MIME指定的"类型/编码"格式自动调用相应的解码解释程序。 邮件工具mail获得来自用户提交的邮件以后,调用路由(指邮件的路由)程序sendmail进行邮件路由。根据邮件所附的接收方地址中指定的接收主机,如[email protected]中的yyy.zzz,与位于主机yyy.zzz的sendmail后台守护程序建立TCP连接(连接端口25),建立连接的双方按照SMTP协议进行交互,并且完成邮件数据的投递,接收方sendmail程序接收的邮件数据根据接收用户的名称,放置在系统的邮件目录,如/usr/mail目录的xxx文件。接收用户同样使用mail或者Mailtool工具获取和阅读这些已经投递的邮件。如果投递失败,这些邮件将重新返回发起方。电子邮件实际的投递过程要比上述给出的复杂,在邮件发送方和接收方会涉及更多的配置文件,具体内容可以参考操作系统所附的网络管理手册中的邮件配置部分。
SMTP协议
SMTP协议是一个基于文本的协议,理解和实现都比较简单。同样,我们可以使用telnet程序直接登录到接收邮件机器的TCP端口25(由LANA授权分配给SMTP协议)进行交互。 carnation% telnet cs.seu.edu.cn smtp
Trying 202.119.11.193...
connected to bass.seu.edu.cn.
Escape character is ‘ ^]’ .
220 Bass.seu.edu.cn Sendmail ready at...
helo carnation.njnet.edu.cn
250 Bass.seu.edu.cn Hello carnation.njnet.
edu.cn,pleased to meet you
mail from:[email protected]
250 [email protected] ok
rcpt to:[email protected]
250 [email protected] ok
data
354 Enter mail,end with"."on a line by itself
I am a test.
250 Ok
quit
221 Bass.seu.edu.cn closing connection
Connection closed by foreign host.
上述给出一个SMTP会话的文本格式,,在使用helo表明本方标识(carnation.njnet.edu.cn)以后,邮件发送方应该通过mail from和rcpt to命令指明该邮件的发送方和接收方。然后调用data命令输入邮件正文的数据,并且以"."为首的行表示数据的结束。最后通过quit命令退出SMTP会话并且结束TCP端口25的连接。
Internet域名服务
Internet互联网中唯一能够寻址的标识并不是网络主机的名称,而是32位的网络IP地址。如果没有网络域名服务,邮件地址"@"之后可能就是一串难以解释的数字,电子邮件就不容易被人接收,因此,域名服务与电子邮件有着相当紧密的关系。一般每一可寻址的主机都会位于至少一个域,在这个域中至少存在一个域名服务器,这个域名服务器的工作有两个方面:首先负责本域主机名字到主机地址及相反的解释过程;其次对于不属于本域的名字,通过"域名检索链"和"顶级域名服务器"获得来自其它域域名服务器的域名解释。
Bass % nslookup
Default Server:seic2.seu.edu.cn
Address:202.119.0.12
>cs.seu.edu.cn
Server:seic2.seu.edu.cn
Address:202.119.0.12
Name:bass.seu.edu.cn
Address:202.119.11.193
Aliases:cs.seu.edu.cn
>exit
域名解释的主要用途是将主机名转化为IP地址,如cs.seu.edu.cn的地址为202.119.11.193。同时给出这个名称的别名为bass.seu.edu.cn。在域名服务器的域名数据库中,除了这些数据以外,还包括主机特性(HINFO)等。其中与邮件服务最为相关的就是邮件交换(MX)记录。 $orgin seu.edu.cn.
@ IN NS 202.119.0.12
bass IN A 202.119.11.193
IN CNAME cs.seu.edu.cn
IN MX 10 mailbox.seu.edu.cn
IN MX 50 mailrelay.seu.edu.cn
mailbox IN A 202.119.0.11
mailrelay IN A 202.119.0.12
记录由两个部分组成,紧接者MX的称作优先级(precedence),是一个0到100之间的数字;随后的一个称作邮件交换(mail exchange)的主机名称或者IP地址。邮件交换的含义是:如果邮件需要投递给邮件交换所代理的主机,则将邮件递交给这些代理,然后由这些代理再转交给相应的接收方。优先级反映了使用这些邮件交换主机的顺序,它的数值仅仅具有相对的比较而没有绝对的含义,其中0表示最高优先级,相应地100表示最低的优先级。邮件路由程序sendmail按照优先级顺序使用这些邮件交换主机。仅仅在高优先级邮件交换主机失败或者相应邮件退回以后,才考虑使用低优先级的邮件交换主机。
电子邮件和网络安全
电子邮件的安全问题
电子邮件系统的配置相当简单,以致校园网中每个IP地址的主机都可以使用电子邮件接收和发送电子邮件。这将产生两个方面的隐患:首先,每个用户可能在不同的主机上拥有帐户,如果直接使用这些帐户发送邮件,那么,发出的邮件会携带不同的发送方邮件地址,在迷惑邮件接收方的同时,使得本地邮件发送的管理工作相当困难,同时过分暴露内部网络细节。其次,如果主机配置能够接收邮件,则必定需要启动邮件路由程序sendmail作为后台进程倾听来自邮件发送方的邮件连接请求,如果每台主机为了接收邮件都启动这个后台进程,既浪费可用的计算资源,又可能产生安全后患,因为这些后台程序可能正是网络攻击时使用的后门。除了电子邮件以外,其它网络资源服务的后台服务器进程,比如gopherd和httpd等,都可能产生相同的问题。
校园网络的特点是主机数多、用户数多,相应的网络管理和安全管理的任务也比较复杂。因此,需要参考国外学术教育机构网络管理的经验,采取一定的措施,使得适当的集中管理来解决这种散乱的局面。在对电子邮件的管理方面,许多国外大型公司要求非常严格,因为,安全和保密同样重要,在防止外界侵入的同时,还需防止内部资源的泄漏。
解决方案
在内部网络和外部网络之间,是网络管理设定的"防火墙"。一般使用网络路由器(router)完成网络隔离的作用,比如通过对于IP报头的过滤,也可以使用更高层次的应用层网关作为隔离,这时可以对于TCP报头进行过滤,甚至可以完成对报文内容的过滤。由于这个"防火墙"的存在,外部网络不能直接访问内部网络的某些受限制服务功能,同样,"防火墙"也能限制或者监视内部主机访问网络的活动。在内部网络和外部网络之间,与"防火墙"相连的是称作"非军事区"的连接地带。在这些连接地带,允许外部网络在一定的限制条件下访问,并且这些访问被良好地监视和记录下来。即使位于这些连接地带的主机受到来自外部网络的侵入,由于这些主机的内容可以通过备份迅速恢复,因此将不会影响内部网络的正常运行。
一般校园网络的控制部门,比如学校的信息中心或者计算中心,负责构造和维护上述的"防火墙"以及相应的设施,包括处于"非军事区"的部分。处于"非军事区"的主机包括网络资源服务,如WWW、Gopher、FTP等的服务器以及有关邮件管理的"邮件中继(MR)"和"邮件交换(MX)"主机。在这里,我们将MR和MX作为两个不同的主机存在"非军事区"。实际上,可以根据需要将这两个主机合二为一。有时候,为了提高速度和效率,甚至可以设置几个不同的MR和MX。对于"非军事区"上的主机,一般应该选用安全级较高的操作系统,"防火墙"将隔离所有直接通过"防火墙"连接内部和外部网络的邮件,因此,任何用户将不能够直接向外部网络发送邮件,同样外部网络邮件也不能直接到达内部网络。
在每台可以发送邮件的机器中,首先配置邮件直接投递的域为"防火墙"所保护的域,并且指定域外投递的"邮件中继"为位于"非军事区"的MR。如果内部网络的用户投递邮件给本域的用户,则采用直接建立邮件连接的投递方法。反之,这个用户投递邮件给外部网络用户,则此邮件首先递交给MR,再由MR投递给指定的外部用户。可以根据情况设置这种邮件投递是否需要经过"防火墙"的过滤。每个由MR向外投递的邮件都在MR中留下日志,以备日后查阅,这
样可以大大地方便邮件管理员诊断差错的工作,并且可以作为安全保障的一部分。
当外部网络的用户需要向内部网络发出邮件的时候,情况变得稍微复杂一些。举个例子说明,如果给cs.seu.edu.cn的用户发出邮件,根据Internet层次域名管理的原则,将依次在cn、edu.cn、seu.edu.cn域进行域名解释。作为cs.seu.edu.cn的授权域名解释服务DNS将返回所需主机的域名解释记录,其中"邮件交换"域设置成为位于"非军事区"的MX。由于外部用户无法直接与内部主机建立邮件连接,因此,必定依次使用"邮件交换"域中的内容,也就是与MX建立邮件连接,这个连接的数据必须经过"防火墙"的报头或者数据过滤,以禁止特定外部子网的访问。经过一定的延时以后,MX最终将邮件投递给内部网络的用户,这段时间足够对可能在"非军事区"出现的异常情况作出反应。
通过上述设置MR和MX的方法,一方面可提供一定的邮件安全保障,另一方面也增加了邮件投递的可靠性。位于"非军事区"的MR和MX可以选用较为可靠的硬件设备和软件程序,并且依赖不间断电源(UPS)可以保证24小时不关机工作。参与邮件投递的接收方,不论位于内部网络或者外部网络,由于关机或者软硬件错误暂时无法接收邮件,邮件可以首先保留在MX或者MR。在此后的一段时期,MX或者MR能够自动以一定的时间间隔重新尝试邮件投递。在累积一定的次数以后,如果仍然不能成功投递,邮件将返回发送方。这个优点的作用是明显的,在校园网络中大部分机器由于安全和经济的原因不能24小时开机,而许多邮件的接收由于地理时间差往往在非工作时间进行,如果使用MX,就能够避免这样的问题。同样,使用MR可以提高向外投递邮件的可靠性。
以上仅是使用MR和MX较为简单的情况。通过邮件系统配置中的必定规则,可以进一步加大对邮件系统管理的力度。这些改写规则能够规范向外投递邮件的发送方地址,也能够将特定用户的邮件在内部网络中转移。除了邮件改写规则外,使用"别名"(aliases)的方法也能够屏蔽外界网络对内部网络用户细节的了解,从而提高内部网络的安全性。
结束语
对于校园网络电子邮件有关网络安全可能存在的隐患问题,我们给出了相应的解决方案,即通过"防火墙"构造"内部网络"、"外部网络"和"非军事区"隔离的状况,并在"非军事区"中设置"邮件中继"和"邮件交换"作为电子邮件进出的"网关"。此方案起到了一定的安全防范作用,并且能够提高邮件投递的可靠性。其它网络服务,如WWW或者Gopher也可以采用相似的结构。 但是,这种结构要求一个网络控制部门,比如学校的信息中心或者计算中心,负责创建并维护"防火墙"和"非军事区"。目前,有些学校不具备相应的管理部门,没有能够有效地进行"数据过滤"的路由器或应用网关,甚至无法满足"非军事区"主机高安全高可靠的要求(包括24小时不间断电源等)。在这种情况下,上述模型框架可能无法实现。所幸的是,随着CERNET的发展和各个学校对校园网络投资的增加,这种结构可能会被越来越多的校园网络所采纳。事实上,已经有许多校园网络和地区网络控制中心开始采用这样的或略有修改的结构。