sendmail的安全配置

Sendmail作为免费的邮件服务器软件,已被广泛应用于Internet各种操作系统的服务器中。如:Solaris,HPUX,AIX,IRIX,Linux等等。随着互连网的普及,邮件服务器受攻击的机会也大大增加。

目前互连网上的邮件服务器所受攻击有两类:一类就是中继利用(Relay),即远程机器通过你的服务器来发信,这样任何人都可以利用你的服务器向任何地址发邮件,久而久之,你的机器不仅成为发送垃圾邮件的帮凶,也会使你的网络国际流量激增,同时将可能被网上的很多邮件服务器所拒绝。另一类攻击称为垃圾邮件(Spam),即人们常说的邮件炸弹,是指在很短时间内服务器可能接收大量无用的邮件,从而使邮件服务器不堪负载而出现瘫痪。这两种攻击都可能使邮件服务器无法正常工作。因此作为一个校园网邮件服务器防止邮件攻击将不可缺少。

目前对于sendmail邮件服务器,阻止邮件攻击的方法有两种。一种是升级高版本的服务器软件,利用软件自身的安全功能。第二种就是采用第三方软件利用其诸如动态中继验证控制功能来实现。下面就以sendmail V8.9.3为例,介绍这些方法。

1.服务器自身安全功能

(1)编译sendmail时的安全考虑

要利用sendmail 8.9.3的阻止邮件攻击功能,就必须在系统编译时对相关参数进行设置,并借助相关的软件包。目前主要就是利用Berkeley DB数据库的功能,Berkeley DB包可以从相关站点上下载,并需要预先编译好。然后将Berkeley DB的相关参数写进sendmail的有关文件中。

a.修改site.config.m4文件

将编译好的Berkeley DB有关库文件路径加入到site.config.m4文件中,使sendmail编译后能够使用Berkeley DB数据库。例如:

#cd $/sendmail-8.9.3/BuidTools/Site

修改site.config.m4文件

define (confINCDIRS, -I/usr/local/BerkeleyDB/include)

define (confLIBDIRS, L/usr/local/BerkeleyDB/lib)

b.修改sendmail.mc文件

sendmail.mc是生成sendmail.cf的模板文件之一,要使sendmail具有抗邮件攻击功能还需在该文件中进行相关定义。主要包括以下几项:

......

FEATURE(relay_entire_domain)

FEATURE(ACCESS_DB)dn1

FEATURE(blacklist_recipients)

......

(2)相关文件的配置

正确编译好sendmail是邮件服务器安全控制的基础,而真正的安全设置主要还是利用相关文件进行的。这种包含控制语句的文件主要是access和relay-domains。

access是邮件安全控制的主要数据库文件,在该文件中可以按照特定的格式将需控制的域名、IP地址或目标邮件地址,以及相应的动作值写入,然后使用makmap命令生成access.db文件(#makemap hash access.db

spam.com REJECT

edu.cn OK

hotmail.com DISCARD

其中reject动作是拒绝接受从指定地址发来的邮件;ok是允许特定地址用户任意访问;relay允许通过本邮件服务器进行中转邮件;discard是将收到的邮件交给特定命令进行处理,例如:可以设定将收到的邮件丢弃,或者设定收到邮件后返回给使用者一条出错信息等等。

Relay-domains文件是设定哪些域是该服务器可以中继的域,其格式为每个域占一行。如:

......

CN

EDU

JP

......

在服务器开始使用时建议将所有顶级域名加入其中,以后再根据安全需要对其进行修改,否则将会使pop3用户发送邮件时出现relay reject错误,而无法向没有加入的域名目标邮件地址发送邮件。

时间: 2024-10-06 13:29:59

sendmail的安全配置的相关文章

linux安装配置sendmail实现邮件发送

sendmail配置 yum -y update sendmail sendmail-cf SendMail相关目录 1. 设定档目录:/etc/mail 2. 记录档:/var/log/maillog 3. 己收信件之暂存目录:/var/spool/mail/ 4. 寄出信件之暂存目录:/var/spool/mqueue/ 先备份,后修改 cd /etc/mail mv sendmail.cf sendmail.cf.bak 解除只有Server本身可以递送信件的设定 vi /etc/mail

在Linux系统下面架设Sendmail服务器

架设sendmail服务器 这次我们来学习Linux系统中的Sendmail服务器的配置.(邮件服务器的IP192.168.1.2 主机域名为mail.ltest.com) 前提:首先我们 把DNS服务器安装OK 能够解析,不明白的看http://www.cublog.cn/u/21675/showart_263507.html 1,首先安装Sendmail所需软件 [root@localhost ~]# rpm -q sendmail m4 sendmail-8.13.1-2 m4-1.4.1

AIX操作系统下如何使用Sendmail

一.基本知识:  Sendmail是在Unix环境下使用最广泛的邮件传输代理程序,Sendmail邮件服务器的特点是功能强大但配置复杂,sendmail的版本升级非常频繁,可以通过telnet到主机的25号端口来判断该主机使用的sendmail版本号.例如: telnet xxx.xxx.xxx.xxx 25 220 xxx.xxx.xxx.xxx ESMTP Sendmail 8.12.1/8.12.1; Thu, 22 AUG 2002 10:33:21 0800 (EAT) 上述信息表明该

linux下邮件服务器的配置

一.安装Sendmail. 完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看: [root@ahpeng root] rpm –qa  grep sendmail 如果确定没有安装,请在图形界面下依次选择单击"主菜单-系统设置-添加删除应用程序",然后在打开的"软件包管理"窗口里选中"邮件服务器"选项,点"更新

Centos 5.6下搭建sendmail邮件服务器

所用软件:centos 5.6镜像自带RPM包 测试所用域名:jh.com Sendmail是UNIX/Linux环境中稳定性较好的一款邮件服务器软件,通过对Sendmail服务器的配置可以实现基本的邮件转发功能:dovecot服务器实现了POP3协议,可以与Sendmail服务器配合工作,实现用户对邮件的收取功能:OpenWebmail是网页形式的邮件应用系统,可实现用户对邮件的发送.收取和管理功能.通过对Sendmail.dovecot和penWebmail的综合管理,系统管理员可以构建出功

Sendmail邮件服务器的组建方法

一>.Sendmail服务软件包 sendmail-8.13.8-2.el5.i386.rpm:sendmail服务的主程序包,服务器端必须安装该软件包. sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包 sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服务器开发工具软件包 sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服务器的说明文档 m4-1.4.5-3.el5.1.

解决CentOS(RedHat)中sendmail和sm-client启动慢故障(转)

  Starting sendmail: Starting sm-client: 刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3分钟才继续,找了一下sendmail和sm-client的文档发现自己犯了一个错误. 我简单说一下原因,就是sendmail和sm-client都是MTA,只认网络主机名,如admin.slyar.com这样的,而我之前那篇文章直接把localhost.localdomain改成了Slyar,不

Sendmail在Linux下架设Mail服务器详解

sendmail是最重要的邮件传输代理程序.理解电子邮件的工作模式是非常重要的.一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理. 用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express.foxmail等.而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail. 当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它.信件传输代理得到了邮件后,首先

CentOS发送邮件(sendmail/mstmp)方法总结

先来看使用sendmail发邮件配置. 安装sendmail 执行:  代码如下 复制代码 ?1 [root@vps478753 ~]# yum -y install sendmail 程序会自动搜索出sendmail安装程序自动安装. 安装好sendmail以后执行以下命令启动sendmail  代码如下 复制代码 ?123 [root@vps478753 ~]# service sendmail start Starting sendmail: