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


Фото
* * * * * 1 Голосов

Lua помощь


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

#41 Denis G.

Denis G.

    Newbie

  • Dr.Web Staff
  • 26 Сообщений:

Отправлено 25 Апрель 2019 - 11:05

Можно еще так:

if ctx.to.search(whitelist) then
    return {action = 'accept'}
end


#42 Aleksandra

Aleksandra

    VIP

  • Helpers
  • 2 320 Сообщений:

Отправлено 25 Апрель 2019 - 11:42

не пойму причем здесь настройка постфикса и антиспам? Если письмо режет антиспам дрвеба как на него повлиять постфиксом?

Чтобы изначально не принимать всякий спам _ttps://www.linuxbabe.com/mail-server/block-email-spam-postfix

При таких настройках, проблема со спамом практически отпадает и не нужно будет сложные конструкции на lua городить.

Мой кусок конфига:
 

virtual_alias_maps = hash:/etc/postfix/virtual

message_size_limit = 15728640
mailbox_size_limit = 314572800
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = check_sender_access texthash:/etc/postfix/restricted_senders,permit_mynetworks,check_client_access cidr:/etc/postfix/mx_access,permit_auth_destination,permit_sasl_aut
henticated,reject
smtpd_restriction_classes = local_only
local_only = check_recipient_access texthash:/etc/postfix/local_domains, reject

smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions = check_client_access texthash:/etc/postfix/client_access,reject_unknown_reverse_client_hostname
smtpd_helo_restrictions = reject_non_fqdn_helo_hostname
smtpd_helo_required = yes

smtpd_milters = inet:127.0.0.1:3001

masquerade_domains = mydomain

Версия Сервера Dr.Web 12.00.0 (15-10-2019 05:00:00)
Linux 4.18.0-80.7.1.el8_0.x86_64 x86_64; glibc 2.28

#43 radionuk2

radionuk2

    Newbie

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

Отправлено 25 Апрель 2019 - 12:21

 

не пойму причем здесь настройка постфикса и антиспам? Если письмо режет антиспам дрвеба как на него повлиять постфиксом?

Чтобы изначально не принимать всякий спам _ttps://www.linuxbabe.com/mail-server/block-email-spam-postfix

При таких настройках, проблема со спамом практически отпадает и не нужно будет сложные конструкции на lua городить.

Мой кусок конфига:
 

virtual_alias_maps = hash:/etc/postfix/virtual

message_size_limit = 15728640
mailbox_size_limit = 314572800
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = check_sender_access texthash:/etc/postfix/restricted_senders,permit_mynetworks,check_client_access cidr:/etc/postfix/mx_access,permit_auth_destination,permit_sasl_aut
henticated,reject
smtpd_restriction_classes = local_only
local_only = check_recipient_access texthash:/etc/postfix/local_domains, reject

smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions = check_client_access texthash:/etc/postfix/client_access,reject_unknown_reverse_client_hostname
smtpd_helo_restrictions = reject_non_fqdn_helo_hostname
smtpd_helo_required = yes

smtpd_milters = inet:127.0.0.1:3001

masquerade_domains = mydomain

Тоесть исходя из Вашего ответа при применении вышеописанных настроек (а они у меня сделаны) СПАМ вообще не будет приходить? Так я понимаю Ваш ответ? Тоесть антиспам от стороннего производителя вообще нет смысла ставить?


 

Можно еще так:

if ctx.to.search(whitelist) then
    return {action = 'accept'}
end

Спасибо!



#44 Aleksandra

Aleksandra

    VIP

  • Helpers
  • 2 320 Сообщений:

Отправлено 25 Апрель 2019 - 13:23

Тоесть исходя из Вашего ответа при применении вышеописанных настроек (а они у меня сделаны) СПАМ вообще не будет приходить? Так я понимаю Ваш ответ? Тоесть антиспам от стороннего производителя вообще нет смысла ставить?

Да, спам практически не проходит. Одно письмо в день, не больше. От стороннего смысла нет, так как есть spamassassin.
Версия Сервера Dr.Web 12.00.0 (15-10-2019 05:00:00)
Linux 4.18.0-80.7.1.el8_0.x86_64 x86_64; glibc 2.28

#45 radionuk2

radionuk2

    Newbie

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

Отправлено 25 Апрель 2019 - 16:43

 

Тоесть исходя из Вашего ответа при применении вышеописанных настроек (а они у меня сделаны) СПАМ вообще не будет приходить? Так я понимаю Ваш ответ? Тоесть антиспам от стороннего производителя вообще нет смысла ставить?

Да, спам практически не проходит. Одно письмо в день, не больше. От стороннего смысла нет, так как есть spamassassin.

 

Позволю себе не согласиться, объем спама во многом зависит от рода деятельности компании и кол-ва пользователей. У меня стандартные настройки убирают только порядка 60 процентов спама, а вот в комплексе с ДРВЕБОМ примерно 95 процентов.


Сообщение было изменено radionuk2: 25 Апрель 2019 - 16:44


#46 evgen-20

evgen-20

    Newbie

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

Отправлено 06 Май 2019 - 18:00

Всем привет!

 

Попытался сделать, подмену адреса получателя на адрес spam. Ну что бы письма, которые набирали определенное количество балов и вероятнее всего являлись спамом не отправлялись получателю, а заворачивались на ящик spam из которого позже, если что можно их вытащить.

 

Делал так:

return {action='accept', deleted_recipients=ctx.to, added_recipients={'spam@company.ru'}}

Но в итоге, получателю тоже приходит письмо.



#47 Denis G.

Denis G.

    Newbie

  • Dr.Web Staff
  • 26 Сообщений:

Отправлено 07 Май 2019 - 14:44

Здравствуйте!

 

Конкретно этот функционал сейчас не всегда себя корректно ведет, в бете должно быть поправлено.



#48 evgen-20

evgen-20

    Newbie

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

Отправлено 07 Май 2019 - 16:55

Здравствуйте!

 

Конкретно этот функционал сейчас не всегда себя корректно ведет, в бете должно быть поправлено.

 

На бету в продакшене побаиваюсь переходить... Надеюсь в ближайшее время зарелизится...



#49 evgen-20

evgen-20

    Newbie

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

Отправлено 07 Май 2019 - 18:52

И еще вопрос, можно ли как-то в лог писать не только отправителя, но и получателя?

Я так понимаю, что из-за того, что ctx.to является массивом, его так просто не запихать. Может есть еще какой-то вариант?



#50 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 3 833 Сообщений:

Отправлено 07 Май 2019 - 19:08

В лог-то Вы вольны писать что вздумается.

Хоть tostring(ctx.to), хоть что-либо в духе

for _, i in pairs(ctx.to) do
  str = str .. (#str and ", " or "") .. i
done

Семь раз отрежь – один раз проверь

#51 evgen-20

evgen-20

    Newbie

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

Отправлено 08 Май 2019 - 16:31

Хоть tostring(ctx.to), хоть что-либо в духе

 

 

Попробовал так, получил

	str = tostring(ctx.to)
	if regex.search(whitelist, ctx.from, regex.ignore_case) then
        dw.notice("'" .. ctx.from .. "'" .. str .. " is IN whitelist" )
	return {action='accept'}
        end


2019-May-08 16:27:17 [20881] Notice: Milter client 897a-3716-2151: Lua: '123456789@yandex.ru'table: 0x5631a5d6bb90 is IN whitelist

p.s. ссори не силен в LUA совсем(



#52 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 3 833 Сообщений:

Отправлено 08 Май 2019 - 17:04

Хм, значит tostring только ссылку на таблицу пишет, этого я не помню. Тогда остаётся второй вариант с ручным форматированием таблицы.


Семь раз отрежь – один раз проверь

#53 Denis G.

Denis G.

    Newbie

  • Dr.Web Staff
  • 26 Сообщений:

Отправлено 08 Май 2019 - 18:33

Есть встроенная функция, которая умеет конкатенировать строковые значения из таблицы. Сейчас не могу проверить, но это должно работать:
 

dw.notice('Recipients: ' .. table.concat(ctx.to, ', '))


#54 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 3 833 Сообщений:

Отправлено 08 Май 2019 - 18:37

Точно, эту я проглядел. На вид всё верно.


Семь раз отрежь – один раз проверь

#55 evgen-20

evgen-20

    Newbie

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

Отправлено 13 Май 2019 - 10:38

 

Есть встроенная функция, которая умеет конкатенировать строковые значения из таблицы. Сейчас не могу проверить, но это должно работать:
 

dw.notice('Recipients: ' .. table.concat(ctx.to, ', '))

 

Спасибо! Сработало!

А откуда вы берете эту информацию? В документации что-то не нашел ничего( Или это чисто синтаксис LUA?

 

И еще вопрос, а как-то можно добавлять или отнимать балы у писем, есть ли такая функция?



#56 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 3 833 Сообщений:

Отправлено 13 Май 2019 - 11:12

А откуда вы берете эту информацию? В документации что-то не нашел ничего( Или это чисто синтаксис LUA?

Отсюда.

Вот конкретно про table.concat.


Семь раз отрежь – один раз проверь

#57 Denis G.

Denis G.

    Newbie

  • Dr.Web Staff
  • 26 Сообщений:

Отправлено 13 Май 2019 - 11:17

Это библиотека, поставляемая вместе с Lua, подробнее можно ознакомиться тут (либо в оригинале тут).

Баллами, которые доступны в таблице Spam (ctx.message.spam.score и ctx.message.spam.normalized_score), управлять из Lua нельзя. В бете есть возможность управлять баллами с помощью флагов компонента drweb-ase. 

Главное то, что вы сами можете решать как поступать с баллами из отчета о проверке на спам. Для этого и есть Lua.



#58 Boris Savelev

Boris Savelev

    Member

  • Beta Tester
  • 153 Сообщений:

Отправлено 13 Май 2019 - 13:38

баллы это просто число. Их можно копить и суммировать в отдельной переменной и решения принимать уже по суммированному.


telegram: @bsavelev



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

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