![如何分析postfix服务器发送垃圾邮件的原因](https://linux22.com/image/762433/%E5%A6%82%E4%BD%95%E5%88%86%E6%9E%90postfix%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%91%E9%80%81%E5%9E%83%E5%9C%BE%E9%82%AE%E4%BB%B6%E7%9A%84%E5%8E%9F%E5%9B%A0.png)
我的一个客户有一个托管 postfix 和 nginx 的服务器,其中有多个网站,包括一个带有多个子域/网站的 nginx 安装。
几天以来,/var/spool/postfix 目录中充满了被识别为垃圾邮件的电子邮件。
现在的任务是找出这种攻击的原因。我的感觉是,其中一个网站存在漏洞,可用于上传 web shell 或类似内容,以便通过 Postfix 发送电子邮件。
我对 Postfix 不太熟悉,所以我的问题是如何识别发件人的来源。具体来说,是本地帐户还是外部用户发送电子邮件,也许是触发发送的过程等,以便在发送的垃圾邮件和网站中的潜在漏洞之间建立万无一失的联系。
到目前为止,我正在跑步Linux 恶意软件检测针对整个文件系统。此外,我正在运行webshell 扫描
所以,我的问题是,是否存在一系列(最佳)实践来进一步分析发送垃圾邮件的根本原因?
更新:
以下是其中一封已发送的垃圾邮件的一些详细信息:
$ postcat -q 27E70B3B1
*** ENVELOPE RECORDS active/27E70B3B1 ***
message_size: 3001 2450 20 0 3001 0
message_arrival_time: Fri Jan 15 10:06:00 2021
create_time: Fri Jan 15 10:06:01 2021
named_attribute: log_ident=27E70B3B1
named_attribute: rewrite_context=remote
named_attribute: sasl_method=LOGIN
named_attribute: sasl_username=bounce
sender: [email protected]
named_attribute: log_client_name=unknown
named_attribute: log_client_address=91.224.92.168
named_attribute: log_client_port=52564
named_attribute: log_message_origin=unknown[91.224.92.168]
named_attribute: log_helo_name=[91.224.92.168]
named_attribute: log_protocol_name=ESMTP
named_attribute: client_name=unknown
named_attribute: reverse_client_name=srv-91-224-92-168.serveroffer.net
named_attribute: client_address=91.224.92.168
named_attribute: client_port=52564
named_attribute: server_address=foo.bar.baz.xxx
named_attribute: server_port=25
named_attribute: helo_name=[91.224.92.168]
named_attribute: protocol_name=ESMTP
named_attribute: client_address_type=2
named_attribute: dsn_orig_rcpt=rfc822;[email protected]
这是否意味着攻击者能够通过用户“反弹”进行身份验证,或者服务器配置错误以简单地反弹来自另一台服务器的垃圾邮件?
谢谢!
答案1
这是我在这种情况下通常使用的一些方法的一般概述:
- 查看垃圾邮件的“已接收:”标头,检查它们来自哪里。这些标头确实可以揭示很多信息。特别是,您将知道这些邮件是本地发送的还是外部发送的。此外,如果邮件是由 Web 脚本发送的,则可能会有一些特定的标头来指示来源。例如,如果 PHP 中的脚本使用
mail()
函数发送邮件,通常会添加一个标头X-HTTP-Posting-URI:
或X-PHP-Originating-Script:
,告诉您确切的哪个脚本发送了该邮件。 - 查看 Postfix 日志以识别所有涉及示例垃圾邮件的条目(通过时间戳和消息 ID 识别)
- 如果完成步骤 1)和 2)之后仍不清楚垃圾邮件的来源,请尝试将步骤 2)中的时间戳与 Web 服务器日志进行协调,检查在邮件发出时的确切时间访问了哪些 URL,然后仔细检查所有这些 URL。