#!/bin/bash # GENERE par Set-OPS (role serveur_rspamd). Ne pas editer a la main. # # SONDE « filtrage » — Le filtrage du courrier repond-il, et ANALYSE-T-IL vraiment ? # # UN FILTRE MUET NE BLOQUE PAS LE COURRIER — IL LE LAISSE PASSER. Postfix qui n'obtient # pas de verdict de rspamd delivre sans filtrer, ou differe : dans les deux cas le service # de courriel a l'air sain pendant que le pourriel entre ou que la file grossit. # # REPONDRE N'EST PAS FILTRER (2026-09-28). Cette sonde s'arretait a `/ping` — la meme # question que celle qui a laisse `tableaux` au vert pendant que Grafana n'affichait rien. # Un rspamd dont les regles ne se chargent plus, ou dont le moteur d'analyse est tombe, # repond encore `pong`. On lui fait donc ANALYSER un message : GTUBE, le message de test # standard que tout filtre doit rejeter (score maximal, action `reject`). Rien n'est envoye, # rien n'est livre : rspamc soumet le texte au moteur et lit le verdict. # # Mise en defaut PAR PARAMETRE : `serveur_rspamd_sonde_attendu` (chaine introuvable) pour # la premiere etape, `serveur_rspamd_sonde_action` pour la seconde. set -uo pipefail ping=$(curl -s --max-time 8 http://127.0.0.1:11334/ping 2>/dev/null | tr -d '[:space:]') [[ "${ping}" == "{{ serveur_rspamd_sonde_attendu }}" ]] \ || { echo "rspamd ne repond pas a /ping (${ping:-rien}) — le courrier passe sans filtre, ou attend."; exit 2; } GTUBE='XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X' verdict=$(printf 'Subject: sonde Set-OPS\n\n%s\n' "${GTUBE}" | timeout 10 rspamc 2>&1) action=$(printf '%s' "${verdict}" | awk -F': ' '/^Action:/{print $2; exit}') score=$(printf '%s' "${verdict}" | awk -F': ' '/^Score:/{print $2; exit}') if [[ "${action}" != "{{ serveur_rspamd_sonde_action }}" ]]; then echo "rspamd repond, mais N'ANALYSE PLUS : le message de test GTUBE rend « ${action:-aucun verdict} » au lieu de « {{ serveur_rspamd_sonde_action }} » — le pourriel entrerait. ${verdict:0:80}" exit 2 fi echo "Filtrage actif : le message de test GTUBE est rejete (score ${score})." exit 0