
Я использую собственные почтовые серверы postfix/dovecot. Недавно в мой почтовый ящик хлынул поток спама с идентичными полями from и to, которые являются моим адресом электронной почты. Я добавил check_policy_service unix:private/policy
в smtpd_recipient_restrictions
, но это не остановило поток спама с моим собственным адресом электронной почты в качестве отправителя. Я проверил другие похожие вопросы, но ни один из них не помог. Интересно, есть ли другие места в конфигурациях postfix, на которые мне нужно обратить внимание.
У меня в DNS установлен spf:
$ nslookup -type=txt mydomain.com
mydomain.com text = "v=spf1 mx a ptr include:mail.myemaildomain.com -all"
Вот пример заголовков одного из спам-сообщений, из которых удалены некоторые очень длинные закодированные заголовки. Предположим, что мой адрес электронной почты — [email protected]
, а мой почтовый сервер — mail.myemaildomain.com
.
Return-Path: <>
Delivered-To: [email protected]
Received: from mail.myemaildomain.com
by mail.myemaildomain.com with LMTP
id 0KJAM+e2oGM0TgAAheIUKw
(envelope-from <>)
for <[email protected]>; Mon, 19 Dec 2022 19:09:27 +0000
Received: by mail.myemaildomain.com (Postfix, from userid 182)
id CEFE8C6409; Mon, 19 Dec 2022 19:09:27 +0000 (UTC)
Received-SPF: none (qwwj.em.jennycraig.com: No applicable sender policy available) receiver=mail.myemaildomain.com; identity=helo; helo=qwwj.em.jennycraig.com; client-ip=103.198.26.226
Received: from qwwj.em.jennycraig.com (unknown [103.198.26.226])
by mail.myemaildomain.com (Postfix) with ESMTP id 42098C6407
for <[email protected]>; Mon, 19 Dec 2022 19:09:27 +0000 (UTC)
Received: from 10.226.14.104
by atlas114.aol.mail.ne1.yahoo.com pod-id NONE with HTTPS; Thu, 15 Dec 2030 13:36:39 +0000
X-Originating-Ip: [209.85.218.45]
Received-SPF: pass (domain of gmail.com designates 209.85.218.45 as permitted sender)
Authentication-Results: atlas114.aol.mail.ne1.yahoo.com;
dkim=pass [email protected] header.s=20210112;
spf=pass smtp.mailfrom=gmail.com;
dmarc=pass(p=NONE,sp=QUARANTINE) header.from=gmail.com;
X-Apparently-To: [email protected]; Thu, 15 Dec 2030 13:36:39 +0000
Received: from 209.85.218.45 (EHLO mail-ej1-f45.google.com)
by 10.226.14.104 with SMTPs
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256);
Thu, 15 Dec 2030 13:36:39 +0000
Received: by mail-ej1-f45.google.com with SMTP id n20so52313294ejh.0
for <[email protected]>; Thu, 15 Dec 2030 05:36:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=TJRpkbHmfqiYQcSzQM9QyAcKyxwfgZJL1vLIP4WWyzY=;
b=PU/nv5+QLQUtFFhUFU6EkFLDEIAN0MjTP0TDPeoWc6O/rXu53+DCp7cua72BLe3k8Y
SpiPuVwH02uo87V3rs+L6KMLQaqA8V1D7vjU+3K5T9yP35DOf/bgtp3Nrb2d0Ejik0Bv
U9ePCaf7UM8R1Gze97qvGeJv5o3nhtNuvCAFqcuHZVC14JxQMLALg2wyPF68X/CP6vUu
EBMTPaudBc4bafJ8bJEkZgHCHIICpI9ZRYujIHcMxcm9EPlK+xTwhHDELRK8hwRPz1CC
JdtoPMWBl6NY3if9ZiV2O9NuvAJdeht/PezOU3kJPmbul8jRATFI/aJfA4eaUu7SisJr
FL8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=TJRpkbHmfqiYQcSzQM9QyAcKyxwfgZJL1vLIP4WWyzY=;
b=Xpo6Y73U27SLGh/HdXMGsR4X+ieN29ZLuTsnzxhavjS0nXbm8HuTIcZr4cni14HL7h
qWXZLePK0vYJUHMHb2R57WgKNWJnBFBH9lmiJSf35OusIK2Z5iSk6BmmHVjl8niG9EmD
XOL6EqVwmTl2BS9V80osHuJ7wIXzcAoq4Y+yZnVxPZogv2FjJ2tET9I9wQPVxM4ugXS3
9KKQgBoFPHUfergCHZxWt5mESf1Ie7VLsH1nztjHRkyipCAaZ3rvb6aHz3TogId5QuaS
yfOgSZQkCmStFywDTgxNuYwmYuOl+LBllaaB60bulStuwNKfkXU+vOAp9M8XcyTVhngV
xGcw==
X-Gm-Message-State: ANoB5plygnE1J5uqPqvPqvpUDDb3uZ/3D5Q4+2HkJz9l2WUbBA1VD+OM
48tFT8K/KxTy/bIun6chTilzwv3waaMeJ5EOu4SyvL3C
X-Google-Smtp-Source: AA0mqf6T7Vhk2yyHuKIYdn3h79y5dlZlN2Ix0VIGDvfU1s3z9grZ7sF2CkltwXmtFE8dsR3mTX53KHhoFnxtStqiZSs=
X-Received: by 2002:a17:906:f14:b0:7c1:4e5d:5543 with SMTP id
z20-20020a1709060f1400b007c14e5d5543mr2799821eji.654.1671111399150; Thu, 15
Dec 2030 05:36:39 -0800 (PST)
List-Unsubscribe: <https://rdir-agn.freenet.de/uq.html?uid=5ZQLJGH67TVWNMOX1LEGP4PK7PH1CI>,<mailto:[email protected]?subject=unsubscribe:5ZQLJGH67TVWNMOX1LEGP4PK7PH1CI>
X-tdResult: [email protected]
MIME-Version: 1.0
From: SAMS CLUB Stores<[email protected]>
Date: Thu, 15 Dec 2030 14:36:30 +0100
Message-ID: <q1RHyAoOuu2eraF=2mdqDgli8XJ5uM9dQNV6ANEdZER-DpL8i13n@mail.gmail.com>
Subject: Surprise in your inbox (for Shoppers Only)
To: me <[email protected]>
решение1
Полностью в рамках конфигурации Postfix
Если вы настроили отправку электронной почты как отдельный экземпляр SMTP, как выдолжен, вы могли бы использоватьheader_checks
. Для этого требуется PostfixПоддержка PCREбыть установленным.
Так как вам нужно, чтобы это касалось только экземпляра, работающего на порту 25, вам следует указать в файле master.cf
:
smtp inet n - y - - smtpd
-o header_checks=pcre:/etc/postfix/access/header_checks
И карта PCRE (к этому файлу) для отклонения сообщений, использующая example.com
в From
заголовке:
/^From: .*@example\.com/ REJECT You are not me; example.com in From header.
Однако это может оказаться слишком строгим, учитывая пересылку электронной почты, списки рассылки и т. д. Поэтому я бы рекомендовал использовать лучшую альтернативу, представленную ниже.
Внедрить DMARC и DKIM
Лучший и более стандартный способ — реализовать DMARC, DKIM и SPF как для вашего домена, так и для входящей почты. Таким образом, почта, отправленная из любой почтовой инфраструктуры, которую вы разрешили (либо в вашей политике SPF, либо подписанная ключом DKIM, найденным в DNS вашего домена), может поступать на ваш SMTP-сервер.
- Проверьте наличие подписей DKIM с помощью OpenDKIM milter.
- Проверьте наличие SPF с помощью postfix-policyd-spf-python:
check_policy_service
unix:private/policy-spf
- Проверьте политики DMARC с помощью OpenDMARC milter.
- Подписывайте свои сообщения с помощью milter OpenDKIM.
- Опубликуйте политику SPF с помощью
~all
(или-all
). - Опубликуйте политику DMARC с
p=reject
.