[Corbeau] Parce qu'entre les hacks sales pour l'inactiver et le non-enregistrement des logs pertinents, ce volatile commençait vraiment à sentir mauvais.

Ignore-this: fb900136a111272093fb3720680b5f78

darcs-hash:20120706224711-b6762-b4aeb480061e6bf362e3a1a587322bacae468c89.gz
This commit is contained in:
Pierre-Elliott Bécue 2012-07-07 00:47:11 +02:00
parent 823845059e
commit c5c0f29676

87
corbeau
View file

@ -1,7 +1,8 @@
#! /bin/bash
# Mettre cette variable à 1 si on veut que le corbeau soit actif.
ACTIF=0
TEMP="$(mktemp)"
trap "rm -f ${TEMP}" EXIT
# On désactive spamassassin car il semble y avoir des problèmes
@ -10,40 +11,45 @@ trap "rm -f ${TEMP}" EXIT
cat > ${TEMP}
# Est-ce du spam ?
if [[ $? == 0 ]]; then
# Est-ce que le corbeau est actif ?
if [[ $ACTIF == 1 ]]; then
# Desactivation preventive
if false; then
# Est-ce que ça contient le mot de passe ?
#if cat ${TEMP} | egrep -q "^Mot de passe : corbeau$"; then
cat ${TEMP} | \
egrep -v "^Mot de passe : corbeau$" | \
formail -I "Received" \
-I "From" \
-I "Sender" \
-I "DKIM-Signature" \
-I "DomainKey-Signature" \
-I "X-Google-Sender-Auth" \
-I "X-Original-To" \
-I "X-Virus-Scanned" \
-I "X-Greylist" \
-I "Delivered-To" \
-I "To" \
-I "Message-ID" \
-I "User-Agent" \
-I "X-Newsreader" \
-I "Organization" \
-I "Return-Path" \
-A "Message-Id: $(date '+<corbeau.%s@crans.org>')" \
-A "From: corbeau@crans.org" \
-A "Newsgroups: crans.radio-ragots" \
-A "Path: Corbeau" | \
rnews
# Est-ce du spam ?
if [[ $? == 0 ]]; then
# Le mail ne contient pas le mot de passe, on répond à l'expéditeur
else
( cat ${TEMP} | formail -r -A "From: corbeau@crans.org" -A "Content-Type: text/plain; charset=UTF-8; format=flowed" ; cat << EOF
# Est-ce que ça contient le mot de passe ?
if cat ${TEMP} | egrep -q "^Mot de passe : corbeau$"; then
# On loggue tout dans /var/log/corbeau
FILE="corbeau_$(date +%Y_%m_%d_%H_%M_%S).log";
cat ${TEMP} >> "/var/log/corbeau/${FILE}";
# Puis on envoit la version modifiée.
cat ${TEMP} | egrep -v "^Mot de passe : corbeau$" | \
formail -I "Received" \
-I "From" \
-I "Sender" \
-I "DKIM-Signature" \
-I "DomainKey-Signature" \
-I "X-Google-Sender-Auth" \
-I "X-Original-To" \
-I "X-Virus-Scanned" \
-I "X-Greylist" \
-I "Delivered-To" \
-I "To" \
-I "Message-ID" \
-I "User-Agent" \
-I "X-Newsreader" \
-I "Organization" \
-I "Return-Path" \
-A "Message-Id: $(date '+<corbeau.%s@crans.org>')" \
-A "From: corbeau@crans.org" \
-A "Newsgroups: crans.radio-ragots" \
-A "Path: Corbeau" | \
rnews 2>> /var/log/corbeau/corbeau.err
# Le mail ne contient pas le mot de passe, on répond à l'expéditeur
else
( cat ${TEMP} | formail -r -A "From: corbeau@crans.org" -A "Content-Type: text/plain; charset=UTF-8; format=flowed" ; cat << EOF
Bonjour,
Ton mail n'est pas valide car il manque la ligne suivante :
@ -56,5 +62,20 @@ http://wiki.crans.org/VieCrans/ForumNews/LeCorbeau
Le corbeau
EOF
) | /usr/sbin/sendmail -t
fi
fi
# Corbal inactif, on répond à l'expéditeur.
else
( cat ${TEMP} | formail -r -A "From: corbeau@crans.org" -A "Content-Type: text/plain; charset=UTF-8; format=flowed" ; cat << EOF
Bonjour,
Le corbeau est actuellement désactivé. Il est donc inutile d'essayer de t'en servir.
En te remerciant de ta compréhension,
--
Le corbeau, désactivé.
EOF
) | /usr/sbin/sendmail -t
fi