Перейти к содержимому


Фото
- - - - -

управление спамом для пользователей


  • Please log in to reply
2 ответов в этой теме

#1 Tuxzer92

Tuxzer92

    Newbie

  • Posters
  • 30 Сообщений:

Отправлено 06 Октябрь 2023 - 10:45

Доброго времени суток.

 

Хотелось бы узнать как можно разрешить прохождение спама до клиентов?

Используется Dr.Web для почтовых серверов UNIX версии 11.

Он принимает почту от Postfix с помощью Milter на этом-же сервере и после проверки отправляет ее на Exchange сервер(он спам не фильтрует).

Как-то можно сделать так чтобы письма со спамом приходили пользователям как спам и они бы его сами разбирали в папке со спамом?



#2 amorozov

amorozov

    Member

  • Members
  • 163 Сообщений:

Отправлено 06 Октябрь 2023 - 23:40

Вам надо на основе какого-то из заголовков, выставляемых MailD, назначать в Exchange SCL (spam confidence level). Exchange в зависимости от SCL может выполнять различные действия:
https://learn.microsoft.com/en-us/exchange/antispam-and-antimalware/antispam-protection/scl
Вот тут что-то подобное настраивали:
https://serverfault.com/questions/949386/exchange-not-putting-mail-to-junk-despite-scl-header-value

В MailD заголовки выставляются в MailD.MilterHook.
По умолчанию там есть такой фрагмент:
-- Reject the message if it is likely spam
if ctx.message.spam.score >= 100 then
    dw.notice("Spam score: " .. ctx.message.spam.score)
    return {action = "reject"}
else
    -- Assign X-Drweb-Spam headers in accordance with spam report
    ctx.modifier.add_header_field("X-DrWeb-SpamScore", ctx.message.spam.score)
    ctx.modifier.add_header_field("X-DrWeb-SpamState", ctx.message.spam.type)
    ctx.modifier.add_header_field("X-DrWeb-SpamDetail", ctx.message.spam.reason)
    ctx.modifier.add_header_field("X-DrWeb-SpamVersion", ctx.message.spam.version)
end
Тут письма со score >= 100 реджектятся самим MailD. Если хочется, чтобы они всё-таки летели дальше, то можно оставить только выставление заголовков, заменив этот фрагмент на:
-- Assign X-Drweb-Spam headers in accordance with spam report
ctx.modifier.add_header_field("X-DrWeb-SpamScore", ctx.message.spam.score)
ctx.modifier.add_header_field("X-DrWeb-SpamState", ctx.message.spam.type)
ctx.modifier.add_header_field("X-DrWeb-SpamDetail", ctx.message.spam.reason)
ctx.modifier.add_header_field("X-DrWeb-SpamVersion", ctx.message.spam.version)
Можно сделать добавление своего заголовка при определённом score. Возможно, так будет проще потом сделать правило в Exchange:
if ctx.message.spam.score >= 100 then
    ctx.modifier.add_header_field("X-Move-To-Junk", "Yes")
end
Можно сделать, чтобы хук располагался в отдельном файле. Так удобнее его править:
# drweb-ctl cfshow --value MailD.MilterHook >/etc/opt/drweb.com/milter.lua
# drweb-ctl cfset MailD.MilterHook /etc/opt/drweb.com/milter.lua
# vim /etc/opt/drweb.com/milter.lua
# drweb-ctl reload


#3 Tuxzer92

Tuxzer92

    Newbie

  • Posters
  • 30 Сообщений:

Отправлено 09 Октябрь 2023 - 08:02

Вам надо на основе какого-то из заголовков, выставляемых MailD, назначать в Exchange SCL (spam confidence level). Exchange в зависимости от SCL может выполнять различные действия:
https://learn.microsoft.com/en-us/exchange/antispam-and-antimalware/antispam-protection/scl
Вот тут что-то подобное настраивали:
https://serverfault.com/questions/949386/exchange-not-putting-mail-to-junk-despite-scl-header-value

В MailD заголовки выставляются в MailD.MilterHook.
По умолчанию там есть такой фрагмент:

-- Reject the message if it is likely spam
if ctx.message.spam.score >= 100 then
    dw.notice("Spam score: " .. ctx.message.spam.score)
    return {action = "reject"}
else
    -- Assign X-Drweb-Spam headers in accordance with spam report
    ctx.modifier.add_header_field("X-DrWeb-SpamScore", ctx.message.spam.score)
    ctx.modifier.add_header_field("X-DrWeb-SpamState", ctx.message.spam.type)
    ctx.modifier.add_header_field("X-DrWeb-SpamDetail", ctx.message.spam.reason)
    ctx.modifier.add_header_field("X-DrWeb-SpamVersion", ctx.message.spam.version)
end
Тут письма со score >= 100 реджектятся самим MailD. Если хочется, чтобы они всё-таки летели дальше, то можно оставить только выставление заголовков, заменив этот фрагмент на:
-- Assign X-Drweb-Spam headers in accordance with spam report
ctx.modifier.add_header_field("X-DrWeb-SpamScore", ctx.message.spam.score)
ctx.modifier.add_header_field("X-DrWeb-SpamState", ctx.message.spam.type)
ctx.modifier.add_header_field("X-DrWeb-SpamDetail", ctx.message.spam.reason)
ctx.modifier.add_header_field("X-DrWeb-SpamVersion", ctx.message.spam.version)
Можно сделать добавление своего заголовка при определённом score. Возможно, так будет проще потом сделать правило в Exchange:
if ctx.message.spam.score >= 100 then
    ctx.modifier.add_header_field("X-Move-To-Junk", "Yes")
end
Можно сделать, чтобы хук располагался в отдельном файле. Так удобнее его править:
# drweb-ctl cfshow --value MailD.MilterHook >/etc/opt/drweb.com/milter.lua
# drweb-ctl cfset MailD.MilterHook /etc/opt/drweb.com/milter.lua
# vim /etc/opt/drweb.com/milter.lua
# drweb-ctl reload

Спасибо большое за столь исчерпывающий ответ!




Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых