1 电子邮件系统存在的安全隐患
由于早期技术水平落后,主机之间很少直接对话。SMTP就规定了当邮件在不同网络间传送时,必须借助毫不相干的第三方服务器。我们把一个MTA将邮件传递到下一个MTA的行为称为邮件转发(RELAY)。如图1所示。
图1 邮件转发示意图
如果出现网络上所有的用户都可以借助这台RELAY SMTP服务器转发邮件的情况,则称之为Open RELAY(开放性中继)或Third Party RE—LAY(第三方中继)。由于Internet上使用端口扫描工具的人很多,导致RELAY SMTP服务器必定会在短时间内被察觉,并且被利用来发送一些不法广告、垃圾邮件等,继而导致的主要问题有:
*由于网络带宽被垃圾邮件占用,因此该邮件服务器所在网络的连接速度减慢;
*大量发送邮件可能耗尽该邮件服务器资源,容易产生不明原因的关机之类的问题;
* 该邮件服务器将会被Internet定义为黑名单,从此无法收发正常的邮件;
*该邮件服务器所在的IP将会被上层ISP封锁,直到解决Open RELAY的问题为止;
*如果该邮件服务器被用来发送黑客邮件,则将会被追踪为最终站。
此外,作为一个网络服务器,电子邮件系统存在着配置和误操作上的安全威胁和隐患,如没有合理配置服务器的相关配置文件中的重要选项等,极有可能造成潜在的安全隐患。另外,邮件系统版本的及时更新与否也影响到其安全。
2 多重机制应对邮件系统安全问题
1)限制转发和主机过滤
垃圾邮件问题是当今最让网络用户头疼的顽疾之一。许多不请自来的垃圾邮件不但占据网络带宽,也极大地消耗了邮件服务器的存储资源,给用户带来极大的不便。Open RELAY接引起邮件系统的滥用,甚至成为垃圾邮件的温床,它是邮件系统中的“定时炸弹’。目前多数Linux发行版都将SMTP服务器的Open RELAY功能关闭,默认启动为仅监听lo口,极大地减少了本地服务器转递垃圾邮件的可能性。Linux中通过访问数据库/etc/mail/access.db来设置RELAY。数据库中不但定义了可以访问本地邮件服务器的主机或者网络,也定义了其访问类型(可能的选项包括OK、REJECT、RELAY或者通过Sendmail的出错处理程序检测出的、一个给定的简单邮件错误信息)。如果希望某些合法主机或网络能利用此SMTP服务器的RELAY功能来帮忙转发邮件,则必须修改服务器上的访问数据库。
2)配置SMTP用户认证
由于(尤其是同一网段内的)用户不断增多,如果仅依靠规模不断增大的Access数据库,则很难有效管理SMTP服务器的使用,甚至出错。这样既不能保障合法用户正常地使用邮件服务器的Open RELAY一些不法的用户提供了可乘之机。
所以有必要配合Sendmail服务器一起使对SMTP用户用身份认证程序库。RHEL 5使用CyrusSASL(Cyrus Simple Authentication and SecurityLayer)身份认证程序库对用户进行身份认证。
3 一个支持多域的安全电子邮件系统案例
某公司网采用两个网段(对应两个域:keyan1.stiei.edu.en和keyan2.stiei.edu.cn)来管理内部员工,其络拓扑如图2所示。已知公司拟使用一台IP地址为192.168.11.1的Linux主机实现邮件服务,为简化实验拓扑,该主机同时提供域名解析服务和路由服务,其FQDN 拟定为mail.keyan1.stiei.edu.cn和mail.keyan2.stiei.edu.cn。
图2 某科研机构网络拓扑
公司员工数量多,其业务特点决定了流动办公的经常性。公司希望设计一个安全的电子邮件系统,具体能做到:①员工可以自由收发内部邮件,并且可以通过邮件服务器往外网发信;② 禁止接待室的主机192.168.12.100使用Sendmail服务器;③有效拒绝垃圾邮件。
1)关键因素分析
这是一个典型的安全电子邮件系统配置案例。拟解决的关键问题有:多域间的邮件传送、主机过滤、垃圾邮件过滤等。由于处理垃圾邮件会增加服务器负荷,占用其硬件资源,造成正常响应的延迟,并且会导致严重的安全隐患,因此,从安全和效率两方面考虑,都必须使用access数据库限制转发来拒绝垃圾邮件。另外,由于员工办公地点不固定,并且邮件需要在内外网之间转发,因此还需要结合邮件的认证机制,通过验证邮件用户的账户和密码,就能有效拒绝非法用户使用邮件服务器的中继功本报共。
2)解决方案
(1)搭建虚拟网络环境,在一台多宿主的Linux主机上开启内核的路由功能:
# echo“1”>/proc/sys/net/ipv4/ip—forward
(2)在BIND服务器上注册邮件服务有关的域名。在DNS主配置文件“/etc/named.conf”中至少定义的两个正向解析区域,为规范化配置,建议再添加相应的两个反向解析区域,如图3所示。每个区域对应一个解析文件。图4列出了区域keyan1.stiei.edu.CD的正向解析文件内容,区域keyan2.stiei.edu.cn的正向文件类似。
在所有要使用邮件服务的主机上指定提供域名解析的DNS服务器的IP地址,并设置默认的域名后缀。此外,还需要在“/etc/mail/local—hostnames”中添加所支持的域名及主机名。
图3 定义新的区域
(3)配置具有认证功能的SMTP服务器。
在Sendmail的脚本Sendmail.mc中修改SMTP侦听范围为公司内部网段或者0.0.0.0,使邮件能正常发送到其它主机。此外还需要设置本地邮箱的域名,将如下一行括号内的内容修改成自己的域:
LOCAL— DOMAIN (‘keyan1.stiei.edu.cn,key—an2.stiei.edu.cn’)dnl
而最为关键的是要设置SMTP用户安全认证功能。首先确保sasl库(软件包cyrus—sas1)已经安装,然后编辑sendmail.mc文件,取消如下三行的注释;
dnl TRUSTl-AUTH—MECH(EXTERNAL DI—GES MD5 CRAM —MD5 LOGIN PLAIN)dnl
//TRUST—AUTH—MECH 的作用是使sendmail不管access文件中如何设置都能RE—LAY那些通过LOGIN、PLAIN或DIGEST—MD5方式验证的邮件。
dnl define(‘confAUTH —MECHANISMS’,‘EXTERNAL GSSAPI DIGEST—MD5 CRAM —MD5 L0GIN PLAIN’)dnl//‘confAUTH—MECHANISMS’的作用是确定系统的认证方式。
dnl DAEMON— OPTIONS(‘Port=submis=sion,Name=MSA,M=Ea’)dnl
//‘Port— submission,Name=MSA,M=Ea’的作用是开启认证,并以子进程运行MSA实现邮件的账户和密码的验证。
最后利用m4工具生成主配置文件Sendmail.cf。分别启动Sendmail服务和Saslauthd服务,然后执行命令“Sendmail-d0.1一by root|grep SASL”测试sasl。确认以下结果中包含SASL:
NETUNIX NEWDB NIS PIPELININGSASLv2 SCANF S0CKETM AP STARTTLS
也可以使用ehlo命令验证Sendmail的SMTP认证功能
(4)设置访问控制和转发限制
根据案例对限制SMTP中继的要求,在文件“/etc/mail/aceess”末尾添加如下三行内容:
192.168.11 RELAY
192.168.12 RELAY
Connect:
192.168.12.100 REJECT
3)应用测试
(1)首先测试同一网段192.168.12.0/24(域keyan2.stiei.edu.cn)内的用户相互收发邮件的情况。图6是foxmail中usera向userb发送邮件时给出的拒绝访问的错误提示,其原因在于我们在SMTP的转发数据库中设置了禁止主机192.168.12.100使用Sendmail服务器,从而导致邮件发送失败。若取消主机过滤或改变该主机的地址,则能投递成功,如所示:
图4 SMTP拒绝访问
(2)接下来测试跨域且群发邮件的情况。以域keyanl内用户user1向域keyan2内群组team2发件为例,team2中的所有用户usera、userb、userc将同时收到该邮件。
图5 userb接受邮件成功
图6 team2中的用户接受邮件成功
4 结束语
邮件服务作为整个互联网业务中最基本、最重要的组成部分之一,其应用频率接近甚至超过万维网服务。然而,电子邮件的廉价性以及一些邮件服务器的开放性,使得邮件服务正面临着严重的垃圾邮件、病毒感染以及服务器滥用等严重的安全问题。本文以一个完整的企业邮件系统为案例,研究了针对这些安全问题的关键技术,描述了一个综合的解决方案并通过了应用测试,具有一定的实用参考价值。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:多重安全机制在电子邮件系统中的应用