mein Clamsmtp möchte nicht mehr so, wie bisher gewohnt. Viren werden zwar gefiltert, doch es wird keine Mail mehr an den Empfänger ausgeliefert, die das dokumentiert.
Die Version 1.10 läuft/lief schon auf zwei Servern (Debian 6,7) mit den gleichen Einstellungen erfolgreich, nur auf meiner neuen Konfiguration (Debian 8 ) werden keine Infomails mehr ausgeliefert. Die richtigen Rechte auf /usr/local/bin/clamsmtpvirus.sh sind ebenfalls gesetzt.
/etc/clamsmtpd:
Code: Alles auswählen
OutAddress: 10026
Listen: 127.0.0.1:10025
ClamAddress: /var/run/clamav/clamd.ctl
TempDirectory: /var/spool/clamsmtp
PidFile: /var/run/clamsmtp/clamsmtpd.pid
#Bounce: off
Quarantine: on
User: clamsmtp
VirusAction: /usr/local/bin/clamsmtpvirus.sh
Code: Alles auswählen
#!/bin/bash
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# WARNING WARNING WARNING WARNING WARNING WARNING WARNING
#
# By using variables passed in from clamsmtpd in FILE
# manipulation commands without escaping their contents
# you are opening yourself up to REMOTE COMPROMISE. You
# have been warned. Do NOT do the following unless you
# want to be screwed big time:
#
# mv $EMAIL "$SENDER.eml"
#
## An attacker can use the above command to compromise your
# computer. The only variable that is guaranteed safe in
# this regard is $EMAIL.
#
# The following script does not escape its variables
# because it only uses them in safe ways.
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# A sample script for virus actions. When testing make sure
# everything can run as the clamav (or relevant) user.
FILE="/var/log/clamsmtpd.log"
DIR="/var/spool/clamsmtp"
exec 1>>$FILE
exec 2>>$FILE
# Add some fun log lines to the log FILE
echo "-------------------------------------------------------"
echo Sender $SENDER
echo Recipients $RECIPIENTS
echo Virus $VIRUS
echo "-------------------------------------------------------"
# Move the virus FILE to another DIRectory
# This only works if Quarantine is enabled
#
#if [ -n "$EMAIL" ]; then
# mv "$EMAIL" "$DIR"
#fi
#
MAILNAME="$(cat /etc/mailname)"
ADMIN="postmaster@server"
DATEI=$(echo "$DIR/$(ls -ltr $DIR )" | awk '{print $8}' | tail -n 1)
ZEILE=$(grep -n -v -e [0-9] -e [a-z] -e [A-Z] $DIR/$DATEI \
|awk -F: '{print $1}' |head -n1)
#
#Text fuer die Email
MAILTEXT="
Dies ist der Postfix Mailserver von $MAILNAME
Die Nachricht
gesendet von: $SENDER
gesendet an: $RECIPIENTS
kann nicht zugestellt werden. Es wurde ein Virus gefunden!
*** VIRUS ***: $VIRUS
Detailierte Emailkopfzeile der Nachricht:
$(head -n $ZEILE $DIR/$DATEI)
postmaster@$MAILNAME
"
#
#Mail verschicken
### Mail an den Absender der Virusmail schicken
### "$MAILTEXT" | mail -s "Ihre Nachricht an $RECIPIENTS,\
###$(date)" $SENDER
### Mail an den eigentlichen Empf�nger schicken
echo "$MAILTEXT" | mail -s "Virus Email von $SENDER empfangen,\
$(date)" $RECIPIENTS
### Mail an den Admin senden
echo "$MAILTEXT" | mail -s "Virus Email von $SENDER an $RECIPIENTS empfangen,\
$(date)" $ADMIN