У меня есть собственные почтовые серверы postfix/dovecot. Недавно в мой почтовый ящик попало много спам-писем с одинаковыми полями «от» и «кому», которое является моим адресом электронной почты. я добавил check_policy_service unix:private/policy
к smtpd_recipient_restrictions
, но это не остановило спам с моим собственным адресом электронной почты в качестве отправителя. Я проверил другие подобные вопросы, но ни один из них не помог. Интересно, есть ли другие места, на которые мне нужно обратить внимание в конфигах постфикса.
У меня в dns установлен spf:
$ nslookup -type=txt mydomain.com
mydomain.com text = "v=spf1 mx a ptr include:mail.myemaildomain.com -all"
Вот образец заголовков из одного из спамов, с удаленными очень длинными закодированными заголовками. если моя электронная почта me@mydomain.com
а мой почтовый сервер mail.myemaildomain.com
.
Return-Path: <>
Delivered-To: me@mydomain.com
Received: from mail.myemaildomain.com
by mail.myemaildomain.com with LMTP
id 0KJAM+e2oGM0TgAAheIUKw
(envelope-from <>)
for <me@mydomain.com>; 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 <me@mydomain.com>; 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 header.i=@gmail.com header.s=20210112;
spf=pass smtp.mailfrom=gmail.com;
dmarc=pass(p=NONE,sp=QUARANTINE) header.from=gmail.com;
X-Apparently-To: me@mydomain.com; 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 <me@mydomain.com>; 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:8853me@mydomain.comfAQ?subject=unsubscribe:5ZQLJGH67TVWNMOX1LEGP4PK7PH1CI>
X-tdResult: 8853me@mydomain.comfAQ-8853ifAQ
MIME-Version: 1.0
From: SAMS CLUB Stores<me@mydomain.com>
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 <me@mydomain.com>
Цянь Чен
1 ответ
Полностью в конфигурации Postfix
Если вы настроили отправку электронной почты как отдельный экземпляр SMTP, вы можете использовать header_checks
. Для этого требуется Postfix поддержка ПКРЕ быть установленным.
Поскольку вы хотите, чтобы это было только для экземпляра, работающего на порту 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 с помощью milter OpenDMARC.
- Подпишите свои сообщения с помощью OpenDKIM milter.
- Опубликуйте политику SPF с помощью
~all
(или же-all
). - Опубликуйте политику DMARC с помощью
p=reject
.
Эса Йокинен