我正在寻找一种方法来查找连接到 Parallels Plesk Automation 11.5 的其中一台 Web 服务器上的垃圾邮件来源。该服务器当前运行 Windows 2008 r2 和 IIS7。
邮件队列不断增长,正如人们所猜测的那样,阻止 IP 并不是一个长期的解决方案。
在 Linux 上,可以很容易地跟踪邮件日志并获取更多信息。但在 Windows 上,这并不容易。
我在事件查看器中找不到任何东西。在 smtp 日志中,我只找到了 IP,没有其他内容。
我如何才能找出哪个网站触发了垃圾邮件?
标头示例
C:\inetpub\mailroot\Queue
Received: from WEBSRV ([127.0.0.1]) by WEBSRV with Microsoft SMTPSVC(7.5.7601.17514);
Wed, 29 Apr 2015 15:04:53 +0200
Date: Wed, 29 Apr 2015 13:04:53 +0000
Subject: Prezado(a) Cliente, Alerta Itaú 29/04/2015
To: [email protected]
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
X-Mailer: Microsoft Office Outlook, Build 17.551210
From: [email protected]
Return-Path: postmaster@WEBSRV
Message-ID: SRVm8Kx7M6xyAE0Q20008eb98@WEBSRV
X-OriginalArrivalTime: 29 Apr 2015 13:04:53.0897 (UTC) FILETIME=[159E6790:01D0827D]
日志示例
C:\Windows\System32\LogFiles\SMTPSVC1
2015-04-29 13:00:00 187.92.46.51 OutboundConnectionResponse SMTPSVC1 SRV - 25 - - 250+OK 0 0 6 0 4696 SMTP - - - -
2015-04-29 13:00:00 187.92.46.51 OutboundConnectionCommand SMTPSVC1 SRV - 25 RCPT - TO:<[email protected]> 0 0 4 0 4711 SMTP - - - -
2015-04-29 13:00:00 186.202.4.42 OutboundConnectionResponse SMTPSVC1 SRV - 25 - - 504+5.5.2+<SRV>:+Helo+command+rejected:+need+fully-qualified+hostname 0 0 70 0 1217 SMTP - - - -
答案1
我在拥有数百个应用程序的服务器上遇到过几个这些(或类似)的情况,并发现缩小/追踪这些情况的最简单方法是使用 Sysinternals进程监控:
找到确凿证据:
- 打开进程监视器并让它仅显示网络活动
- 过滤进程名称
w3wp.exe
(如果运行 .NET 或 ASP 应用程序) - 如果你使用 CGI 运行 php 或 perl 应用程序,你可能需要查找
perl.exe
或php_xyx.exe
或可执行文件的任何名称 - 过滤包含
Path
和127.0.0.1
的TCP 活动:25
(表示本地 SMTP 连接) - 记下进行这些调用的 w3wp.exe 进程的进程 ID
与正在运行的应用程序关联
- 转到 IIS 管理控制台,选择左侧树窗格中的顶部节点(服务器名称)
- 从中心窗格中选择“工作进程”功能
- 将 PID 与应用程序池关联
- 右键单击有问题的应用程序池以查看它提供哪些应用程序
检查日志
- 现在您要做的就是检查托管相关应用程序的站点的 IIS 日志
- 根据经验,这些可能是
POST
请求
如果你正在运行 CGI 应用程序,则可以使用 Process Explorer 查找有问题的应用程序的父进程