最近我的服务器生成了许多垃圾邮件。我在示例消息中查找了信息,但发件人显然是伪造的,并且消息头中也没有后缀用户 ID。以下是示例消息的完整标头:
root@server:~# postcat -qv 400CB848E9
postcat: name_mask: all
postcat: inet_addr_local: configured 4 IPv4 addresses
postcat: inet_addr_local: configured 2 IPv6 addresses
*** ENVELOPE RECORDS hold/400CB848E9 ***
message_size: 2333 670 1 0 2333 0
message_arrival_time: Thu Jun 24 06:44:46 2021
create_time: Thu Jun 24 06:44:46 2021
named_attribute: log_ident=400CB848E9
named_attribute: rewrite_context=local
sender: [email protected]
named_attribute: log_client_name=localhost.localdomain
named_attribute: log_client_address=127.0.0.1
named_attribute: log_client_port=40070
named_attribute: log_message_origin=localhost.localdomain[127.0.0.1]
named_attribute: log_helo_name=localhost
named_attribute: log_protocol_name=ESMTP
named_attribute: client_name=localhost.localdomain
named_attribute: reverse_client_name=localhost.localdomain
named_attribute: client_address=127.0.0.1
named_attribute: client_port=40070
named_attribute: helo_name=localhost
named_attribute: protocol_name=ESMTP
named_attribute: client_address_type=2
named_attribute: dsn_orig_rcpt=rfc822;[email protected]
original_recipient: [email protected]
recipient: [email protected]
*** MESSAGE CONTENTS hold/400CB848E9 ***
regular_text: Received: from localhost (localhost.localdomain [127.0.0.1])
regular_text: by dallas.mylocalhostdomain.com (Postfix) with ESMTP id 400CB848E9
regular_text: for <[email protected]>; Thu, 24 Jun 2021 06:44:46 -0400 (EDT)
regular_text: From: Google Drive Storage <[email protected]>
regular_text: To: [email protected]
regular_text: MIME-Version: 1.0
regular_text: Message-ID: <[email protected]>
regular_text: Date: Thu, 24 Jun 2021 06:44:46 +0000
regular_text: Content-Type: text/html; charset=UTF-8
regular_text: Content-Transfer-Encoding: 7bit
regular_text: Subject: File is damaged and could not be repaired
从头部可以看出,消息的发送者是[email protected]
,但是服务器上不存在这个域名/用户。据我所知,我很困惑,用户必须存在于服务器上,然后才能对 SMTP 进行身份验证。此外,mail.log 文件中也没有认证信息。
我希望有人可以帮助指出如何识别生成此消息的真实用户?
谢谢!
仔细看看这些:
这意味着,来自
localhost
(即服务器机器本身)的某些进程向该服务器进行了 ESMTP 事务。它开始时EHLO localhost
,然后,在没有任何身份验证的情况下,它被接受交付。我猜你127.0.0.1
在mynetworks
. 它添加的“已接收”标头具有相同的信息(难怪)。这就是 Postfix 所看到的并且可以告诉你的全部内容。在其他地方寻找“谁是真正的发件人”的答案。那可能是网络邮件,所以请阅读网络服务器访问日志;这可能是服务器被破坏(哦!)或者只是 PHP 脚本中有一些允许发送邮件的漏洞。检查 wtmp (
last
等等)。在Thu, 24 Jun 2021 06:44:46 -0400 (EDT)附近寻找日志。我会重申这一点,让您不要换句话来问同样的问题:Postfix 已尽其所能向您透露它从哪里得到这封邮件。它唯一知道邮件来自本地主机。这敲响了警钟:“检查你的本地主机”(服务器)。