[Rspamd-Users] DKIM not signing - help debugging

Philip Paeps philip at trouble.is
Fri Oct 23 02:28:20 UTC 2020


On 2020-10-22 17:48:06 (+0800), Philip Paeps wrote:
> On 2020-10-22 17:36:10 (+0800), André Peters wrote:
>
>> ------ Originalnachricht ------
>> Von: "Philip Paeps" <philip at trouble.is>
>> An: "User questions" <users at lists.rspamd.com>
>> Gesendet: 22.10.2020 11:19:53
>> Betreff: Re: [Rspamd-Users] DKIM not signing - help debugging
>>
>>> On 2020-10-22 17:17:12 (+0800), Philip Paeps wrote:
>>>
>>>> On 2020-10-22 14:47:18 (+0800), André Peters wrote:
>>>>
>>>>> ------ Originalnachricht ------
>>>>> Von: "Philip Paeps" <philip at trouble.is>
>>>>> An: "User questions" <users at lists.rspamd.com>
>>>>> Gesendet: 22.10.2020 08:27:59
>>>>> Betreff: [Rspamd-Users] DKIM not signing - help debugging
>>>>>
>>>>>> rspamd is no longer DKIM signing my outbound email and I don't 
>>>>>> understand why.
>>>>>>
>>>>>> As far as I can tell, nothing relevant has changed in the 
>>>>>> configuration.
>>>>>>
>>>>>> The only thing I can glean from the logs is:
>>>>>>
>>>>>> 2020-10-22 06:14:20 #63177(rspamd_proxy) <0e6dd1>; dkim_signing; 
>>>>>> lua_dkim_tools.lua:170: mail is ineligible for signing
>>>>>>
>>>>>> This is with debug_modules = [ "dkim_signing" ] in 
>>>>>> local.d/logging.inc
>>>>>>
>>>>>> Any ideas on how I can debug this effectively?  Permissions 
>>>>>> haven't changed, configuration hasn't changed.  I am confused.
>>>>>>
>>>>>> Many thanks!
>>>>>> Philip
>>>>>>
>>>>>> -- Philip Paeps
>>>>>> Senior Reality Engineer
>>>>>> Alternative Enterprises
>>>>>> -- Users mailing list
>>>>>> Users at lists.rspamd.com
>>>>>> https://lists.rspamd.com/mailman/listinfo/users
>>>>>
>>>>> Hi,
>>>>>
>>>>> Can you post your dkim signing config?
>>>>>
>>>>>   if settings.sign_authenticated and auser then
>>>>>     lua_util.debugm(N, task, 'user is authenticated')
>>>>>     is_authed = true
>>>>>   elseif (settings.sign_networks and 
>>>>> settings.sign_networks:get_key(ip)) then
>>>>>     is_sign_networks = true
>>>>>     lua_util.debugm(N, task, 'mail is from address in 
>>>>> sign_networks')
>>>>>   elseif settings.sign_local and is_local then
>>>>>     lua_util.debugm(N, task, 'mail is from local address')
>>>>>   elseif settings.sign_inbound and not is_local and not auser then
>>>>>     lua_util.debugm(N, task, 'mail was sent to us')
>>>>>   else
>>>>>     lua_util.debugm(N, task, 'mail is ineligible for signing')
>>>>>     return false,{}
>>>>>   end
>>>>>
>>>>> See all non-matching criteria above. At least one setting must 
>>>>> match to sign.
>>>>
>>>> dkim_signing {
>>>>     use_esld = true;
>>>>     allow_hdrfrom_mismatch = false;
>>>>     selector = "dkim";
>>>>     symbol = "DKIM_SIGNED";
>>>>     sign_networks [
>>>>         "127.2.4.7",
>>>>     ]
>>>>     domain {
>>>>         trouble.is {
>>>>             selector = "20190809-2048-eihatoow";
>>>>         }
>>>>     }
>>>>     allow_envfrom_empty = true;
>>>>     try_fallback = true;
>>>>     sign_authenticated = true;
>>>>     path = 
>>>> "/usr/local/etc/rspamd/local.d/dkim_keys/$domain.$selector.key";
>>>>     use_redis = false;
>>>>     allow_username_mismatch = true;
>>>>     sign_local = true;
>>>>     key_prefix = "DKIM_KEYS";
>>>>     use_domain = "header";
>>>>     allow_hdrfrom_multiple = false;
>>>> }
>>>>
>>>> I should match the first condition: I am authenticated and 
>>>> sign_authenticated is set to true.
>>>
>>> But I'm not seeing the "user is authenticated" debug statement!  
>>> Aha.
>>>
>>> So ... the real question becomes: how do I tell rspamd that I am 
>>> authenticated?  Or possibly: why did it used to be able to tell but 
>>> can't anymore?
>>>
>>> Many thanks!
>>>
>>> Philip
>>>
>>> -- Philip Paeps
>>> Senior Reality Engineer
>>> Alternative Enterprises
>>> -- Users mailing list
>>> Users at lists.rspamd.com
>>> https://lists.rspamd.com/mailman/listinfo/users
>>>
>>
>> Hmm, but you _are_ authenticated? Which MTA do you use?
>
> I use Postfix.
>
> And I think I'm close to figuring it out.  My last two replies to the 
> list _were_ signed.
>
> The one thing that changed on my network is that rtadvd is running 
> again and my laptop is getting an IPv6 address.  The messages that 
> came in over IPv4 matched this local settings block:
>
> ```
> toothfairy {
>   ip = "2404:c800:9016:46a:4262:31ff:fe11:af6f";
>   ip = "116.49.135.125";
>   from = "root at toothfairy.yoo.trouble.is";
>   from = "devnull at trouble.is";
>   from = "printer-noreply at trouble.is";
>   from = "philip at trouble.is";
>   priority = high;
>   want_spam = yes;
> }
> ```
>
> That block exists so the malformed email produced by my 
> printer/scanner can get through rspamd unharmed.
>
> When my laptop doesn't have an IPv6 address, it's NATed behind 
> 116.49.135.125.
>
> So ... hypothesis: when a message matches this block, DKIM signing 
> does not happen.  When it does not match this block, DKIM signing 
> happens.
>
> Testing my hypothesis by disabling IPv6 on my laptop for sending this 
> message.  If this message is not signed, we know why.  Then I just 
> have to fix it. ;-)

So that message wasn't signed.  I've done some more experimenting and I 
can confirm that every message that hits that settings block does not 
get signed.  Can anyone help me understand why?

Thanks.
Philip

-- 
Philip Paeps
Senior Reality Engineer
Alternative Enterprises


More information about the Users mailing list