分享
 
 
 

搞定Sendmail邮件权限控制

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

在当今网络的应用中,安全是越来越显出它的重要性了。而E-mail服务是网络世界的一项十分有价值的应用,同样它受到的安全上的威胁也越来越大。从邮件中,黑客们可以采取各种各样的方式来寻找你网络系统上的安全漏洞并实施攻击。比如说,通过在短时间内连续发送大量的垃圾邮件,可以导致你的邮件服务器系统崩溃;另外有些邮件发送者可以利用你的邮件服务器作他们的代理转发系统,这也可能让你系统“蒙受不白之冤”。还有一种情况是,有些站点发来的邮件是不可靠或者非法的,这也需要得到有效的控制。那么怎样能够实现这些对邮件的控制呢?

一、Sendmail出场

这里我们就来探讨怎样在Linux平台上用Sendmail邮件程序来完成这项功能。由于篇幅所限,现在我们只可能就其很小的一部分功能作一些简要介绍。

我们假定你有一台服务器,并且已经安装好了Sendmail软件(推荐为8.9.x以上的版本),可以实现收发邮件的功能。子网内部机器都可以通过而且必须通过该服务器的邮件代理来发送和接收Internet上的邮件。我们以Sendmail的标准配置为参照,看看如何实现对SMTP邮件的中继转发控制。在安装完Sendmail后,我们在/etc/mail(这是默认目录)下,可以找到几个用来控制的数据库及其编辑文件,包括mailer、 deny、access等。其中access库即是我们本文讨论的重点。当我们用vi access查看该文件时,可以看到如下一些默认行(注:这里示例的sendmail版本是8.9.3):

localhost.localdomain

RELAY

localhost

RELAY

这些默认行说明对你的本域内机器可以实现转发,我们下面的工作就是要对该文件进行加工编辑,以实现对邮件传输的权限控制,从而保证一定的系统安全性。

二、走进邮件数据库

我们仍旧以vi access命令来实施对文件的编辑。首先简单说明一下access数据库的作用及基本形式。access库允许系统管理者按照自己的策略决定是否允许其它域的邮件服务器或邮件地址访问。这个数据库中的每条记录包括一个域名(或者网络名、子网名以及直接的邮箱地址等)作为关键字,以及一项针对该关键字的行动值(即对关键字表示的地址采取什么样的控制方法),它们以TAB键分隔。在默认行中,我们看到的localhost localdomain、localhost都是关键字,而relay则是相应的行动值。

关键字可为多种形式,如完全或部分域名、直接的邮箱地址、IP地址等,例如:

host.subdomain.domain.com,subdomain.domain.com或domain.com都是符合要求的关键字,同样,user@host.domain,@host.domain,205.199.2.250,205.199.2,205.199也都是合法的关键字。

由此可见,关键字的匹配项很多,这就大大提高了程序对邮件的控制功能。范围或大或小,都可以由我们灵活控制,确实不错!以下我们便可根据自己系统的需要分别对这些关键字作权限控制,具体来说,行动值有四类:其中的relay,我们已经在文件的默认值中见过了,它表示允许通过你的邮件服务器对邮件作中继转发。其它的三类分别为ok、reject和discard。别小看就这么几项,但实现的功能可不小哦。ok是用来允许用户的任意访问,它会覆盖任何其它已建立的检查(实际设置中,最好别设这项,除非你对该用户是绝对信任的);reject可以实现对来访地址的拒绝,它根本就不容许该地址与你的邮件服务器进行连接通信;如果你想对来访地址耍一个小花招,那么选择discard就再合适不过了,它的作用是在接收到传输的邮件消息后,偷偷地把它丢弃掉(在发送者看来,他的邮件的确是接收了,但他并不知道,发送的目的地址根本不可能接收到他的邮件,服务器巧妙地欺骗了他,这就叫以其人之道还治其人之身!)。除了以上介绍的这四类以外,还可以通过传递出错端口标志和出错信息来拒绝接收邮件。

三、动手做实例

我们下面就来看一看几个例子:

cyber.com

reject

sendmail.org

relay

my@sendmail.org

ok

spam@buyme.com

discard

202.103.109.35 reject

202.103 relay

@buyme.com

550

You don't see the whole world!

(注:四个行动值不区分大小写。)

你可以根据你的需要加入合适项以实现邮件权限的设置。为了给大家一个整体的概念,让我们再看一个完整的access文件(已经作了各种限制的):

# Check the /usr/doc/sendmail-8.9.3/README.cf file for a description

# of the format of this file. (search for access_db in that file)

# The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc

# package.

# by default we allow relaying from localhost...

localhost.localdomain

RELAY

localhost

RELAY

#other control measures to your email system

spamer@playboy.com

reject

webmaster@sendmail.org

ok

202.103.109.8 relay

@bad.com

550

You are a bad user!

Dis.xq.com

discard

完成了对access文件的编辑之后,可千万不要以为就万事大吉了。还有一个非常重要的步骤,那就是把修改的内容写到access数据库中去以使之生效。具体的实现方法是:在命令符下,输入makemap -v hash /etc/mail/access〈 /etc/mail/access,然后系统会给出相应的响应信息,如果结果类似以下这个样子:

key=′localhost.localdomain′, val=′RELAY′

key=′localhost′, val=′RELAY′

key=′spamer@playboy.com′, val=′reject′

key=′webmaster@sendmail.org′, val=′ok′

key=′202.103.109.8′, val=′relay′

key=′@bad.com′, val=′550

You are a bad user!′

key=′dis.xq.com′, val=′discard′

那就表示一切正常!最后请重新启动Sendmail服务,剩下你要做的就是好好享受一下你的工作成果了!

附记:本篇文章完成之际,正值Sendmail 8.10.0全新推出,该版本据说功能较以前有大幅提升。对于本文所涉及的access控制,新的Sendmail版本已经可以实现对邮件收取和发送分别作不同的控制,如下:

To:file.example.net RELAY

From:file.example.net

RELAY

第一条记录允许对去向file.example.net域的邮件作转发,但不允许对来自此域的邮件作转发;而第二条记录则正好相反。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有