LINUX.ORG.RU
ФорумAdmin

Postfix+DoveCot+SpamAssassin: всегда ALL_TRUSTED.

 , , ,


0

1

Добрый день, коллеги! Прошу помощи, ситуация такая: есть почтовый сервер Debian 8.2 + iRedMail, что-то сломалось, и теперь SpamAssassin считает, что любые письма проходят через доверенные узлы, выставляет ALL_TRUSTED.
Нет, дело не в trusted_networks, здесь как-то завязан amavis. Начал копать его конфиг, дай, думаю, заодно сделаю, чтобы исходящие из локальной сети предприятия письма не проверялись спамассассином, увидел там SASL и MYUSER, решил второе проверить, раскомментировал байпасы.

# Apply to mails which coming from internal networks or authenticated roaming users.
$policy_bank{'MYUSERS'} = {
# don't perform spam/virus/header check.
bypass_spam_checks_maps => [1],
bypass_virus_checks_maps => [1],
bypass_header_checks_maps => [1],

Затем отправил себе письмо с mail.ru и вижу, что проверок не производилось. Он считает, что письмо внутри ходило, а не снаружи. Ума не приложу, что с этим делать.

Return-Path: <united@mail.ru>
Delivered-To: admx@urn.ru
Received: from localhost (localhost [127.0.0.1])
<------>by urn.ru (Postfix) with ESMTP id 0F4E2DE0318
<------>for <admx@urn.ru>; Fri, 23 Oct 2015 10:41:05 +0500 (YEKT)
Authentication-Results: urn.ru (amavisd-new); dkim=pass (1024-bit key)
<------>header.d=mail.ru
Received: from urn.ru ([127.0.0.1])
<------>by localhost (urn.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
<------>id gedLTjpsDtah for <admx@urn.ru>;
<------>Fri, 23 Oct 2015 10:41:05 +0500 (YEKT)
Received: from f137.i.mail.ru (f137.i.mail.ru [94.100.178.195])
<------>by urn.ru (Postfix) with ESMTPS id 69945DE0283
<------>for <admx@urn.ru>; Fri, 23 Oct 2015 10:40:58 +0500 (YEKT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail2;
Received: from [217.199.246.138] (ident=mail)
<------>by f137.i.mail.ru with local (envelope-from <united@mail.ru>)
<------>id 1ZpV5o-0002FP-0G
<------>for admx@urn.ru; Fri, 23 Oct 2015 08:40:44 +0300
Received: from [217.199.246.138] by e.mail.ru with HTTP;
<------>Fri, 23 Oct 2015 08:40:43 +0300

Нет ли у вас каких-то мыслей по этому поводу? необходимые для размышления конфиги выложу.
На просторах интернета есть предположение, что после антивирусной проверки транспорт далее считается локальным, но это всё равно не подсказывает мне, куда копать, и что сломалось.

Возможно, проблема вообще не в этом, но вот уже три дня бьюсь обо всё, что можно, а SpamAssassin всё равно метит всё ALL_TRUSTED. И костыль не приделаешь, потому что помеченное ALL_TRUSTED он не проверяет по базам DNSBL, и спам угнетает сотнями писем в день.

Нет, дело не в trusted_networks, здесь как-то завязан amavis

мож убрать amavis как content_filter, убедиться - завязан он или нет, если эффект есть, тогда в его конфигe накрутить log_level побольше и смотреть. я бы копнул в сторону СА все-таки..

masq ()
Ответ на: комментарий от masq

в его конфигe накрутить log_level побольше и смотреть

Накрутил максимальный лог, есть интересное:

ESMTP [127.0.0.1]:10024 /var/lib/amavis/tmp/amavis-20151023T153011-03780-ZRxC2rp1: <united@mail.ru> -> <admx@urn.ru> SIZE=1931 Received: from urn.ru ([127.0.0.1]) by localhost (urn.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP for <admx@urn.ru>; Fri, 23 Oct 2015 16:02:56 +0500 (YEKT)
dkim: VALID Author+Sender+MailFrom signature by d=mail.ru, From: <united@mail.ru>, a=rsa-sha256, c=relaxed/relaxed, s=mail2, i=@mail.ru, ORIG [94.100.178.195]:54561
Checking: f6KnZfSugM8q MYUSERS [94.100.178.195] <united@mail.ru> -> <admx@urn.ru>
p003 1 Content-Type: multipart/alternative
p001 1/1 Content-Type: text/plain, size: 60 B, name:
p002 1/2 Content-Type: text/html, size: 103 B, name:
SA dbg: config: time limit 300.0 s
SA dbg: message: main message type: multipart/alternative
SA dbg: check: pms new, time limit in 299.999 s
SA dbg: netset: ditch cache on trusted_networks
SA dbg: check: adding caller rule hits, 0 rules
SA dbg: config: internal_networks not configured, using trusted_networks configuration for internal_networks; if you really want internal_networks to only contain the required 127/8 add 'internal_networks !0/0' to your configuration
SA dbg: received-header: parsed as [ ip=94.100.178.195 rdns=f137.i.mail.ru helo=f137.i.mail.ru by=urn.ru ident= envfrom= intl=0 id=ACBFADECA0D auth= msa=0 ]
SA dbg: netset: trusted_networks lookup on 94.100.178.195, 4 networks, result: 0, 0.282 ms
SA dbg: received-header: originating, 94.100.178.195 and remaining relays will be considered trusted, but no longer internal
SA dbg: received-header: relay 94.100.178.195 trusted? yes internal? no msa? no
SA dbg: received-header: parsed as [ ip=217.199.246.138 rdns= helo= by=f137.i.mail.ru ident=mail envfrom=united@mail.ru intl=0 id=1Zpa7K-0000YU-FI auth= msa=0 ]
SA dbg: received-header: relay 217.199.246.138 trusted? yes internal? no msa? no
SA dbg: received-header: parsed as [ ip=217.199.246.138 rdns= helo= by=e.mail.ru ident= envfrom= intl=0 id= auth=HTTP msa=0 ]
SA dbg: received-header: relay 217.199.246.138 trusted? yes internal? no msa? no
SA dbg: received-header: parsed as [ ip=217.199.246.138 rdns= helo= by= ident= envfrom= intl=0 id= auth= msa=0 ]
SA dbg: received-header: relay 217.199.246.138 trusted? yes internal? no msa? no
SA dbg: metadata: X-Spam-Relays-Trusted: [ ip=94.100.178.195 rdns=f137.i.mail.ru helo=f137.i.mail.ru by=urn.ru ident= envfrom= intl=0 id=ACBFADECA0D auth= msa=0 ] [ ip=217.199.246.138 rdns= helo= by=f137.i.mail.ru ident=mail envfrom=united@mail.ru intl=0 id=1Zpa7K-0000YU-FI auth= msa=0 ] [ ip=217.199.246.138 rdns= helo= by=e.mail.ru ident= envfrom= intl=0 id= auth=HTTP msa=0 ] [ ip=217.199.246.138 rdns= helo= by= ident= envfrom= intl=0 id= auth= msa=0 ]
SA dbg: metadata: X-Spam-Relays-Untrusted:
SA dbg: metadata: X-Spam-Relays-Internal:
SA dbg: metadata: X-Spam-Relays-External: [ ip=94.100.178.195 rdns=f137.i.mail.ru helo=f137.i.mail.ru by=urn.ru ident= envfrom= intl=0 id=ACBFADECA0D auth= msa=0 ] [ ip=217.199.246.138 rdns= helo= by=f137.i.mail.ru ident=mail envfrom=united@mail.ru intl=0 id=1Zpa7K-0000YU-FI auth= msa=0 ] [ ip=217.199.246.138 rdns= helo= by=e.mail.ru ident= envfrom= intl=0 id= auth=HTTP msa=0 ] [ ip=217.199.246.138 rdns= helo= by= ident= envfrom= intl=0 id= auth= msa=0 ]


Пробовал писать такие варианты:
internal_networks 192.168.10
internal_networks 192.168.10/24
internal_networks !0/0
В логах всё равно, якобы не задано.
Закомментировал полностью internal_networks и trusted_networks, теперь письма не метятся как all_trusted, но у меня есть сомнения, что поступаю правильно.

urnadm ()

есть сомнения, что поступаю правильно.

Ну дык, тоже решение.. Вот тута сказано : If neither trusted_networks nor internal_networks is set, no addresses will be considered local; in other words, any relays past the machine where SpamAssassin is running will be considered external. Ну и норм, вы же не шлете спам чтоб его начало резать, наверное.. Но!

Every entry in internal_networks must appear in trusted_networks; in other words, internal_networks is always a subset of the trusted set. У Вас так? Может быть указана только одна из этих директив ??? Я не могу в своём зоопарке проверить, но вот что в мануалах такого развития событий нет, толкает на мысль, что оно будет работать вот так - : If neither trusted_networks or internal_networks is set, a basic inference algorithm is applied. This works as follows:

If the 'from' host has an IP address in a private (RFC 1918) network range, then it's trusted

If there are authentication tokens in the received header, and the previous host was trusted, then this host is also trusted

Otherwise this host, and all further hosts, are consider untrusted.

masq ()
Ответ на: комментарий от masq

Может быть указана только одна из этих директив ???

Нет, я обе указывал, но я таки нашел в конфиге амавиза, как просто отключить проверки для mynetwork, так что ALL_TRUSTED мне не очень-то и нужна теперь, ведь маркировок больше нет, и собственные письма в спам ящик не сыплются.
Навели вы меня на приемлемое решение, минусов которого я пока не вижу, искренне благодарю :)

urnadm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.