电子邮件系统已成为现代企业必不可少的网络基础设施,开源电子邮件系统也逐渐成为企业构建应用时的首选。然而,如何确保电子邮件系统安全、抵御lj邮件、邮件bd等安全威胁是企业在应用构建过程中需要着重解决的问题。作为本系列的第一部分,本文将详细介绍企业开源电子邮件系统的安全原理及 Sendmail、Qmail 邮件服务的安全防护实战。
企业开源电子邮件系统简介
企业开源电子邮件系统模型基本可分为邮件传递代理 MTA、邮件存储和获取代理 MSA 以及邮件客户代理 MUA 三大模块,下面就邮件系统的组成作介绍。
邮件传递代理(MTA)
企业 Linux 开源系统下的邮件传递代理(Mail Transfer Agent)通常使用 Sendmail,该系统几乎在任何 UNIX 平台上都有相应的版本。另外,还有 D.J. Bernstein 的 Qmail 以及 Wietse Venema 的 Postfix 系统。它们负责接收并转递邮件。这虽然看起来很简单,实际上设置可能相当复杂。在邮件策略管理时需要设置一系列的路由和伪装选项,而许多功能是由语言编程实现的,用以过滤或者修改中继消息的头信息。此外邮件路由和寻址邮件存储信箱的过程包含了复杂的与各种目录服务交互操作,这些目录服务可能包括 DNS、密码文件、NIS、LDAP 别名 / 数据库管理文件,以及各种的通用数据库系统。
如今的 MTA 还要实现反lj邮件功能,控制邮件头的 to 和 from 地址格式,达到允许或者限制特定域名或者地址范围目的,以上主要是通过修改存取控制表和规则实现的。这一过程通常包括查询数据表或者目录服务,例如 Paul Vixie 的实时黑洞列表程序 RBL,邮件滥用预防系统 MAPS,以及同类的 Dorkslayer/ORBS 系统。MTA 一直在不断增强之中,以实现加强的策略控制以及反bd和反蠕虫等功能。
在大多数情况下,安装和设置 MTA 系统比较容易,不过强大功能的实现是以高度复杂性为代价的。如果用户所在的机构选择定制的 MTA 来满足特定的路由、体系、安全性和反lj邮件等要求,就需要更加复杂的设置选项,配置包括设计并处理 MTA 和各种子系统如 LDAP、DNS 服务器之间的复杂关系。
众多的 MTA 软件中,最为有影响的应该是 Sendmail、Qmail 和 Postfix。Sendmail 是最古老的 MTA 之一,也拥有一批固定的使用者;Qmail 是新生一代的 MTA 代表,其特点是速度快、体积小,并且容易配置安装。Postfix 起源于 1996 年,它采用模块化设计,使用了大量优秀的技术,以达到安全高效的目的。Postfix 发展到现在已经成为功能非常丰富、扩展性和安全性非常强的优秀 MTA 软件。
首先谈谈 Sendmail。MTA 软件的很多先进功能都是在 Sendmail 上最先实现的。但 Sendmail 也有典型的历史问题,主要是整个程序的没有实现良好的模块化,运行时需要 SID 权限,以及配置文件复杂难懂。这些是阻碍 Sendmail 更好普及应用的一些客观问题。
接着是 Qmail。Qmail 是新生一代的 MTA 代表,实现了模块化设计,避免了 SID 问题,基本功能齐全,配置较 Sendmail 简单,而且用户也很广泛。但 Qmail 最近几年的开发工作基本停止,补丁程序也相对零乱,这些都是长期使用 Qmail 的用户或者邮件服务提供商不得不认真考虑的问题。另外,Qmail 的扩展性并不是很好,经常需要补丁来完成功能的扩展。
最后介绍 Postfix。Postfix 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。Postfix 在设计上可以说是最为优美的,其实现了良好的模块化,邮件的处理流程是通过调用各个功能模块来完成,在效率、功能、可用性、扩展及安全等方面都考虑得比较充分。Postfix 以替代 Sendmail 为目的,并提供了一个更安全、更高性能的灵活的体系。它同样也采用模块化设计,使用了大量优秀的技术,以达到安全的目的。由于作者的设计理念独到,经过 7、8 年时间,Postfix 现今已发展成为功能非常丰富,扩展性和安全性强的优秀 MTA。
|