Sendmail环境中检测是否存在邮件代理的小技巧
创始人
2024-07-21 07:00:48
0

我们知道邮件代理有可能是是善意的,也有可能是恶意的,我们如何在Sendmail环境中检测和排除邮件代理带本身的影响呢,请看下文介绍。

  作为广泛应用的邮件服务器软件,sendmail需要和各种smtp的客户端软件打交道。在这些smtp客户端软件中,有些软件是真正的邮件软件,比如Microsoft Outlook Express;有些是有着特殊目的的应用程序,比如Norton Antivirus。

  有些应用程序会截断邮件客户端和sendmail的连接,以“邮件代理”的形式接收客户端的数据,对数据进行处理(比如Norton Antivirus使用这种方式来扫描外出邮件中的病毒),然后转发给sendmail。

  这种“邮件代理”程序可能是善意的也可能是恶意的。但是,当sendmail和邮件客户端软件的通信出现问题的时候,应该首先着手检测此类“邮件代理”程序是否存在以便进一步排除它们的影响。

  sendmail服务程序具有记录smtp会话的功能,大部分邮件客户端软件也有类似的功能。我们可以通过对比服务器和客户端上的会话记录来判断邮件代理程序是否存在。

  首先,您需要用 -X参数运行sendmail:

  #startsrc -s sendmail -a"-bd -q 30m -X /tmp/smtp.sessions"

  注意:

  在一个生产环境中,-X参数可能会产生大量的日志信息。请只在进行测试或故障排除时使用-X参数。

  一个典型的客户机-服务器smtp会话会被这样地记录在/tmp/smtp.sessions中:

  127184 >>> 220 marshak.austin.ibm.com ESMTP Sendmail Tue, 1 Nov 2005 10:31:22 -0600

  127184 <<< HELO IBM8370FEC6B24^M

  127184 >>> 250 marshak.austin.ibm.com Hello [9.53.167.160], pleased to meet you

  127184 <<< MAIL FROM: ^M

  200898 >>> 250 2.1.0 ... Sender ok

  200898 <<< RCPT TO: ^M

  200898 >>> 250 2.1.5 ... Recipient ok

  200898 <<< DATA^M

  200898 >>> 354 Enter mail, end with "." on a line by itself

  200898 <<< Message-ID: <000f01c5df01$88a95fd0$a0a73509@austin.ibm.com>^M

  200898 <<< From: "internship test" ^M

  200898 <<< To: ^M

  200898 <<< Subject: test^M

  200898 <<< Date: Tue, 1 Nov 2005 10:29:06 -0600^M

#p#  

  其中"<<<"表示sendmail服务接收到的信息,而">>>"则表示sendmail服务向客户端发送的信息。如果邮件客户端直接和sendmail服务会话,那么在客户端的smtp会话中所记录的文本信息应该和/tmp/smtp.sessions一致。我们可以利用这个特点来检测邮件代理的存在。

  让我们用一个例子来说明。

  /tmp/smtp.sessions:

  127184 >>> 220 marshak.austin.ibm.com ESMTP Sendmail Tue, 1 Nov 2005 10:31:22 -0600

  127184 <<< HELO IBM8370FEC6B24^M

  127184 >>> 250 marshak.austin.ibm.com Hello [9.53.167.160], pleased to meet you

  127184 <<< MAIL FROM: ^M

  200898 >>> 250 2.1.0 ... Sender ok

  200898 <<< RCPT TO: ^M

  200898 >>> 250 2.1.5 ... Recipient ok

  200898 <<< DATA^M

  200898 >>> 354 Enter mail, end with "." on a line by itself

  200898 <<< Message-ID: <000f01c5df01$88a95fd0$a0a73509@austin.ibm.com>^M

  200898 <<< From: "internship test" ^M

  200898 <<< To: ^M

  200898 <<< Subject: test^M

  200898 <<< Date: Tue, 1 Nov 2005 10:29:06 -0600^M

  200898 <<< X-Priority: 3^M

  200898 <<< X-MSMail-Priority: Normal^M

  200898 <<< X-Mailer: Microsoft Outlook Express 6.00.2800.1506^M

  200898 <<< X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506^M

  200898 <<< ^M

  200898 <<< test^M

  200898 <<< ^M

  200898 <<< ^M

  200898 <<< .^M

  200898 >>> 250 2.0.0 jA1GVM5200898 Message accepted for delivery

  邮件客户端软件的记录:

  SMTP: 10:38:54 [rx] 220 marshak.austin.ibm.com ESMTP Sendmail Tue, 1 Nov 2005 10:40:03 -0600

  SMTP: 10:38:54 [tx] HELO IBM8370FEC6B24

  SMTP: 10:38:54 [rx] 250 marshak.austin.ibm.com Hello [9.53.167.160], pleased to meet you

  SMTP: 10:38:54 [tx] RSET

  SMTP: 10:38:54 [rx] 250 2.0.0 Reset state

  SMTP: 10:38:54 [tx] MAIL FROM:

  SMTP: 10:38:54 [rx] 250 2.1.0 ... Sender ok

  SMTP: 10:38:54 [tx] RCPT TO:

  SMTP: 10:38:54 [rx] 250 2.1.5 ... Recipient ok

  SMTP: 10:38:54 [tx] DATA

  SMTP: 10:38:54 [rx] 354 Please start mail input.

  SMTP: 10:38:54 [tx]

  SMTP: 10:38:54 [rx] 250 Mail queued for delivery.

  我们可以看到,在要求客户端输入邮件信息时,sendmail发出的信息是“354 Enter mail, end with "." on a line by itself”,而邮件客户端收到的信息是“354 Please start mail input.”。由此可知有邮件代理程序存在于邮件客户端与sendmail之间。

  如果您的邮件客户端不支持记录smtp会话的功能,您可以采用以下两种方法:

  1、使用支持smtp会话记录的客户端进行测试;

  2、使用telnet命令连接到sendmail服务器的25端口,手工输入HELO,MAIL FROM,RCPT TO,DATA等命令。

通过文章,我们知道了如何在Sendmail环境中检测是否存在邮件代理,希望对大家有所帮助!

【编辑推荐】

  1. Sendmail 配置文件(一)
  2. Sendmail 配置文件(二)
  3. Nagios中告警邮件如何处理 Sendmail服务的配置
  4. Nagios Sendmail无法发送mail邮件的解决方法
  5. 用sendmailanalyzer来监控自己的Sendmail服务器
  6. Solaris 10下可以用Sendmail发送邮件
  7. Sendmail的安全篇之限制权限、文件修改
  8. 关于Sendmail信件队列

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...