Configuration custom - aide pour création de hooks

Ouah! Tu as l’œil @Aleks!
Merci, je m’étais relu plusieurs fois, je ne voyais pas mon erreur. As-tu une technique pour debug ce genre d’erreur ou est-ce seulement en lisant le hook que j’ai posté? Il y a des erreurs qu’on ne voit plus à force de lire et relire.

Hmben là j’ai juste relu attentivement … mais le truc chelou c’est que dans ton log:

On aurait du voir les autres lignes … pas sur de comprendre pourquoi elles sont pas là

mais du coup je m’attends à ce que le soucis soit que [[ -e $diag_conf ]] soit faux et donc ça passe dans le exit 0 …

Mais bon, pour le coup de “typo dans le nom d’une variable”, quand tu bosses avec d’autres language tel que Python, généralement les IDE ou vim peuvent te montrer automatiquement l’erreur

En bash c’est un peu plus le bordel car le language est moins formalisé à ce niveau …

1 Like

Tout fonctionne maintenant, le souci venait bien de cette typo.

Bonjour
J’essaye d’appliquer le hook de spamhaus, comment verfier que c’est bien actif ? car j’ai pas de changement:
yunohost tools regen-conf postfix --force --debug

2290 DEBUG + ‘[’ ‘!’ -f /proc/net/if_inet6 ‘]’
2393 DEBUG Executing command ‘[‘sh’, ‘-c’, ‘/bin/bash -x “./20-postfix_spamhaus” pre ‘’ ‘’ /var/cache/yunohost/regenconf/pending/postfix_spamhaus 7>&1’]’
2399 DEBUG + action=pre
2399 DEBUG + pending_dir=/var/cache/yunohost/regenconf/pending/postfix_spamhaus
2399 DEBUG + postfix_conf=/var/cache/yunohost/regenconf/pending/postfix_spamhaus/../postfix/etc/postfix/main.cf
2400 DEBUG + [[ pre == “pre” ]]
2400 DEBUG + exit 0
2502 DEBUG Checking pending configuration which would have been applied for category ‘postfix’…
2525 DEBUG processing pending conf ‘/var/cache/yunohost/regenconf/pending/postfix/etc/default/postsrsd’ to system conf ‘/etc/default/postsrsd’
2526 DEBUG > system conf is already up-to-date
….
le hook est il cense modifier la conf /etc/postfix/main.cf ? car je ne vois rien dans ce fichier?
ensuite dans le service postfix je devrait voir des requetes vers spamhaus c’est ca ?
Merci pour votre aide

Bonjour,

De quel hook spamhaus parles-tu? Celui qui est sur cet autre sujet?

Si oui, le hook modifie bien le fichier /etc/postfix/main.cf dans la configuration smtpd_client_restrictions.

oui c‘est celui la

si je comprends bien ca devrait modifier la ligne smtpd_client_restrictions
et voila ce que j’ai

smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_rbl_client bl.spamcop.net,
reject_rbl_client zen.spamhaus.org,
permit

ce que j’ai fait

sudo mkdir /etc/yunohost/hooks.d/conf_regen
sudo chmod u+rx /etc/yunohost/hooks.d/conf_regen
sudo vi /etc/yunohost/hooks.d/conf_regen/20-postfix_spamhaus
sudo yunohost settings set email.antispam.enable_blocklists -v yes
sudo yunohost tools regen-conf postfix --force --debug

contenu du /etc/yunohost/hooks.d/conf_regen/20-postfix_spamhaus

#!/bin/bash

action=$1
pending_dir=$4
postfix_conf=$pending_dir/../postfix/etc/postfix/main.cf

[[ "$action" == “pre” ]] || exit 0
[[ -e $postfix_conf ]] || exit 0

sed -i ‘/smtpd_client_restrictions/a\    reject_rhsbl_sender         PERSONALKEY.dbl.dq.spamhaus.net=127.0.1.[2..99],\
reject_rhsbl_helo           PERSONALKEY.dbl.dq.spamhaus.net=127.0.1.[2..99],\
reject_rhsbl_reverse_client PERSONALKEY.dbl.dq.spamhaus.net=127.0.1.[2..99],\
reject_rhsbl_sender         PERSONALKEY.zrd.dq.spamhaus.net=127.0.2.[2..24],\
reject_rhsbl_helo           PERSONALKEY.zrd.dq.spamhaus.net=127.0.2.[2..24],\
reject_rhsbl_reverse_client PERSONALKEY.zrd.dq.spamhaus.net=127.0.2.[2..24],\
reject_rbl_client           PERSONALKEY.zen.dq.spamhaus.net=127.0.0.[2..255],’ $postfix_conf

sed -i ‘/zen.spamhaus.org/d’ $postfix_conf

echo ’
rbl_reply_maps = hash:/etc/postfix/dnsbl-reply-map’ >> $postfix_conf

(evidement j’ai mis ma cle a la place de PERSONALKEY)

L’erreur est sans doute dans la mise en forme du hook, en faisant des copier/coller il y a parfois des typo. Je pense principalement au simple-quote et double-quotes qui ne sont pas correctement reproduites si je les copies sur le forum et les colle dans ma session SSH.

j’ai retapé les simples et doubles cotes c’est mieux
j’ai des nouvelles erreurs mais ca permet d’avance …
merci
les 4 espaces devant les lignes reject etaient manquant (indentation c’est important )
Donc j’ai un succes

postfix: 
  applied: 
    /etc/postfix/main.cf: 
      status: updated

Merci
:ok_hand:

Ok, si tu as toujours des erreurs que tu n’arrives pas à résoudre, repasse le dire :slightly_smiling_face:

Merci c’est bon j’essaye de voir cotes spamhaus si c’est mieux ya du mieux mais tout n’est pas vert
cotes Yunohost j’ai toujours

Votre IP ou domaine <monipv4> est sur liste noire sur Spamhaus ZEN

    Il semble que la raison mentionne « open resolver ».
    Cela signifie généralement que votre serveur n'utilise pas son DNS local, mais un DNS public et ouvert.
    Vérifiez le contenu de /etc/resolv.conf, il devrait contenir nameserver 127.0.0.1.
    Comme ce fichier est généralement généré automatiquement, ne le modifiez pas manuellement. Vérifiez vos paramètres DHCP ou vos paramètres VPN si vous en utilisez un, ou si vous avez utilisé une image Debian créée, par exemple, par un fournisseur de VPS, recherchez une configuration cloudinit.
    N'hésitez pas à vous rendre sur les canaux d'assistance YunoHost pour obtenir de l'aide sur ce problème.
    La raison exacte de la liste noire est : "Error: open resolver; https://check.spamhaus.org/returnc/pub/<monipv6>/"
    Après avoir identifié la raison pour laquelle vous êtes répertorié sur cette liste et l'avoir corrigée, n'hésitez pas à demander le retrait de votre IP ou de votre domaine sur https://www.spamhaus.org/zen/

en relisant la doc Configuring DQS on Postfix — Spamhaus Technology Documentation 2.0 documentation
je vois que j’ai une erreur sur

reject_rbl_client           PERSONALKEY.zen.dq.spamhaus.net=127.0.0.[2..255]

il faut

reject_rbl_client           PERSONALKEY.zen.dq.spamhaus.net=127.0.0.[2..11]

ensuit il parle d’un fichier /etc/postfix/dnsbl-reply-map qui doit contenir

	your_DQS_key.zen.dq.spamhaus.net=127.0.0.[2..11]	554 $rbl_class $rbl_what blocked using ZEN - see https://www.spamhaus.org/query/ip/$client_address for details
	your_DQS_key.dbl.dq.spamhaus.net=127.0.1.[2..99]	554 $rbl_class $rbl_what blocked using DBL - see $rbl_txt for details
	your_DQS_key.zrd.dq.spamhaus.net=127.0.2.[2..24]	554 $rbl_class $rbl_what blocked using ZRD - domain too young
	your_DQS_key.zen.dq.spamhaus.net			554 $rbl_class $rbl_what blocked using ZEN - see https://www.spamhaus.org/query/ip/$client_address for details
	your_DQS_key.dbl.dq.spamhaus.net			554 $rbl_class $rbl_what blocked using DBL - see $rbl_txt for details
	your_DQS_key.zrd.dq.spamhaus.net			554 $rbl_class $rbl_what blocked using ZRD - domain too young

comment faire avec le hook ?
un echo ‘tout le texte ci dessus’ > /etc/postfix/dnsbl-reply-map
mais apres il faut lancer
postmap /etc/postfix/dnsbl-reply-map
est ce que tu as fait ça de ton cotes @metyun ?

Je sais qu’il y a des listes où on sort automatiquement passé un délai après avoir corrigé, donc il suffit peut-être simplement d’attendre 1 journée ou 2.

J’ai déjà demandé le retrait de mon IP auprès de Spamhaus dans le passé, c’est très rapide et effectif assez rapidement. Il suffit de faire la demande sur leur formulaire automatique de retrait. Mais auparavant il faut être sûr d’avoir fait toutes les corrections nécessaires.

Je n’avais pas vu ton complément de questions. Je n’ai rien fais personnellement, je ne suis pas concerné, c’est un hook que j’ai fais suite à la solution donnée par @Gwylohm pour aider à l’automatisation vu qu’il y a pas mal de personnes de concernées sur Yunohost.

Pour le fichier /etc/postfix/dnsbl-reply-map ne t’embête pas à le mettre dans le hook, il n’existe pas de base donc yunohost ne l’écrasera pas, tu peux le créer directement. Tu peux lire la discussion en lien que j’ai donné juste avant le hook, j’ai indiqué dans celle-ci :

Pour le reste de la configuration (/etc/postfix/dnsbl-reply-map ), ce n’est pas touché par les mises à jours, aussi il suffit de suivre la documentation de Spamhaus.

Oui un postmap est nécessaire pour prendre en compte, c’est de la conf postfix, ce n’est pas spécifique à yunohost. Pour recharger la configuration tu peux redémarrer avec les commandes yunohost au lieu de suivre la fin de la doc spamhaus avec :

yunohost service reload postfix

ou peut-être même un restart si tu vois que ce n’est pas pris en compte.

merci c’est en place :ok_hand:

autre chose j’ai rajouté dans mon hook la desactivation de l’ipv6 pour smtp à la fin du fichier

echo ’
rbl_reply_maps = hash:/etc/postfix/dnsbl-reply-map
inet_protocols = ipv4’ >> $postfix_conf

Pour eviter le erreur ipv6 sur le smtp

Ce n’est pas la bonne pratique de le gérer par le hook. La bonne façon de le faire est de positionner le setting email.smtp.smtp_allow_ipv6 sur no

yunohost settings set email.smtp.smtp_allow_ipv6 -v no
1 Like

ok merci je change ca :+1:

Hello
après une comparaison de

grep -v ^# /etc/postfix/main.cf

avec le hook effectivement j’avais une erreur :wink:
J’ai corrigé merci