当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 防止邮件服务器被滥用

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 防止邮件服务器被滥用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 51 ::
收藏到网摘: n/a

邮件服务器在Internet上扮演着一个非常重要的角色。SMTP(简单邮件传输协议)是Internet上计算机之间传送电子邮件所普遍采用的协议,Sendmail是构成邮件服务器的Unix系统中使用极为广泛的一种邮件传输代理程序,它遵循SMTP协议,提供了很强大的邮件服务功能,可以承载高达数万个用户的电子邮件通信服务。

美中不足的是,Sendmail在为用户发送邮件时,并不对用户进行身份认证,这就给一些广告邮件或垃圾邮件的制造者提供了机会──任何人只要想发信,就可以利用任何一台没有带认证功能而又对其“openrelay”的Sendmail邮件服务器,为其发送大量的垃圾或广告信件。虽然Sendmail8.9.3以上的版本提供了一些限制邮件转发的功能,可以在某种程度上限制这种情况的发生,但它只能根据静态的IP地址、邮件地址或域名来进行限制,这使得合法用户只能在固定的IP地址范围内使用邮件服务器,否则将会被拒绝。这样就给用户带来了使用上的不方便,例如用户下班回家或是出差在外,都无法使用工作单位的邮件服务器发信,学生放假离开学校也不能使用学校的邮件服务器发出信件。但是如果设定邮件服务器为openrelay模式,又怕造成服务器转发功能被滥用。这是个很矛盾的问题,长期困扰着邮件服务器的管理员。

为了不让自己的邮件成为垃圾邮件的中转站而被外面的邮件服务器拒绝,以往许多邮件服务器的管理员大都只能选择限制mailrelay的模式。现在好了,随着Sendmail软件版本的不断更新,新的功能也随之出现。使用新版本的Sendmail8.12.5邮件服务器软件,再搭配Cyrus-SASL(SimpleAuthenticationandSecurityLayer)身份认证程序库,就可以解决对邮件用户进行身份认证的问题。服务器有了认证功能后,任何人想通过邮件服务器发送信件时都得先输入用户名和密码进行身份认证。

下面就给大家详尽解释一下如何编译、安装Cyrus-SASL程序库和Sendmail8.12.5软件使邮件系统支持SASL的SMTP认证功能。

一.环境

操作系统平台:Solaris2.7或Linux6.2

使用软件:Cyrus-SASL1.5.27和Sendmail8.12.5

二.编译、安装Cyrus-SASL程序库:

1.下载:

ftp://ftp.andrew.cmu.edu/pub/cyrus-mai/cyrus-sasl-1.5.27.tar.gz

2.解包:

tarxvfzcyrus-sasl-1.5.27.tar.gz

3.编译、安装:

进入cyrus-sasl-1.5.27目录:

#cdcyrus-sasl-1.5.27

编译配置:

#./configure--enable-login--enable-plain

这里由于SASL库缺省状态下并不支持某些客户端软件的使用方式,所以要在生成配置文件时特别加入一些功能选项。具体要加什么可以用命令查看:#./configure-help如加“--enable-login”是因为OutlookExpresss使用LOGIN的认证方法,SASL库缺省并不支持这种方式,所以要在生成配置文件时特别加入。另外,缺省情况下,所有的库函数是安装到“/usr/local/lib”目录下,但Sendmail使用的库函数是在目录“/usr/lib”中的,所以需要做一些修改。在运行configure脚本前,修改其中的缺省路径就可以了。方法是打开configure文件找到下面这一行:

ac_default_prefix=/usr/local

改为:

ac_default_prefix=/usr

编译:

#make

安装:

#makeinstall

到这里SASL库就安装好了(注意在整个编译安装的过程中都不能有任何错误警告显示才行)。

接着必须设置Sendmail的使用者身份验证方式,因为这里要使用的是系统账号与密码来进行验证,所以要在“/usr/lib/Sendmail.conf”文件中指明:

#cd/usr/lib/sasl/

#cat>Sendmail.conf

pwcheck_method:shadow

^d