分类: 网络与安全
2019-03-22 18:56:23
电子邮件是整个互联网业务重要的组成部分。据相关报道统计,四分之三以上的用户上网的主要目的是收发邮件,每天有十数亿封电子邮件在全球传递,其应用频率已经超过了WWW服务,因此,电子邮件已成为网络用户不可或缺的需要。
然而,由于电子邮件的免费特性以及一些电子邮件服务器的开放性,使得电子邮件服务面临着垃圾邮件、病毒感染以及服务器滥用等严重的安全问题。基于这个背景,本专题对Linux系统中的著名邮件服务器(包括qmail邮件服务器、Postfix邮件服务器)的安全配置和使用作详细介绍。
1、电子邮件系统面临的安全威胁
一般说来,电子邮件系统面临如下两种安全威胁:
(1)电子邮件系统自身的安全问题:电子邮件系统自身作为一个网络服务器,存在着配置和误操作上的安全威胁和隐患,如没有合理配置服务器的相关配置文件中的重要选项等,极有可能造成潜在的安全隐患。另外,电子邮件系统版本的及时更新与否也影响到其安全;
(2)垃圾邮件问题:垃圾邮件问题是当今最让网络用户头疼的顽疾之一。许多不请自来的垃圾邮件不但占据网络带宽,也极大地消耗了邮件服务器的存储资源,给用户带来非常大的不便。如何应对该问题,是电子邮件系统面临的最大的挑战;
(3)开放性中继的安全问题:这就是大家经常所谈到的open relay的原理,如果设置不合理,将直接引起电子邮件系统的滥用,甚至会成为垃圾邮件的温床,它可以说是电子邮件系统中的“定时炸弹”。
2、安全使用Qmail邮件服务器
Qmail 的配置文件是由多个文件组成的,不是集中在一个文件中。每个文件控制相应部分的功能和属性,一个可执行程序可能有多个配置文件控制,所有的配置文件共同决定了 qmail 运行的实现和模式。这些配置文件都在qmail的control目录中,即位于 /var/qmail/control 目录中。合理设定如下选项,可以有效地增强Qmail服务器的安全性能。
(1)badmailfrom
这个配置文件是控制邮件系统拒绝接收的邮件地址和邮件域,主要是为了防止垃圾邮件。如果一个邮件地址或者邮件域被列入到这个文件中,系统就会拒绝接收这个邮件地址发来的邮件,或者拒绝邮件域下所有邮件地址发来的邮件。不过这个配置文件只是一般的垃圾邮件防范手段,对于比较全面的垃圾邮件过滤技术还要靠第三方软件来实现。该文件的格式如下:
example@deny.com //拒绝这个地址发来的邮件
@deny.com //拒绝这个邮件域下的所有帐号发来的邮件
(2)concurrencylocal
这个文件定义了 qmail 可以同时投递的本地邮件的个数。这个参数的缺省值是 10,也就是说系统允许同时有 10 个邮件在本地投递。 concurrencylocal 这个参数的最大值是由编译时的conf-spawn参数来决定的,缺省值是120,最大值是255。该值应该设置恰当,设得过大或者过小会浪费或者损失Qmail服务器的性能。
(3)concurrencyremote
这个参数定义了 qmail 可以同时投递的远端邮件的个数,这个参数的缺省值是 20。这个参数的最大值也是由 conf-spawn 来决定的。设置的重要性如同选项(2)所示。
(4)databyes
它定义了 qmail-smtpd 所允许接收的邮件的最大字节数。
这个参数的缺省值为 0,表示对接收邮件的字节数没有限制。如果要限制最大的接收为 10M,操作如下:
echo 10485760 > /var/qmail/control/databytes
这是任何大于 10M 的邮件都会被拒绝。这个参数最好合理设置,以避免恶意的对你服务器发送大量的超大邮件,产生邮件服务器负荷过大,甚至系统崩溃的危险。
(5)me
这个配置文件是 qmail 系统十分重要的一个文件,如果这个文件不存在,qmail 系统将无法运行。 me 是用来定义本地邮件服务器的主机名的。有多个配置文件是和 me 有关联的。如果那些配置文件不存在,系统默认会从
me 中读取参数值的。me 这个配置文件一般都是在 qmail 系统安装时使用
configure-fast 来创建的。
(6)queuelifetime
这个配置文件是定义一个邮件在邮件队列中存活的时间。
缺省值为 7 天(604800s),这个期限掉了以后 qmail-send 将会进行最后一次的投递尝试,如果投递失败,该邮件将会从邮件队列中删除。
(7)rcphosts
这个配置文件也是 qmail 一个十分重要的文件,这个文件是定义系统允许转发邮件的邮件域。
如果这个文件不存在或者为空,你的系统将会接收 Internet 上所有的域的邮件转发,即你的系统是 Open relay(存在被恶意用户作为垃圾邮件发送服务器的危险!!!)。配置文件 rcpthosts 最多可以支持
50 个主机名和域名。如果超个这个数字,就需要保存到他的扩充配置文件
morercphosts 中,然后使用 qmail 的命令程序
qmail-newmrh (该文件一般在 /var/qmail/bin 目录下)来生成二进制的 morercpthosts.cdb 文件,这样
qmail-smtpd 才可以从这个二进制文件中读取信息。
(8)virtualdomains
这也是 qmail 的一个非常重要的配置文件,它定义了 qmail 的虚拟邮件域,qmail
结合 vpopmail 的虚拟域管理功能可以定义多个虚拟邮件域。
在邮件安全领域,防范策略已经不能满足人们对邮件安全的需求,邮件内容安全已经慢慢被人们所重视,这样一来,即使用户的邮件或者账号信息被窃取,还能让用户的邮件信息不泄露。要想实现这些首先就是邮件内容加密技术,另外需要附加一些二次认证手段。单纯的加密技术现在也是有的,比如PGP在邮件中的使用,不过这些基本都是点对点的使用,而且需要自己管理密钥,而且很难成规模使用,除此之外就是一些付费的服务或者购买整套的服务设备,对个人用户和企业来说都需要不小的费用和成本,不过随着"邮件内容加密"的发展,现在已经有一些免费的公开平台了,比如说”“,用户不用自己管理密钥,安全性也高,是以”邮件加密网关“的形式存在的,使用的是基于身份标识的加密方法,企业级用户也可以使用,并且不用改造现有的邮件架构,我相信慢慢的会有更多的免费开源系统雨后春笋般的出现。