Plesk Qsheff Watch

Der Wrapper hat bei mir etwas andere Rechte-Settings:

Code:
-rwsr-sr-t  1 root root   6992 2007-11-30 15:07 wrapper*
 
Hallo akxak,

im Textfile steht zwar:
-Set the wrapper to chmod 4755 ("chmod 4755 wrapper")
aber mit dem setuid, setgid, und sticky Bit funktionierts leider auch nicht.
Code:
-rwsr-sr-t 1 root root 6992 2007-11-30 11:34 wrapper
In der restoremsg.sh soll das /usr/bin/nail oder mail sein?

Gruß
Schmide
 
nail musste ich erst nachinstallieren :-)
Das Problem besteht leider immer noch, kann man den Vorgang debuggen?
 
Das sollte schon gehen, indem Du das Script editierst und die Ausgabe in ein Logfile schickst. Der Wrapper selbst ist binär.
 
leider wird kein Log erzeugt, was ja auch richtig ist, da er mit dem Wrapper nix anfangen kann. Der Wrapper ruft ja das Script auf!!!.
Welches System benutzt du?
Ich benutze Debian 4.0
 
Hallo,

ich habe Qsheff Watch nach Anleitung, allerdings mit den letzten Stableversionen von Qsheff-II und Ripmine als .deb-Packete installiert!

Datei habe ich Spamasassin nicht mit eingebunden da ich eine Spamasassin-Lizenz von Plesk besitze!

Das heißt, dass bei mir nur die Qmail-queue mit Qsheff ersetzt wurde!
Hier besteht nun das Problem wo ich nicht weiter weiß, da ich folgende Fehlermeldung bekomme:
Code:
451 Qq Temporary Problem (#4.3.0)

Die Mails können ab diesem Zeitpunkt somit nicht mehr zugestellt werden.
Erst wenn ich die "qmail-queue" durch ein Script ersetzte u. mit der originalen "qmail-queue" verknüpfe ist der Mailversand u. Empfang wieder möglich!

Allerdings tritt hier ein neues Problem auf, dass jedes Mail als Virus erkannt wird u. der Inhalt zerstört wird. Sprich, dass Mails kommt leer an!

Mein System Debian 4.0, Plesk 8.3.0!

Hab ich was übersehen? Clamav usw. wurde alles installiert!
 
Du hast eher ein Problem mit qsheff selbst, denn qsheffWatch ist ein reines Plugin für Plesk, um auf die Logs zuzugreifen.... daher die Frage am besten nochmal in den qsheff-Threads stellen.

Vergleiche mal die Rechteeinstellungen der originalen qmail-queue und von qmail-qsheff... ist das SetUID-Bit gesetzt? Gehört die Datei root:qmail?

Wenn es da nicht stimmt, dann kann qmail qmail-qsheff nicht aufrufen und es kommt zu Problemen.

Randanmerkung... ich habe auch eine SA-Lizenz für Plesk, dennoch habe ich SA zusätzlich noch vor qsheff eingebunden. Denn SA über Plesk filtert die Mail zwar aus, für den Spammer wurde die Mail aber erfolgreich zugestellt. Wird SA an dieser frühen Stelle in den Empfangsprozess mit eingebunden, so kann ich über qsheff einen Reject der Mail erreichen (d. h. dem Empfänger wird keine erfolgreiche Übertragung der Nachricht gemeldet). Dennoch wird die Mail gespeichert und kann mit Hilfe von qsheffWatch ggf. auch noch zugestellt werden.
 
qsheff-watch Modifikationen und gesammeltes

Moin!

Ich habe ein wenig rumgestrickt, um die Farboptik für die Tags in der Liste zu verbessern:

Code:
index.php Line 51:
.pass {  font-weight: bold; color: #009900}
.block {  font-weight: bold; color: #0000CC}
.virus { font-weight: bold; color: #CC0000}
.error { font-weight: bold; color: #FFFF00}
.attach { font-weight: bold; color: #FFFF0A}
.fett { font-weight: bold;}


funcs.php Line 100:
echo "<td width=\"5%\">";
   //.($formattedlog[$i]["flag"]=="QUEUE" ? "<span class=\"pass\">" : "<span class=\"block\">").$formattedlog[$i]["flag"]."</span></td>\n";
    switch ($formattedlog[$i]["flag"]){
      case "ERROR":
                $error_ctr++;
                echo  "<span class=\"error\">";
                break;
      case "SPAM":
                $spam_ctr++;
                echo "<span class=\"block\">";
                break;
      case "VIRUS":
                $virus_ctr++;
                echo "<span class=\"virus\">";
                break;
      case "HEADER":
                $header_ctr++;
                echo "<span class=\"block\">";
                break;

      case "CUSTOM":
                $custom_ctr++;
                echo "<span class=\"block\">";
                break;
      case "ATTACH":
                $attach_ctr++;
                echo "<span class=\"attach\">";
                break;
      case "QUEUE":
                $queue_ctr++;
                echo "<span class=\"pass\">";
                break;
    }

 echo $formattedlog[$i]["flag"]."</span></td>\n";

Das Begrenzen des Logfiles habe ich für qsheff dem mrtg-script überlassen:

-qsheff-mrtg.sh-
Code:
#!/bin/sh
#
# Produces mrtg values
#
# -b$, Fri Dec  3 14:25:05 EET 2004
#

spam=`cat /var/log/qsheff.log | grep 'SPAM' |grep -v '127.0.0.1' | grep recvfrom
 | wc -l`
queue=`cat /var/log/qsheff.log | grep -v '127.0.0.1' | grep recvfrom | grep 'QUE
UE' | wc -l`
virus=`cat /var/log/qsheff.log | grep -v '127.0.0.1' | grep recvfrom | grep 'VIR
US' | wc -l`
attach=`cat /var/log/qsheff.log | grep -v '127.0.0.1' | grep recvfrom | grep 'AT
TACH' | wc -l`
queue=`expr $queue + 0`
spam=`expr $spam + 0`
virus=`expr $virus + 0`
attach=`expr $attach + 0`

#
# here to check for bad IPs spamming before rotating the logfile
#
# 10 mails pro Stunde an Müll und die IP sperren - 
# alternativ mit:  iptables -I INPUT 1 -s $1 -j DROP im LOOP statt echo $line
THRESHOLD=10
LOGFILE=/var/log/qsheff.log
BADFILE=/var/qmail/control/badmailfrom
IPFILE=/etc/qsheff-II/ips.txt
UNIQUEIPFILE=/etc/qsheff-II/unique_ips.txt
STATSFILE=/etc/qsheff-II/qsheff.stats
JETZT=`/bin/date`

rm -f $IPFILE
rm -f $UNIQUEIPFILE
rm -f $STATSFILE

cat $LOGFILE | grep SPAM | grep -v '127.0.0.1' | grep recvfrom | cut -d',' -f3 |
 cut -c11- > $IPFILE
cat $LOGFILE | grep ATTACH | grep -v '127.0.0.1'| grep recvfrom | cut -d',' -f3
| cut -c11- >> $IPFILE
cat $LOGFILE | grep VIRUS | grep -v '127.0.0.1'| grep recvfrom | cut -d',' -f3 |
 cut -c11- >> $IPFILE

cat $IPFILE | sort -u > $UNIQUEIPFILE
cat $UNIQUEIPFILE |
while read line; do
  count=$(grep $line $IPFILE | wc -l);
  if [ $count -gt $THRESHOLD ]; then echo $line; fi
done >> $BADFILE
echo "Statistik der letzten Stunde berechnet um :"$JETZT"" > $STATSFILE
echo "SPAMS :"$spam"" >> $STATSFILE
echo "VIRUS :"$virus"" >> $STATSFILE
echo "ATTACH:"$attach"" >> $STATSFILE
echo "QUEUE :"$queue"" >> $STATSFILE

# end bad ips spamming

#now lets rotate logfile and report to mrtg
cat /var/log/qsheff.log >> /var/log/qsheff.log.cumulative
echo -n > /var/log/qsheff.log

echo $queue # As MRTG in
echo $spam # As MRTG out
echo





-qsheff-mrtg.cfg-
Code:
#############################################################
Title[spam]: Rejected Messages
MaxBytes[spam]: 10000
AbsMax[spam]: 20000
Options[spam]: gauge
Target[spam]: `<pfad zum docroot des webvhosts>/qsheff/qsh
eff-mrtg.sh`
PageTop[spam]: <B>Spam</B><br>
ShortLegend[spam]: mails
YLegend[spam]: mails/hour
Legend1[spam]: clean MAILS&nbsp;
Legend2[spam]: rejected SPAM&nbsp;
Legend3[spam]: &nbsp;
Legend4[spam]: &nbsp;
LegendI[spam]: CLEAN:&nbsp;
LegendO[spam]: SPAM:&nbsp;
WithPeak[spam]: ymwd
XSize[spam]: 350
YSize[spam]: 150

Eintrag in crontab:
Code:
# qSheff MRTG
0 * * * * /usr/bin/mrtg <pfad zum docroot des webvhosts>/qsheff/qsheff-mrtg.cfg >/dev/null 2>&1

Logrotate für qsheff.log.culmulative:

-/etc/logrotate.d/qsheff-
Code:
/var/log/qsheff.log.cumulative {
    compress
    dateext
    maxage 10
    rotate 99
    missingok
    notifempty
    size +1024k
    create 644 root root
}

Die Scripts basieren auf den Sourcen/Links von endernix.org und qsheff-watch

Gruss,

Claus
 
Hallo,

ich bin bei der Installation von qsheffwatch nach install.txt vorgegangen, allerdings ist mir dabei ein Malörchen passiert - oder ist es keins?

Anstatt "chown -R root:psaadm *" im neu erstellten Ordner "qsheffwatch" auszuführen, habe ich es in dem Ordner /opt/psa/admin/htdocs ausgeführt - könnte das Probleme geben und wenn ja, wie mache ich es wieder rückgängig?

Des Weiteren sind die Rechte der Datei qsheff-log in meinem cron.daily Ordner auf 0644. Sollten diese nicht wie alle anderen Dateien in diesem Ordner auf 0755 gesetzt werden?

Wenn ich im Plesk-Control im QSW_ADMIN 0.6 bin und [QSW_VERSION_UPD] drücke bekomme ich:

UPDATE_QSW
UPDATE_DOWN UPDATE_QSW_NOK
UPDATE_CONFIG UPDATE_QSW_NOK
UPDATE_INSTALL UPDATE_QSW_NOK
UPDATE_DONE UPDATE_QSW_NOK

UPDATE_QSW_FAILED

Soll ich daraus schließen, dass es derzeit keine neuere Version gibt oder funktioniert die Updatefunktion nicht?

Dank Vorab!
 
Die ursprünglichen Benutzer kannst Du im Backup nachschauen, aber ich denke, dass es auch so keine Probleme geben sollte.

Des Weiteren sind die Rechte der Datei qsheff-log in meinem cron.daily Ordner auf 0644. Sollten diese nicht wie alle anderen Dateien in diesem Ordner auf 0755 gesetzt werden?
Schau Dir mal folgende Seite an und überlege Dir, ob Dein Vorhaben sinnvoll ist, oder nicht: Unix-Dateirechte ? Wikipedia
 
Ok, Dateirechte gesetzt. Einen Tag gewartet, jedoch habe ich keine Daten bei keiner Domain unter "qsheffwatch" - da läuft doch was falsch? Wie kann ich dem auf die Schliche kommen?
 
Hallo,

die qsheff-log benötigt ja das Programm savelog. Das ist bei mir nicht vorhanden. Über Yast kann ich aber kein Paket mit dem diesem Namen finden?!

Stefan
 
savelog dient lediglich zum Verschieben/Verkleinern des qsheff.log und wird nicht zwingend gebraucht.

Um bspw. sowohl das Log auf X (10 Tage) Tage zu reduzieren und gleichzeitig die Quarantäne entsprechend aufzuräumen, nutze ich folgendes Script:

Code:
#!/bin/sh

logdate=`date -d "-11 day" +"%d/%m/%Y"`

#echo ${logdate}

/usr/local/psa/admin/bin/mailmng -o
cd /var/log
cat qsheff.log | grep "${logdate}" >> qsheff-old.log
cat qsheff.log | grep -v "${logdate}" >> qsheff.log.tmp
mv -f qsheff.log.tmp qsheff.log
/usr/local/psa/admin/bin/mailmng -p

cd /var/qsheff/quarantine
find -depth -name mesg -mtime +9 -type f -daystart -delete
find -name "*-*-*" -type d -empty -delete
 
wrapper

Hallo zusammen,

Debian und Ubuntu scheinen sich mit dem wrapper schwer zu tun
(./wrapper: cannot execute binary file)

Hier eine dirty-hack Lösung damit es doch läuft:

mit g++ kompilieren:
~root:/cat wrapper.cpp
Code:
#include <iostream>
using namespace std;

main(int argc, char *argv[])
{
   string action = argv[1];
   string data1 = argv[2];
   string data2 = argv[3];
   string cmd = "./restoremsg.sh " + data1 + " " + data2;
   if (action == "2") system ( cmd.c_str() );
}
Grüße PenPen
 
Back
Top