oplossing (soort van) (was: exim, spfquery, antwoord is altijd "none" (met lange uittro))

2020-06-17 Berichten over hetzelfde onderwerp Gijs Hillenius


Nou, dan praat ik wel met mezelf ;-)

Dit is een soort van oplossing, maak expliciet dat je versie 1 van
spfquery wilt. En pas dan tegelijk even de syntax aan. Met die "-v 1"
optie komt het goede antwoord op de warn regel.

Nog beter zou zijn als ik die syntax aan versie 2 aanpas. Dat volgt, wellicht.


condition = ${run{/usr/bin/spfquery -v 1 --ip \"$sender_host_address\" -s 
\"$sender_address\" --helo-id \"$sender_helo_name\"}\
 {no}{${if eq {$runrc}{1}{yes}{no



On 17 June 2020 09:57 Gijs Hillenius, wrote:

> Goedenmorgen
>
> Is er hier iemand die Debian's Exim macro's kan spellen?
>
> Al jaren terug stelde ik de standaard regeltjes voor SPF in, maar het
> val me nu pas op dat de check altijd "none" oplevert.
>
> Kan iemand die regel met me meelezen? Is het omdat de query meer
> teruggeeft dan 1 woord? De query geeft 4 regels terug, maar de eerste
> regel is het "gezochte" antwoord.
>
> Hier het blok in exim4.conf.template
>
>
>   # Use spfquery to perform a pair of SPF checks
>   # This is quite costly in terms of DNS lookups (~6 lookups per mail).  Do 
> not
>   # enable if that's an issue.
>   # required:
>   # apt install spf-tools-perl
>   # and (for monolithic conf file, set CHECK_RCPT_SPF=true in 
> exim4.conf.localmacros
>   .ifdef CHECK_RCPT_SPF
>   deny
> message = [SPF] $sender_host_address is not allowed to send mail from 
> ${if def:sender_address_domain {$sender_address_domain}{$sender_helo_name}}.  
> \
>   Please check your SPF set-up
> log_message = SPF check failed.
> condition = ${run{/usr/bin/spfquery --ip \"$sender_host_address\" 
> --mail-from \"$sender_address\" --helo \"$sender_helo_name\"}\
>  {no}{${if eq {$runrc}{1}{yes}{no
>
>   defer
> message = Temporary DNS error while checking SPF record.  Try again later.
> condition = ${if eq {$runrc}{5}{yes}{no}}
>
>   warn
> condition = ${if <={$runrc}{6}{yes}{no}}
> message = :at_start:Received-SPF: ${if eq {$runrc}{0}{pass}\
>{${if eq {$runrc}{2}{softfail}\
>{${if eq {$runrc}{3}{neutral}\
>{${if eq {$runrc}{4}{unknown}\
>{${if eq {$runrc}{6}{none}{error}\
>} client-ip=$sender_host_address; \
> ${if def:sender_address_domain \
>{envelope-from=${sender_address}; }{}}\
> helo=$sender_helo_name
>
>   warn
> log_message = Unexpected error in SPF check.
> condition = ${if >{$runrc}{6}{yes}{no}}
>   .endif
>
>
>
>
> En dan nog dit: Ik ben mijn SPF regeltjes aan het bijschaven.
>
> De afgelopen dagen geleerd dat Debian's versie van Exim nog geen SPF
> ondersteuning meelevert, maar Ubuntu wel. En ook dat Debian's Exim macro
> verwijst naar een externe tool die niet meer in Debian zit
> (libmail-spf-query-per ipv spf-tools-perl). Dit is al aangepast in de
> Wiki, gelukkig.
>
> Dat de standaard filter (uit spec.text.gz) verwijst naar
> http://www.openspf.org/Why?scope= ... die website is nu ongeveer 1,5
> jaar terug uit de lucht.
>
> Het commentaar hierboven verwijst daarom niet meer naar die SPF site; en
> da's ook verwijderd uit de deny regel.
>
> Ik voegde een :at_start: toe aan de warn regel, en ook een berichtje om
> te testen dat deze header echt het resultaat is van die warn check. Maar
> de if 0 if 2 if 3 levert altijd none als antwoord. Als ik de spfguery
> nakijk, voor bijvoorbeeld gmail, is het antwoord "pass".
>

-- 
It's amazing how many people you could be friends with if only they'd
make the first approach.



exim, spfquery, antwoord is altijd "none" (met lange uittro)

2020-06-17 Berichten over hetzelfde onderwerp Gijs Hillenius
Goedenmorgen

Is er hier iemand die Debian's Exim macro's kan spellen?

Al jaren terug stelde ik de standaard regeltjes voor SPF in, maar het
val me nu pas op dat de check altijd "none" oplevert.

Kan iemand die regel met me meelezen? Is het omdat de query meer
teruggeeft dan 1 woord? De query geeft 4 regels terug, maar de eerste
regel is het "gezochte" antwoord.

Hier het blok in exim4.conf.template


  # Use spfquery to perform a pair of SPF checks
  # This is quite costly in terms of DNS lookups (~6 lookups per mail).  Do not
  # enable if that's an issue.
  # required:
  # apt install spf-tools-perl
  # and (for monolithic conf file, set CHECK_RCPT_SPF=true in 
exim4.conf.localmacros
  .ifdef CHECK_RCPT_SPF
  deny
message = [SPF] $sender_host_address is not allowed to send mail from ${if 
def:sender_address_domain {$sender_address_domain}{$sender_helo_name}}.  \
  Please check your SPF set-up
log_message = SPF check failed.
condition = ${run{/usr/bin/spfquery --ip \"$sender_host_address\" 
--mail-from \"$sender_address\" --helo \"$sender_helo_name\"}\
 {no}{${if eq {$runrc}{1}{yes}{no

  defer
message = Temporary DNS error while checking SPF record.  Try again later.
condition = ${if eq {$runrc}{5}{yes}{no}}

  warn
condition = ${if <={$runrc}{6}{yes}{no}}
message = :at_start:Received-SPF: ${if eq {$runrc}{0}{pass}\
   {${if eq {$runrc}{2}{softfail}\
   {${if eq {$runrc}{3}{neutral}\
   {${if eq {$runrc}{4}{unknown}\
   {${if eq {$runrc}{6}{none}{error}\
   } client-ip=$sender_host_address; \
${if def:sender_address_domain \
   {envelope-from=${sender_address}; }{}}\
helo=$sender_helo_name

  warn
log_message = Unexpected error in SPF check.
condition = ${if >{$runrc}{6}{yes}{no}}
  .endif




En dan nog dit: Ik ben mijn SPF regeltjes aan het bijschaven.

De afgelopen dagen geleerd dat Debian's versie van Exim nog geen SPF
ondersteuning meelevert, maar Ubuntu wel. En ook dat Debian's Exim macro
verwijst naar een externe tool die niet meer in Debian zit
(libmail-spf-query-per ipv spf-tools-perl). Dit is al aangepast in de
Wiki, gelukkig.

Dat de standaard filter (uit spec.text.gz) verwijst naar
http://www.openspf.org/Why?scope= ... die website is nu ongeveer 1,5
jaar terug uit de lucht.

Het commentaar hierboven verwijst daarom niet meer naar die SPF site; en
da's ook verwijderd uit de deny regel.

Ik voegde een :at_start: toe aan de warn regel, en ook een berichtje om
te testen dat deze header echt het resultaat is van die warn check. Maar
de if 0 if 2 if 3 levert altijd none als antwoord. Als ik de spfguery
nakijk, voor bijvoorbeeld gmail, is het antwoord "pass".