热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

使用Sendmail的反垃圾邮件功能

在最近几年,无处不在的垃圾邮件已使得所有邮件箱不堪重负,不断地需要工具以抗击这一无穷尽的垃圾邮件流。不论这一领域的立法是否能成立,至少目前没有迹象表明可以很好的控制。当政治家和产业大腕们大谈电子邮件未来的时候,本地管理员们却不得不面对怎样

    在最近几年,无处不在的垃圾邮件已使得所有邮件箱不堪重负,不断地需要工具以抗击这一无穷尽的垃圾邮件流。不论这一领域的立法是否能成立,至少目前没有迹象表明可以很好的控制。当政治家和产业大腕们大谈电子邮件未来的时候,本地管理员们却不得不面对怎样做才能有助于遏制这个洪水猛兽。

Click here to find out more!&nbsp

Sendmail是目前流行的基于Linux的邮件传输代理(MTA),在网络中它负责处理大量的电子邮件。最新的版本在应对垃圾邮件方面更加成熟,现在,让我们一起探讨一下Sendmail中可以用来反垃圾邮件的一些可选程序。这些选项是对你配置自己的邮件服务器,特定邮件检查,和第三方附加软件最好的方法。

反垃圾邮件
Sendmail中内置的限制垃圾邮件的选项包括中继拒绝,发送方验证,访问控制列表,和详细的报头检查。第三方黑洞列表和软件的应用也可以扩展Sendmail的标准特性。虽然每个人在从邮件中挑选垃圾邮件时似乎都有自己的一套办法,但这会起到事半功倍的效果。分类和丢弃有效电子邮件的危险是存在的,所以需要小心对待反垃圾邮件的配置。多方面的考虑是安全并强烈推荐的,例如防止你的服务器成为一个公用的中继站和配置DNS检测。继续深究应该谨慎,这包括仔细认真地检查邮件日志。这样做,你可以减轻垃圾邮件带给终端用户的烦恼,而不是将合法的邮件消息一并拒之门外,使情况变得更糟。

中继拒绝
所有有助于解决垃圾邮件问题的第一步是不要打开中继服务。简单的说,最大程度地限制用户通过你的服务器发送邮件。一个开放的中继允许Internet上的任何人连接并通过服务器发送电子邮件。

一般地,IT专家总是希望任何人在架设Sendmail服务器之前就认识到,需要采取必要的措施以避免成为一个公开的中继而被发送垃圾邮件的人利用。幸运的是,Sendmail已经在8.9版中关闭了混杂中继。如果使用的是更早的版本,单就这个原因,你可能会考虑升级。垃圾邮件发送者习惯于使用相当蛮横的方法来散布他们的消息。他们热衷的方法是在Internet中搜寻所有可以访问的开放中继邮件服务器。他们会尽可能多地通过服务器发送邮件直到他们的行为被发现或被列入黑名单,然后他们又会搜寻新的开放中继。

Sendmail允许你个别指定哪个域或者IP地址被允许通过你的服务器发送电子邮件。典型的做法是通过一个纯文本文件列出域,或者通过它的访问数据库。访问数据库允许你详细说明来自指定域或网络地址的邮件满足何种条件时才会被处理。所有的邮件都会被中继接受,然后被丢弃,或者再向寄件人发送一条可配置的消息,这个消息可以是很有趣的;但不知为什么,我怀疑发送垃圾邮件的人正在仔细分析他们日志中的错误代码。然而,服务器会给那些想把你的邮件服务器当作一个开放中继的寄件人返回一个550错误,也就是消息“垃圾邮件被清除”。

内置特性
除了避免邮件服务器被用来传播垃圾邮件之外,你还可以直接配置如何处理收到的垃圾邮件。Sendmail允许你仔细研究电子邮件报头,并根据诸如From:和To: 域的内容进行分类。根据这些域的内容,你可以允许来自特定电子邮件地址的邮件并拒绝所有其他的邮件,反之亦然。Sendmail可以检查一个邮件报头的任何部分。所以基于一个前提来丢弃邮件:找出已经判定可作为特定的垃圾邮件组织的唯一特征是可能的。

Sendmail还将检查一个对内连接的DNS地址并确认它是存在的。如果垃圾邮件发送者正在用域名进行欺骗,当他发送的邮件碰到Sendmail,首先在转发时进行一个检查并转换为DNS以确认是否是有效的。当然,这个检查还是无法阻止来自有效域的垃圾邮件,但一个典型的反垃圾邮件程序将包括不同等级的配置。不幸的是,这里没有什么特好的方法,但针对垃圾邮件的不同情况存在多种等级的选择。

Sendmail 8.10发布之后,开始支持SMTP AUTH。SMTP AUTH是另一种类型的选项,想通过验证来阻止垃圾邮件的管理员可以使用这个方法。通过邮件服务器验证的用户被允许进行中继,这个方法对那些旅行在外,可能通过不被信任的IP地址或域名来发送邮件的用户特别有用。尽管这个方法可能在专用服务器上很有用,但它在公用服务器上没什么用处。公用服务器需要能够接收来自任何人的电子邮件,而不仅仅是信任的用户。但对小型的专用服务器,这样做可以完全消除垃圾邮件。

黑洞列表
Sendmail还提供黑洞列表功能。这些列表组成外部的垃圾邮件数据库,用来存储已知的垃圾邮件发送者的DNS信息。可以配置Sendmail拒绝任何来自这些数据库种被列出来源的邮件。但有时候,由于一个用户导致整个邮件服务器被列入黑名单,这影响到这个服务器上所有其他无辜的用户,这时问题就出现了。换句话说,在这个过程中也会出现一些错误。在配置一个黑洞列表的时候,你应该小心处理这个问题。

最有名的一个黑洞列表是由Paul VixIE维护的mail-abuse.org。还有许多其他黑洞列表,针对如何使这类列表更有用进行一些研究或许是必要的。如果维护不利,实际上这些列表是很有害的。如果他们的业务是合法的,但被错误的当作垃圾邮件列入黑名单,应该有方法允许他们恢复自己的名称并将他们的域名从列表中删除。

第三方选项
第三方选项可以包括不止一个的远程垃圾邮件发送者维护列表。一个这样的选项将使用一个第三方邮件服务器来处理邮件并且在DNS中为你的域充当MX记录。这种商业服务将检查消息,并在垃圾邮件被排除在外之后,把这些消息传送到你的本地邮件服务器上。这可以减轻本地服务器的工作压力,但我知道一些管理员在是否让另一个公司来决定哪个邮件将被传输这个问题上会犹豫不决。

另一个方法是使用一个诸如Cloudmark的Authority之类的软件包。这可以在你的服务器上本地执行反垃圾邮件服务并且允许一个更高等级的可配置性。实际上,目前Sendmail的商业版本包含基于Cloudmark的反垃圾邮件软件的过滤工具。

在一个运行了Sendmail的服务器上,从简单的shell脚本到成熟的包转发技术都可以用来阻止垃圾邮件。另一个商业解决方案是MailShell,这个来自Sendmail.org的链接显示了反垃圾邮件选项的多样性。他们中的许多将依赖于特定邮件服务器接收的流量。

总结
在你自我保护以免垃圾邮件之害时,并不是只有一个选择,有许多可用的选择帮助解决这个问题。Sendmail已经将反垃圾邮件方法一体化问题融入到他的软件当中,并且特别是在这个产品的最近版本中,许多选项在缺省时是激活的。通过使用各种内置特性,黑洞列表和服务器方反垃圾邮件程序,你可以过滤掉大部分的垃圾邮件。


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
author-avatar
xuanchen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有