LINUX.ORG.RU
ФорумAdmin

Mailu : RSPAMD не подписывает письма в dkim_signing

 ,


0

1

Всем привет!

Все маны прочитал, ответа не нашел на следующий вопрос:

Установил почтовый сервер в докер-контейнерах для обслуживания нескольких доменов в сборке mailu.io. Ключи создал, в DNS все что нужно прописал (DKIM, SPF, DMARC).

Но при детальном рассмотрении выяснилось что исходящие письма не имеют подписи DKIM (Заголовок DKIM-Signature отсутствует).

конфиг: mailu/overrides/rspamd/dkim_signing.conf

selector = "dkim";
path = "/dkim/mail.mydomain.ru.$selector.key";

# ниже  шаманнил "вдруг прокатит", не получилось.
use_domain_sign_networks = "header";
allow_username_mismatch = true;
try_fallback = true;

результирующий конфиг rspamd: (rspamadm configdump)

dkim_signing {
    use_vault = true;
    vault_url = "http://admin/internal/rspamd/vault";
    vault_token = "mailu";
    use_domain_sign_networks = "header";
    use_domain = "header";
    allow_hdrfrom_mismatch = false;
    allow_username_mismatch = true;
    path = "/dkim/mail.mydomain.ru.$selector.key";
    symbol = "DKIM_SIGNED";
    sign_authenticated = true;
    allow_envfrom_empty = true;
    allow_hdrfrom_multiple = false;
    sign_local = true;
    sign_networks [
        "127.2.4.7",
    ]
    use_esld = false;
    try_fallback = true;
    use_redis = false;
    key_prefix = "DKIM_KEYS";
    selector = "dkim";
}

то есть он конфиг зачитал.

путь /dkim прописан в контейнере

в логе:

#28(rspamd_proxy) <8a0050>; lua; greylist.lua:217: skip greylisting for local networks and/or authorized users
 #28(rspamd_proxy) <8a0050>; proxy; dkim_symbol_callback: skip DKIM checks for local networks and authorized users
 #28(rspamd_proxy) <8a0050>; lua; spf.lua:186: skip SPF checks for local networks and authorized users
 #28(rspamd_proxy) <8a0050>; lua; dmarc.lua:349: skip DMARC checks as either SPF or DKIM were not checked
 #28(rspamd_proxy) <8a0050>; lua; whitelist.lua:301: skip DMARC/SPF blacklists for local networks and/or authorized users
 #28(rspamd_proxy) <8a0050>; dkim_signing; lua_dkim_tools.lua:183: user is authenticated
 #28(rspamd_proxy) <8a0050>; dkim_signing; lua_dkim_tools.lua:405: use domain(header) for signature: mydomain.ru
 #28(rspamd_proxy) <8a0050>; dkim_signing; lua_dkim_tools.lua:425: final DKIM domain: mydomain.ru

Это все что пишет dkim_signing,

функция prepare_dkim_signing() в lua_dkim_tools.lua завершается с условием «все нормально»

 -- TODO: try every domain in the vault
      return true, {
        domain = dkim_domain,
        vault = true,
      }

в [L473 строке] (https://github.com/rspamd/rspamd/blob/master/lualib/lua_dkim_tools.lua#L473)

Дальше в логе:

inet_address_connect: connect [::1]:11335 failed: 99, 'Address not available'
proxy; register_fuzzy_client_call: cannot connect to localhost:11335([::1]:11335), 22, Invalid argument
lua; once_received.lua:102: Skipping once_received for authenticated user or local network
proxy; finalize_item: slow rule: URIBL_MULTI(503): 330.67 ms; enable slow timer delay
proxy; finalize_item: slow rule: SURBL_MULTI(509): 817.40 ms; enable slow timer delay
proxy; rspamd_redis_connected: skip obtaining bayes tokens for BAYES_HAM of classifier bayes: not enough learns 28; 200 required
proxy; rspamd_redis_connected: skip obtaining bayes tokens for BAYES_SPAM of classifier bayes: not enough learns 24; 200 required
proxy; rspamd_stat_classifiers_process: skip statistics as SPAM class is missing
lua; greylist.lua:331: Score too low - skip greylisting
lua; neural.lua:442: skip ham sample to keep spam/ham balance; probability 0.5283018867924528; 25 spam and 52 ham vectors stored
lua; neural.lua:69: created new ANN profile for default:default, data stored at prefix rn_default_default_x6qwp8o7_0
proxy; rspamd_task_write_log: 

Внятной документации про устройство mailu не нашёл (схема работы подписи), а из коробки не запустилось.

Ну другом сервере OpenDKIM + postfix поднял, все подписывает. А здесь за подпись отвечает RSPAMD, если изменить Milter для postfix то и фильтр спама перестает работать.

Вопрос: Что я делаю не так? Куда копать? Что менять (кроме днк ;)? Есть ли где-то внятное описание этой всей схемы?

скачал исходники.. пошел искать как-том обрабатывается http://admin/internal/rspamd/vault , нашел питоновый скрипт, который читает локальный файл ключа по имени домена отправителя игнорируя общую настройку.

Итого: независимо от того, что для всех доменов один и тот же сервер mail.mydomain.ru , нужно сделать симлинки ключа на

mydomain1.ru.dkim,key
mydomain2.ru.dkim.key

в каталоге /dkim

node644
() автор топика