侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

配置Sendmail服务器以防治垃圾邮件 2

技术  /  管理员 发布于 7年前   253

2.源码安装方式
首先取得最新版本的源代码,可以从http://www.sendmail.org/或ftp://ftp.sendmail.org/pub/sendmail/两个网站取得。 
然后,将其存放在/usr/local目录下。并执行以下命令,解压缩:
#cd /usr/local
#tar -zxvf sendmail-8.13.4.tar.gz
这样就会在/home目录下建立一个sendmail-8.13.4目录:
/usr/local/sendmail-8.13.4/README

/usr/local/sendmail-8.13.4/src
/usr/local/sendmail-8.13.4/cf
/usr/local/sendmail-8.13.4/doc
接下来需要编译源代码。由于Sendmail自己带了一个编译程序Build,所以不用make命令:
#cd /usr/local/sendmail-8.13.4/src
#./Build install
安装好了该软件以后,可以使用以下命令来确认sendmail是否已经启动:
#pstree |grep sendmail
如果启动了Sendmail,那么这个命令将显示出其相关信息。否则将没有任何提示地回到命令行。如果没有启动,用户可以手动启动。如下面命令所示:
#service sendmail start
配置Sendmail抑制垃圾邮件
1.关闭Sendmail的Relay功能
所谓Relay功能就是指别人能用这台SMTP邮件服务器给任何人发信,这样别有用心的垃圾发送者就可以使用这台邮件服务器大量发送垃圾邮件,而最后别人投诉的不是垃圾发送者,而是这台服务器,因此必须关闭Relay。具体的方法就是,到Linux服务器的/etc/mail目录编辑access文件,去掉“*relay”之类的设置,只留“localhost relay”和“127.0.0.1 relay”两条即可。注意,修改access文件后还要使用命令使修改生效:makemap hash access.db < access。
2.在Sendmail中添加RBL功能
RBL(Realtime Blackhole List)是实时黑名单。
只要在Sendmail中加入RBL认证功能,就会使邮件服务器在每次收信时都自动到RBL服务器上去查实,如果信件来源于黑名单,则Sendmail会拒收邮件,从而使单位的用户少受垃圾邮件之苦。在Sendmail中添加RBL认证,需要对sendmail.mc添加以下内容:FEATURE(`dnsbl',`relays.ordb.org',`″Email blocked using ORDB.org - see ″')。
最后执行“m4 sendmail.mc>sendmail.cf”和“service sendmail restart”两条命令,使有关Sendmail的修改生效。
3.使用access数据库
访问数据库定义了什么主机或者IP地址可以访问本地邮件服务器和它们是哪种类型的访问。主机可能会列出OK、REJECT、RELAY或者简单的通过Sendmail的出错处理程序检测一个给定的邮件错误。主机默认列出OK,允许传送邮件到主机,只要邮件的最后目的地是本地主机。列出REJECT将拒绝所有的邮件连接。如果带有RELAY选项的主机将被允许通过这个邮件服务器发送邮件到任何地方。
/etc/mail/access.db是一个散列表数据库,是使用/etc/mail/access文件产生的,该文件为纯文本文件,其格式是“地址 操作”。
下面给出使用上述地址和操作字段,修改/etc/mail/access文件,从而生成/etc/mail/access.db数据库的操作步骤:
首先,使用vi编辑/etc/mail/access文件。
#vi /etc/mail/access
然后,添加如下内容。
samsung.com RELAY //允许samsung.com的域内所有主机使用服务器转发邮件
10.0.6.134 RELAY //允许IP地址为10.0.6.134的主机使用服务器转发邮件
192.168.10 RELAY //允许192.168.10网段内的主机使用服务器转发邮件
info.com REJECT //拒绝info.com的域内所有主机使用服务器
最后,存盘退出,并且使用makmap命令生成/etc/mail/access.db数据库即可。
#cd /etc/mail
#makemap hash access.db 4.打开Sendmail的SMTP认证功能
虽然可以在Sendmail中使用上述的access数据库来管理用户,使其合法地使用SMTP服务器进行邮件的传递。但是,由于用户的不断增多,以及很多用户都是在一个网段里面,如果单单依靠上述的access数据库很难有效地管理SMTP服务器的使用,那样会使得access数据库规模增大,管理混乱,从而造成效率降低,甚至出错。所以,非常有必要使用Red Hat Linux下自带的身份认证程序库,配合Sendmail服务器一起使用,对使用SMTP服务的用户进行身份认证,从而保证该服务的合法使用。
使用前要下载sasl库,该函数库提供了安全认证所需函数,下载地址是“ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/”,目前网上最新版本为cyrus-sasl-2.1.21.tar.gz。下面介绍使用该身份认证程序库配置带认证的sendmail的步骤:
首先检查系统是否已经安装了sasl相关的RPM包。
#rpm -a |grep sasl
一般系统都会默认安装,如果没有,则需要使用如下命令安装四个工具包:
#rpm -ivh cyrus-sasl-md5-2.1.10-4
#rpm-ivh cyrus-sasl-2.1.10-4
#rpm-ivh cyrus-sasl-plain-2.1.10-4
#rpm -ivh cyrus-sasl-devel-2.1.10-4
或者通过使用下载下来的源代码安装包,进行如下安装:
#cp cyrus-sasl-2.1.21.tar.gz /usr/local
#gzip cyrus-sasl-2.1.21.tar.gz
#tar -xvf cyrus-sasl-2.1.21.tar
#cd cyrus-sasl-2.1.21
#./configure -prefix=/usr --enable-login --with-pwcheck --with-digest
#make
#make install
然后,查看sendmail与认证相关的配置。
#cat /usr/lib/sasl/Sendmail.conf
pwcheck_metod:pam
接着,需要编辑sendmail.mc,修改和认证相关的配置内容,删除每行的dnl即可。
#cd /etc/mail
#vi sendmail.mc
取消如下的几行注释:
//TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
//define(`confAUTH_
MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
再接着,使用m4命令生成cf文件。
#m4 sendmail.mc > sendmail.cf
然后,重新启动sendmail服务器。
#service sendmail restart
最后,测试sasl。
#sendmail -d0.1 -bv root | grep SASL
NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS
通过上述六个步骤的配置工作后,就成功地完成了对带SMTP认证的Sendmail邮件服务器的配置。


  • 上一条:
    第三章 在Debian上用Exim配置邮件服务器
    下一条:
    配置Sendmail服务器以防治垃圾邮件
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    • 2025-07
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客