文/常晓洁 江肖强
浙江大学构建高安全性的双栈邮件系统
文/常晓洁 江肖强
近期,浙江大学对邮件系统进行了软硬件的整体升级,旧的邮件系统虽能满足基本的收发邮件需求,但在日益增长的用户和数据量、快速发展移动互联环境,以及越来越复杂的网络环境下无法满足用户随时随地安全快速访问邮件系统的需求,其中最为主要的问题是:1.邮件系统安全性以及数据的可靠性不够高,例如经常会出现邮箱账号被黑、电脑中毒等导致的滥发邮件情况、且无法阻拦,邮件数据丢失无法恢复问题,灾难性系统故障,数据容灾的可靠性问题等;2.随着并发数和邮件数据的急剧增长,系统扩容非常困难,并且扩容会影响业务的正常运行;3.校外特别是海外访问速度过慢,另外由于国外存在邮件代理情况,因此经过某些链路的邮件无法投递导致邮件数据丢失以及系统不稳定等。因此,针对上述问题以及用户的需求,浙江大学在对相关产品和方案进行反复调研的基础上,重新部署了一套大规模邮件系统,并针对性地设计了安全保障体系,从系统安全、数据安全、账号安全多个层面进行防护,实现了系统的容灾、网络的容灾以及数据的可靠备份。
系统安全性
邮件系统的核心部分是数据库,包括元数据MD(meta data)和用户数据UD(user data)部分。浙江大学邮件系统在系统结构上将MD和UD服务器置于校内网,从物理结构上断绝了与外部的直接联系。内网用户发送的认证请求,由接收服务器(如web server或POP3 server)代理,通过内网专有协议访问用户数据库,确保操作安全可靠。内外网分开的结构也同时减轻了网络流量负担。如图1是邮件系统的模块架构图。
每个服务模块都包括Heart-Beat同步信息端口以及服务监视功能。若某一服务处理模块出现故障,与之通信的模块会自动停止数据传送,防止由于反复的连接尝试造成此服务模块的性能下降,保证系统其他模块的正常运作,不会因为故障服务模块产生连锁反应,待Heart-Beat信息同步正常,再自动恢复数据通信;同样若某服务程序模块因故障下线,由于模块具有服务监视功能,将会自动重起服务,并保存服务运行日志,方便管理员查阅,增强系统运行的可靠性。
无限制、固定、公开的通信端口是主机安全运行的隐患,有些黑客向通信端口发送大量非法数据,致使服务瘫痪。所以,支持隐蔽重要的服务端口、及时修改端口号、设置端口访问限制、主要系统内部服务通信协议自行开发设计、设计邮件系统的核心进程由非超级用户权限运行等措施,是邮件系统确保安全的手段。
图1 邮件系统模块架构
大规模邮件系统的中心是数据库,浙江大学邮件系统的中心数据库采用关系数据库,并使用Cache技术,将经常使用的用户登录信息缓冲到内存中,提高系统访问数据库的速度,也降低中心数据库负载,提高系统的安全可靠性。
数据安全性
浙江大学邮件系统的邮件投递面向事务处理。每封邮件从MTA接收投递到用户的邮箱中都产生Transaction Log。当有系统网络故障,系统断电等紧急情况出现,服务程序重新启动后,会根据Transaction Log的记录重新完成邮件投递任务,保证用户的邮件数据不丢失。
传统邮件系统的存储方法,是为每个用户创建一个目录,存放配置信息和邮箱,一个邮件一个文件。在用户量很大时试图对用户信息进行检索备份几乎不可能。庞大的目录结构和文件数量也迅速降低了磁盘I/O速度,增加系统开销、存储碎片,最终导致文件系统错误或磁盘损坏。浙江大学邮件系统将用户信箱数据存储与邮件数据存储的彻底分离:将用户的配置信息和邮件索引存放在User Data数据库中,将用户的邮件内容存放在Message Storage中。同一用户的邮件通常仅存在一个文件中,而用户阅读邮件目录,或转移邮件,
只是对User Data记录的修改。这样既减少了磁盘I/O提高了操作速度,同时也由于将用户信息与邮件分离的结构,使Message Storage和User Data的存储分配更为灵活,多台Message Storage和User Data间的存储负荷由权重参数分配比例,并根据需要调整。如:原有MS1,MS2, 权重设置为10∶10 , 后增加新的MS3,希望新的邮件多发到MS3上,可将权重参数改为5∶5∶10 。
用户注册,修改信息都实时记录在运行数据库和备份数据库中。由于支持用户账号数据库联机热备份,若运行数据库出现故障,系统自动从备份数据库中取得用户信息,保证用户可以登录和收发邮件。同时,由于用户账号数据容量较小,可以进行每日备份,备份时间短,恢复速度快。用户邮件数据则以文件方式存放,由于采用二级索引、多邮件存于单文件的方式,大大减少文件数量,增加邮件备份速度和恢复速度。采用Sun Veritas文件系统,可以对文件系统进行整体备份和增量备份。邮件数据还具有AutoRepair功能,打开AutoRepair功能,用户在登录时系统自动检查用户信息,在某些特殊情况下,如用户邮件索引丢失等,重新生成邮件索引,使邮箱恢复到正常。
账号安全性
为保护用户Webmail邮箱的登录安全,对用户密码设置开启弱密码策略,可通过强制密码强度等级,避免由于用户登录密码过于简单而被猜测破解。系统定义密码强度级别为不限制、普通、中级、高级四个等级。另外可定义一些弱密码如11111、123456、和账号相同的密码等,在用户登录邮箱时检测用户密码,若密码未达到对应级别或与定义的弱密码相同,则提示用户修改密码并跳转到修改密码界面;当非法登录密码出错到一定次数时系统开启自动保护,如通过图形验证,可避免遭受黑客网络密码字典攻击。由此来降低用户密码被恶意软件猜测获取的概率,保护Webmail邮箱安全。
由于邮件系统支持其他系统通过SMTP端口自动发送邮件,在发送SMTP交互命令auth login进行验证USER和PASS时通过加密验证信息提高安全性,预防窃听。同时设定SMTP验证次数限制,当验证失败次数达到设定次数时对账号进行锁定操作。以及通过对用户端提交的
整个架构分为主备两个部分,为提高安全性将主备服务器分别置放在不同校区的两个机房,以预防着火、停电等大范围不可预计的安全隐患。
整个邮件系统MUA被分成两个主要功能部分,分别部署在前端和后端服务器上,前端服务器安装MUA中的SMTP/Webmail/ POP3/Anti-spam/Anti-virus等前端应用模块,主要提供登录、收发、过滤邮件功能,可以通过硬件负载设备均衡访问请求,同时实现了单点故障;后端服务器主要安装Mysql数据库等,用来存储账号数据和邮件Cookies表单和登录IP进行检测,以防止如反射式XSS攻击等。
浙江大学邮件系统通过支持SSL协议增强用户登录密码的安全性。SSL (Secure Sockets Layer 安全套接层) 协议位于传输层TCP/IP协议与各种应用层协议之间,利用Encryption数据加密技术,确保数据在网络传输过程中不会被截取及窃听,提高数据传输过程中的安全性。SSL中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,浙江大学购买一些认证机构如GeoTrust的数字签名和证书获得了全球CA认证。邮件系统通过SSL Proxy提供多种通讯(如Web、SMTP,POP3,IMAP服务)的SSL通信,用户可以在Web登录时选择安全登录或者使用具有SSL通信能力的客户端(如OutLook)和SSL Proxy通信。数据,实现用户的邮件索引、邮件存取及其Cache。同时为提高登录速度和运行效率,需要做负载均衡,因此各需要2台以上的虚拟服务器。整体架构如图2所示。
图2 邮件系统整体架构部署
前端功能和后端数据分开部署一方面提高系统运行效率,实现资源分组;另一方面方便根据实际情况进行局部扩容或全局扩容。局部扩容是按需提高个别服务器的单机处理性能,进行增加服务器资源、增加服务器或增加磁盘容量操作;全面扩容是为提高整个系统的容量和处理性能,进行按照系统发展计划,批量增加服务器,或为各个模块都增加服务器的操作。
服务器安全性保障
邮件系统部署在虚拟服务器上,对虚拟机的安全管理和防护将十分重要。虚拟机管理上配置对VMware ESX和ESXi的保护,如配置审计迹、深度防御、对一个目录的访问控制权限等。VMware ESX和ESXi通常有四种网络架构:把管理工具相互连接起来的管理网、为ILO和DRAC等提供服务的控制网、VMotion网和存储网。对于这四个网络的任何访问都可能破坏到VMware ESX和ESXi的运行环境,因此为更好地保护VMware ESX和ESXi需做到隔离管理网和其它的环境(包括控制网),并严格控制对管理网络的访问;将虚拟中心和管理主机放置在管理网并配置防护;在ESXi管理设备和管理网之间配置防火墙。通过增强监控和连接管理的能力更好地保护VMware ESX和ESXi,增加虚拟服务器的安全性。
图3 网络安全架构设计
虚拟机的VMware VMotion技术可以在两台正在运行的服务器之间进行实时迁移,具有零停机性能,这样将大幅度提高服务器的可用性,保证系统数据的完整性;VMotion能够自动优化和分配资源库,允许管理员在资源库中不断地自动分配虚拟机、在不中断业务运作的情况下进行各项维修工作;不需要预先设定停机时间;在服务器发生故障或者表现不佳之前,进行迁移。
每一台VMware ESX服务器配有一个HA代理,持续不断地每隔五秒检测集群中服务主机的心跳信号,若某台ESX主机在连续15秒后都还没有发出心跳信号,那么该主机就被默认为发生了故障或者与网络的连接出现了问题,这时该主机上运行的虚拟机就会自动被转移到群集中的其他主机。VMware HA能够对一个群集中的多台ESX服务器进行故障转移,这样的修复并不会改变操作系统的状态。此外,虚拟机中任何正在进行的某一台前端服务器down时系统仍能正常运行。当所有前端主机服务器都无法正常工作且不能在段时间内恢复时,能够通过负载均衡设备直接切换到校区二的备机,保障在最短时间内恢复系统正常运行。
图4 系统容灾架构
表1系统容灾
系统及数据容灾实现
为保障邮件数据容灾安全性在服务器上部署Double-Take实时备份和RecoverPoint磁盘连续性保护双重备份策略,防止由于系统问题、服务器问题、数据逻辑问题等不可预测原因导致的用户邮件数据丢失。容灾架构如图4所示。
Double-Take系统状态与数据的实时复制、本地或远程备份服务器镜像、集成VSS/CDP,随时对任意点进行恢复、通过一个磁盘存储提供集中备份、按需恢复:本地或远程恢复、不同硬件恢复、支持 P2P, P2V, V2V与V2P。RecoverPoint负责邮箱用户数据CDP连续保护,是存储附属功能,原理是在存储上对生产卷复制镜像卷,配合日志在镜像卷还原数据。镜像卷挂在邮件生产服务器或单独恢复服务器上,被恢复历史数据再次导入用户在线数据。邮件系统出现故障及灾备切换情况见表1。
浙江大学邮件系统通过将前端应用与后端数据分离提高的系统扩容以及管理的灵活性;通过负载均衡、链路均衡、IPv4-IPv6双栈提高Web访问速度和收发邮件速度、提高系统安全性与容灾的可靠性;通过邮件系统部署SSL、Cookies检测、IP检测以及弱密码检测等提高用户账号安全性;通过优化过滤算法,并同国内外反垃圾联盟合作建立垃圾邮件指纹库来提高垃圾邮件过滤率。业务也不会丢失,VMware HA的故障转移几乎完全透明的,一般不会出现任何停机的危险,提高了邮件系统不间断运行的可靠性。
网络架构安全保障
为防御来自校园网内部及Internet的网络攻击,提高邮件服务器的安全性能,在服务器集群前端部署了防火墙设备,所有来自Internet和校园网的流量均经过防火墙设备,通过配置安全策略,保证只有经过授权的流量才可以通过防火墙;同时在防火墙设备链路上串联了入侵检测和防御设备IDP,不仅可以与防火墙实现优势互补,同时还能防御防火墙无法处理的服务器集群网络内部的攻击。防火墙和IDP双层防护,为浙江大学邮件系统服务器集群提供了良好的网络安全保障。 网络架构如图3所示。
图3中网络链路上还添加链路均衡和负载均衡设备,LinkProof外接电信、移动、联通、华数及教科网各条链路,内接核心交换机,核心路由器上启用针对前端邮件服务器IP地址和AppDirector VIP的策略路由将MAILPOP3SMTPIMAPSPAM等域名授权记录指向LinkProof,由LinkProof实现智能解析。由此实现链路均衡,各条线路链接上来的链路均能达到最好网络保障,并降低由于某条校园网出口造成的系统故障。链路均衡和负载均衡都需要配置为透传模式,因为邮件系统的邮件来源不能失去源地址,否则将无法运行垃圾邮件过滤策略。
增加均衡设备一方面提高了用户的登录速度和系统处理能力,另一方面提高了系统的安全性,确保在外部某一条网络断掉或者
(作者单位为浙江大学图书与信息中心)