HowTo qsheff aktualisieren [Zusatz zu V-Server Strato SA + ClamAV mit qsheff

Code:
vs2064231:/var/qmail/bin # ls -l /var/qmail/bin/qmail-queue*
-r-s--x--x 1 root   qmail   142 Feb 17 09:01 /var/qmail/bin/qmail-queue
-r-s--x--x 1 qmailq qmail 24120 Apr 25  2008 /var/qmail/bin/qmail-queue.moved
-r-s--x--x 1 root   qmail 31904 Apr 25  2008 /var/qmail/bin/qmail-queue.plesk
-r-s--x--x 1 root   qmail 31904 Aug 15  2008 /var/qmail/bin/qmail-queue.twi
vs2064231:/var/qmail/bin #

und auch gleich noch:

Code:
vs2064231:/var/qmail/bin # ls -l /usr/bin/spa*
-rwxr-xr-x 1 root root 26416 Sep 21  2007 /usr/bin/spamassassin
-rwxr-xr-x 1 root root 40808 Sep 21  2007 /usr/bin/spamc
vs2064231:/var/qmail/bin #

weil das ja in dem qmail-queue Script aufgerufen wird.

Inzwischen habe ich auch ein Mail per telnet mal abgesetzt. Nach dem abschliessenden "." im DATA-Teil erhalte ich als Response:

Code:
/bin/bash: bin/qmail-queue: Permission denied

Welche Berechtigung fehlt da? Zur Sicherheit noch die Augaben von ps:

Code:
vs2064231:/var/qmail/bin # ps -ef | grep spam
root      3156     1  0 10:17 ?        00:00:00 /usr/sbin/spamd -d -c -L -r /var/run/spamd.pid
root      3174  3156  0 10:17 ?        00:00:00 spamd child
root      3175  3156  0 10:17 ?        00:00:00 spamd child
root     16156  9645  0 10:34 pts/1    00:00:00 grep spam
vs2064231:/var/qmail/bin #

und
Code:
vs2064231:/var/qmail/bin # ps -ef | grep mail
qmails    3200     1  0 10:17 pts/1    00:00:00 qmail-send
qmaill    3202  3200  0 10:17 pts/1    00:00:00 splogger qmail
root      3203  3200  0 10:17 pts/1    00:00:00 qmail-lspawn | /usr/bin/deliverquota ./Maildir
qmailr    3204  3200  0 10:17 pts/1    00:00:00 qmail-rspawn
qmailq    3205  3200  0 10:17 pts/1    00:00:00 qmail-clean
root     17722  9645  0 10:34 pts/1    00:00:00 grep mail
vs2064231:/var/qmail/bin #
 
Die Idee mit Telnet war sehr gut. So hast Du schon mal einen konkreten Fehler.
Schon mal spaßeshalber im qmail-Verzeichnis ./bin/qmail-queue aufgerufen?

huschi.
 
Zusätzlich habe ich als normaler User mal

Code:
/usr/bin/spamc < testmail

aufgerufen und das lief gut durch den SA durch. Das aufrufen von

Code:
/var/qmail/bin/qmail-queue.twi < testmail

brachte gar keine Ausgabe und wurde bei CTRL-D beednet
 
Heureka, ich habe es geschafft!

Das erste Problem mit dem Script und SA war einfach ein Problem das qmail nicht auf das Script qmail-queue zugreifen konnte. Dies wurde mit einem

Code:
chmod 755 /var/qmail/bin/qmail-queue

beseitigt und SA konnte zugreifen.

Dann habe ich wieder ClamAV, ripMime und QSheff installiert und wieder war Essig.

Also wieder mein Mail per telnet versucht und folgenden Fehler erhalten:

Code:
/bin/bash: bin/qmail-queue.orig: Permission denied

Und huch? Wieso qmail-queue.orig? Also greift qsheff auf die gemachte Sicherung zu. Diese allerdings war bei mir ja das Script. Also das original per

Code:
cp -p /var/qmail/bin/qmail-queue.twi /var/qmail/bin/qmail-queue.orig

für qsheff bereit gestellt und siehe da: Es klappt!

Huschi: vielen Dank für das offene Ohr und das Schubsen in die Richtungen.

Eine Anregung für die HowTos hätte ich noch. Nämlich das die ClamAV-Logs in Logrotate aufgenommen werden sollten, oder?

Grüße,
Willi
 
Eine Frage tut sich jetzt doch noch auf.

Ich habe qsheff mit der Zeile

Code:
./configure --with-clamav --with-clamd-socket=/var/lib/clamav/clamd-socket --enable-subject-tag --enable-virus-tag

Konfiguriert. Aber ich bekomme trotzdem nur eine Mail mit dem Hinweis das die ursprüngliche Mail einen Virus enthält (EICAR). Ich hätte aber gerne das die Mail komplett zugestellt wird und nur der Tag {VIRUS} im Subject steht. Alle anderen Tests lasse ich vom SA machen und werden deshalb disabled. Auch habe ich angestellt das die Mails in die Quarantäne gestellt werden sollen. Ich finde aber keine.

Hier noch die qsheff.conf:

Code:
#
# EnderUNIX qSheff configuration file
#
# http://www.enderunix.org/qsheff
#
# $Id: qsheff.conf-default.in,v 1.4 2006/08/31 12:15:15 simsek Exp $
#

QSHEFFDIR = /var/qsheff
LOGFILE = /var/log/qsheff.log
RIPMIME = "/usr/local/bin/ripmime"

# Disable this if you are using Bogofilter.
# The qsheff signature will affect the results!!!
enable_qsheff_sign = 1

# Set debug level
# qsheff will log entries which have a debug level less than this value.
# debug_level = 99 logs everything
# debug_level = 0  logs only internal errors
#
#  level   Identifier   Comment
# ------- ------------ -----------------------------------------------
#   0      ERR          Internal error.
#   2      QUEUE        qSheff passed the mail to qmail-queue.
#   3      VIRUS        Antivirus software found a virus.
#   5      CUSTOM       Custom filter program caught a spam pattern.
#  11      SPAM         Found spam pattern.
#  13      ATTACH       Caught prohibited attach file.
#  15      HEADER       Mail header problem.
#
debug_level = 99

# When enabled, qSheff doesn't return the "permanantly error"
# for spam or infected messages.
enable_spam_blackhole = 0
enable_virus_blackhole = 0

# 0: Don't panic when any function doesnt work
#    Just continue to finish job.
# 1: Spammer and antivirus must work.
#    Condone other errors.
# 2: Don't forgive any error.
#
# Note that: This feature is not implemented yet.
paronia_level = 0

# Drop mail if the From: line is empty.
drop_empty_from = 0

# When set to 1, enables quarantine for spams and virus mails.
enable_quarantine = 1

# When set to 1, enables ignore list feature.
# qSheff doesn't perform spam filtering for the addresses in qsheff.ignore
enable_ignore_list = 1

# When set to 1, enables header rules based on regular expressions.
# Header rules starts with a leading h: pattern.
# Check the qsheff.rules
enable_header_filter = 1

# When set to 1, enables body rules based on regular expressions.
# Header rules starts with a leading b: pattern.
# Check the qsheff.rules
enable_body_filter = 1

# When set to 1, enables attachment filtering.
# Check the qsheff.attach
enable_attach_filter = 1

# When set to 1, enables ClamAv antivirus client.
# qSheff connects to Clamd directly, through a socket file.
# The socket file must be specified at compile time
# by --with-clamd-socket option.
enable_clamd = 1

# When set to 1, enables user defined filtering programs.
# The CUSTOM_PROG variable must be defined.
enable_custom_prog = 0

# Pre-defined variables to pass custom filter program:
#
# %%mailfrom%% as email address: source address.
# %%mailto%% as email address: target address.
# %%remoteip%% as IP address: remote SMTP server.
# %%msgfile%% as filename: full path of stored incoming mail.
# %%tempdir%% as directory path: full of the tempdir includes parts of mail (attachments, body, header etc.)
#
# Examples:
# CUSTOM_PROG = "/usr/bin/myscript -f %%mailfrom%% -t %%mailto%% -r %%tempdir%%"
# CUSTOM_PROG = "/usr/local/bin/bogofilter --bogofilter-dir=/etc/bogofilter -I %%msgfile%%"
#
CUSTOM_PROG = "disabled"

# For the custom program return value 'ret',
# if CUSTOM_RET_MIN <= ret <= CUSTOM_RET_MAX
# qSheff will assume the mail has spam content.
# So qSheff will return 'permanently error'.
CUSTOM_RET_MIN = 1
CUSTOM_RET_MAX = 100

# Return value for errors.
# qSheff assumes that, all nagative return codes indicate a failure.
# if ret < 0 or ret == CUSTOM_RET_ERR => then return 'temporary error'
CUSTOM_RET_ERR = -1

# For bogofilter:
#CUSTOM_RET_MIN = 1
#CUSTOM_RET_MAX = 1
#CUSTOM_RET_ERR = 3

# This string will be appended to the end of the custom message.
# It may be your company or organisation name. Can be maximum 32 characters
# Custom error patch must be applied and enabled.
custom_sign = "xxxxxxxxxxxxxx"
 
So, jetzt habe ich es so hinbekommen das ich zufrieden bin. allerdings mußte ich selbst den Code im qsheff anpassen. Aer dafür bekomme ich jetzt bei einer Viren-Mail den Subject geändert, den Body komplett gelöscht und einen Hinweis wie der File in der Quarantäne heißt. Auch das Schreiben in die Quarantän mußte ich anpassen. Irgendwie habe ich das nicht hinbekommen ohne selbst zu programmieren. Aber jetzt läuft es.
 
Back
Top