User Tools

Site Tools


de:modifikationen_mods_-_erweiterungen


Teil 4 - Modifikationen(Mods) - Erweiterungen

Für alles Folgende gilt im wesentlichen das schon in der Einleitung ausgeführte:

  • Hier sollen empfehlenswerte Modifikationen und Erweiterungen zum Copfilter-Addon für die IPCop-Versionen 1.4.2x/1.9.x/2.x, die sich im Laufe der Zeit angesammelt haben, zusammengetragen und beschrieben werden.
  • Bitte bei Hinweisen oder Problemen, die diese Modifikationen betreffen, unbedingt einen neuen Thread im Copfilter-Forum aufmachen oder uns (karesmakro, severus, fischerm) eine PN (Private Nachricht) über das Forum schicken.
    Etwaige Erweiterungen oder Änderungswünsche arbeiten wir dann hier ein.

Bitte beachten:

  • Einige der hier beschriebenen Erweiterungen sind spätestens seit der Copfilter-Version 0.84beta5 schon enthalten (Changelog lesen!).
  • Die Zeilen-Angaben zu Code-Änderungen können zwangsläufig nicht *absolut* angegeben werden, deswegen immer auch nach Text- bzw. Code-Stellen suchen!
  • Darüber hinaus kann für die volle Funktionalität leider keine Garantie übernommen werden!

ACHTUNG!:

  • Umfangreiche Kenntnisse über die Funktionsweise(n) der IPCop-Firewall, vom Copfilter-Addon und vom Linux-System allgemein sind für die hier beschriebenen Updates und Modifikationen absolute Voraussetzung!
  • Das hier ist nichts für experimentierfreudige Neulinge, hier muss man wissen, was man tut und was die Folgen sein können…
  • Ein 100%iges Cop-Backup, ein funktionsfähiges Restore, sowie die Bereitschaft, ein defektes Cop-System u.U. neu aufzusetzen, sind Grundvoraussetzungen!

Und nachdem jetzt nahtlos der Schritt in den Bereich für fortgeschrittenste Copfilter-Anwender/innen stattfindet - hier wird teilweise gnadenlos in den Konfigurationsdateien editiert - noch eine dringende Empfehlung:

  • Es ist zwingend notwendig, für alle hier vorzunehmenden Änderungen an den Konfigurationsdateien nicht nur einen Linux-Texteditor zu verwenden - er sollte außerdem auf einer Linux Plattform ausgeführt werden und die Sonderzeichen (z.B. ^M) richtig behandeln!
  • Jeder andere Nicht-Linux-Editor ist im simpelsten Fall ohne weiteres in der Lage, die Copfilter-Konfiguration kräftig durcheinanderzubringen. Wesentliche Copfilter-Funktionen sind anschließend zumindest beeinträchtigt, wenn nicht sogar völlig wirkungslos.

Und noch ein paar Worte vorweg:

  • Das grundsätzliche Problem aller nun folgenden “Erweiterungen” und “Modifikationen”: die dazugehörenden Diskussionen aus dem alten Copfilter-Forum sind mit dem Crash von 2009 leider im Nirwana verschwunden.
  • Dasselbe gilt für unzählige “Ich hätte da gern mal ein Problem…”-Diskussionen im Zusammenhang mit fehlenden/fehlerhaften oder einfach nur gewünschten Copfilter-Funktionalitäten.
  • Das heißt, es gab zum Beispiel mal einen klaren Auslöser, ClamAV (und HAVP) nicht, wie in der Standard-Konfiguration vorgesehen, als Library-, sondern als TCP-Socket-Scanner einzurichten.
  • In diesem speziellen Fall gibt es einen dieser Auslöser im Prinzip sogar immer noch - falls es noch keinem aufgefallen ist: die Auswertungen der “ClamAV AntiVirus Statistik - text” bzw. ”- grafisch” auf der Copfilter-Status, bzw. der -Antivirus-Seite ergeben beim Einsatz der Library-Variante u.U. nicht ganz schlüssige Ergebnisse…
  • Die Diskussionen, die dann dazu geführt haben, dem TCP-Socket-Scanner mal eine Chance zu geben, bzw. diese Betriebsart überhaupt mal ausführlicher in Betrieb zu nehmen und zu testen, sind aber eben leider nicht mehr auffindbar.
  • Weitere Gründe, die Unix-(local)-Socket-Variante zu bevorzugen, finden sich mittlerweile zum Beispiel hier und hier - durch den wesentlich höheren Speicherbedarf der Library-Variante kann diese Methode für schwächer ausgestattete Rechner mit nur 512MB Hauptspeicher durchaus eine Alternative darstellen.
  • Im folgenden werden darüber hinaus die jeweiligen manuellen Modifikationen der verschiedenen Scanner-Varianten ausführlich beschrieben, dadurch werden die unterschiedlichen Funktionsweisen vielleicht etwas nachvollziehbarer. Ansonsten gibt es für die GUI-Umschaltung des HAVP-Scanners vom Library-Scanner zum [Unix-local]-Socket Scanner (und umgekehrt) mittlerweile sogar schon einen Patch.
  • Wo es mir möglich war, habe ich außerdem zumindest eine kurze Beschreibung mit eingefügt, die die Sinnhaftigkeit des jeweiligen Patches - hoffentlich - nachvollziehbar macht.

Aber das Wichtigste:

  • Es geht in der Regel keinem etwas verloren, wenn man die folgenden Patches nicht einspielt, zur Stabilität oder Betriebssicherheit tragen sie unter Umständen nicht wesentlich bei - manchmal ist es einfach nur ein ~“Nice To Have”…

Ok? PuTTY starten, einloggen, 'Vi' (oder 'nano') starten - und los:

1. ClamAV (und HAVP) als TCP-Socket-Scanner einrichten

Grundlagen für Neugierige

Beschreibung

Aus: http://www.opensource.apple.com/source/SpamAssassin/SpamAssassin-124/clamav/docs/German/clamdoc_de.pdf bzw.
http://www.clamav.net/doc/latest/clamdoc.pdf (englisch)

Zitat:
Clam Server
clamd ist ein multi-threaded Server und verwendet libclamav, um Dateien auf Viren zu prüfen. Das Programm verwendet einen der zwei folgenden Modi zur Kommunikation:
.. Unix (local) socket
.. TCP socket…

Unterschiede

Der Socket-Scanner hat eine etwas bessere Performance gegenüber der Library-Methode, doch ist die Internet-Verbindung bei einem Update der Virendatenbank, bzw. beim Neueinlesen der Datenbank (je nach Einstellung, z.B. einmal pro Stunde) für kurze Zeit blockiert. Bei der Library benutzt HAVP die direkte Datenbank von Clamav.

Vorgehensweise

Als erstes müssen von folgenden Dateien Backups gemacht werden:

  • /var/log/copfilter/default/opt/havp/etc/havp.config
  • /var/log/copfilter/default/opt/clamav/etc/clamd.conf
  • /var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp

Optional, siehe unten:

  • /var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit
  • /var/log/copfilter/default/opt/monit/etc/monitrc

1. in der…
'/var/log/copfilter/default/opt/havp/etc/havp.config'
…müssen folgende Einträge anpasst werden:

ENABLECLAMLIB auf 'false' stellen:

ENABLECLAMLIB false

ENABLECLAMD auf 'true' stellen:

ENABLECLAMD true

Kommentar-Raute setzen/belassen:

# CLAMDSOCKET /var/log/copfilter/default/opt/clamav/var/run/clamd.socket

Kommentar-Raute(n) entfernen:

CLAMDSERVER 127.0.0.1
CLAMDPORT 3310

2. in der…
'/var/log/copfilter/default/opt/clamav/etc/clamd.conf'
…müssen folgende Einträge angepasst werden:

Kommentar-Raute entfernen:

TCPSocket 3310

Kommentar-Raute entfernen und ev. Pfad zum lokalen Socket-File anpassen:

LOCALSOCKET /var/log/copfilter/default/opt/clamav/var/run/clamd.socket

3. in der
'/var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp'
Im Abschnitt “configure_scanners” müssen die “ENABLECLAMLIB”-Vorgaben angepasst werden (ab ~Zeile 436).
Hier:
Die erste ENABLECLAMLIB-Abfrage wird auf false, die zweite, sechs Zeilen tiefer liegende Abfrage, auf true gesetzt:

enableclamlib_false_true
configure_scanners () {

/bin/grep KEEPBACKBUFFER $PRG_PATH/etc/havp.config &>/dev/null
RESULT="$?"
if [ $RESULT != "0" ]; then
    cp -p $PRG_PATH/etc/havp.config.backup $PRG_PATH/etc/havp.config
fi
	PID=`pidof clamd`
RESULT1=$?
if [ -f $BASEDIR/opt/clamav/default/bin/clamdscan -a "x${RESULT1}" = "x0" -a "x${CLAMD_ENABLE}" = "xon" -a "x${HTTP_VIRUS_SCAN_CLAMAV}" = "xon" ]; then       echo $CP_clamav_havp $APPEND
        cp -p $BASEDIR/opt/havp/etc/havp.config /tmp/havp.config.tmp
        cat $BASEDIR/opt/havp/etc/havp.config  |sed -e 's/^ENABLECLAMLIB.*/ENABLECLAMLIB false/' > /tmp/havp.config.tmp
        mv  /tmp/havp.config.tmp $BASEDIR/opt/havp/etc/havp.config
        chown havp.havp $BASEDIR/opt/havp/etc/havp.config
else
        echo $CP_clamav_havp2 $APPEND
        cp -p $BASEDIR/opt/havp/etc/havp.config /tmp/havp.config.tmp
        cat $BASEDIR/opt/havp/etc/havp.config  |sed -e 's/^ENABLECLAMLIB.*/ENABLECLAMLIB true/' > /tmp/havp.config.tmp
        mv  /tmp/havp.config.tmp $BASEDIR/opt/havp/etc/havp.config
        chown havp.havp $BASEDIR/opt/havp/etc/havp.config
fi

  1. Von allen betroffenen Konfigurations-Dateien sollten, wie oben schon erwähnt, Backups angelegt werden.
  2. Nachdem die notwendigen Änderungen vorgenommen wurden, müssen alle Copfilter-Komponenten über die Schaltfläche “Alle Dienste neu starten” der Copfilter-Status-Seite neu gestartet werden.
  3. Die unten in den 'log'-Dateien fett markierten Ausgabezeilen kennzeichnen die wesentlichsten Unterschiede, auf die man achten muss, um beurteilen zu können, ob die Umstellung erfolgreich war.
  4. Testseiten, auf denen man die Scannerfunktionen per Download testen kann, findet man bei:

Startmeldung aus 'clamd.log':
Sat Feb 13 17:25:31 2010 → +++ Started at Sat Feb 13 17:25:31 2010
Sat Feb 13 17:25:31 2010 → clamd daemon 0.95.3 (OS: linux-gnu, ARCH: i386, CPU: i686)
Sat Feb 13 17:25:31 2010 → Log file size limited to 10485760 bytes.
Sat Feb 13 17:25:31 2010 → Reading databases from /var/log/copfilter/default/opt/clamav/virdb
Sat Feb 13 17:25:31 2010 → Not loading phishing signatures.
Sat Feb 13 17:25:34 2010 → Loaded 570153 signatures.
Sat Feb 13 17:25:34 2010 → TCP: Bound to address 127.0.0.1 on port 3310
Sat Feb 13 17:25:34 2010 → TCP: Setting connection queue length to 15
Sat Feb 13 17:25:34 2010 → LOCAL: Unix socket file /var/log/copfilter/default/opt/clamav/var/run/clamd.socket
Sat Feb 13 17:25:34 2010 → LOCAL: Setting connection queue length to 15
Sat Feb 13 17:25:34 2010 → Limits: Global size limit set to 104857600 bytes.
Sat Feb 13 17:25:34 2010 → Limits: File size limit set to 26214400 bytes.
Sat Feb 13 17:25:34 2010 → Limits: Recursion level limit set to 16.
Sat Feb 13 17:25:34 2010 → Limits: Files limit set to 10000.
Sat Feb 13 17:25:34 2010 → Archive support enabled.
Sat Feb 13 17:25:34 2010 → Algorithmic detection enabled.
Sat Feb 13 17:25:34 2010 → Portable Executable support enabled.
Sat Feb 13 17:25:34 2010 → ELF support enabled.
Sat Feb 13 17:25:34 2010 → Mail files support enabled.
Sat Feb 13 17:25:34 2010 → OLE2 support enabled.
Sat Feb 13 17:25:34 2010 → PDF support enabled.
Sat Feb 13 17:25:34 2010 → HTML support enabled.
Sat Feb 13 17:25:34 2010 → Self checking every 600 seconds.
Sat Feb 13 17:25:34 2010 → Set stacksize to 2158592
Sat Feb 13 17:25:39 2010 → /var/log/copfilter/default/opt/havp/tmp/havp-L0UKXP: Eicar-Test-Signature FOUND


Startmeldung aus 'havp_error.log':
13/02/2010 17:09:16 Process ID: 661
13/02/2010 17:25:39 === Starting HAVP Version: 0.91
13/02/2010 17:25:39 Running as user: havp, group: havp
13/02/2010 17:25:39 — Initializing Clamd Socket Scanner
13/02/2010 17:25:39 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
13/02/2010 17:25:39 — All scanners initialized
13/02/2010 17:25:39 Process ID: 1742

2. ClamAV (und HAVP) als Unix-(local)-Socket-Scanner einrichten

Anmerkung

Aus: http://www.copfilter.org/forum/viewtopic.php?p=1095#p1095

Da sich der Library-Scanner insbesonders seit Einführung der ClamAV Version 0.96 und dem gleichzeitigen Einsatz der 3rd Party Signaturen als überaus speicherhungrig gezeigt hat, hat karesmakro …einen Mod geschrieben, der das Wechseln des HAVP Scanners vom Library-Scanner zum [Unix-local]-Socket Scanner (und umgekehrt) per GUI ermöglicht!

Durch den Wechsel sinkt die durchschnittliche Speicherauslastung in der Regel um ca. 20-30%, je nach verwendeten Datenbanken:

Socket: Speicherauslastung pro Tag

Auch auf einem 1GB-Cop sieht man deutlich den niedrigeren Speicherbedarf:

Socket: Speicherauslastung pro Woche

Nach der Installation des Mods steht in der Copfilter GUI unter HTTP Filter ein neuer Schalter zur Verfügung:

HAVP library Option

Dieser Schalter muss auf “off” gestellt werden, damit HAVP im Socket-Scanner-Modus arbeitet.

Download

havp_mod.tar.gz 73 KB
MD5SUM:B14002AC61322589DDCFD19B9D9635D2

Die Installation verläuft wie in Die Installation der Software-Archive beschrieben, die Deinstallation des Mods ist über das Installationsskript './install' möglich.

Sollte anschließend auf der Cop-Startseite der Hostname nicht mehr angezeigt werden, braucht man außerdem diesen Patch:

havp_mod_lang.tar.gz 77 KB
MD5SUM:66C33C047CF632D53B59E18F23961640


Vorgehensweise

Die Vorgehensweise ist im Wesentlichen identisch mit der Einrichtung des TCP-Socket-Scanners, die Einträge für CLAMDSERVER und CLAMDPORT der 'havp.config' sowie der Eintrag TCPSOCKET der 'clamd.conf' werden allerdings nicht aktiviert:

1. in der…
'/var/log/copfilter/default/opt/havp/etc/havp.config'
…müssen folgende Einträge anpasst werden:

ENABLECLAMLIB auf 'false' stellen:

ENABLECLAMLIB false

ENABLECLAMD auf 'true' stellen:

ENABLECLAMD true

Kommentar-Raute entfernen, u.U. den Pfad anpassen:

CLAMDSOCKET /var/log/copfilter/default/opt/clamav/var/run/clamd.socket

Kommentar-Raute(n) setzen:

# CLAMDSERVER 127.0.0.1
# CLAMDPORT 3310

2. in der
'/var/log/copfilter/default/opt/clamav/etc/clamd.conf'
müssen folgende Einträge angepasst werden:
Kommentar-Raute setzen:

# TCPSocket 3310

Kommentar-Raute entfernen und ev. Pfad zum lokalen Socket-File anpassen:

LOCALSOCKET /var/log/copfilter/default/opt/clamav/var/run/clamd.socket

3. in der
'/var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp'
Im Abschnitt “configure_scanners” müssen die “ENABLECLAMLIB”-Vorgaben angepasst werden (ab ~Zeile 436).
Hier:
Die erste ENABLECLAMLIB-Abfrage wird auf false, die zweite, sechs Zeilen tiefer liegende Abfrage, auf true gesetzt:

enableclamlib_false_true
configure_scanners () {

/bin/grep KEEPBACKBUFFER $PRG_PATH/etc/havp.config &>/dev/null
RESULT="$?"
if [ $RESULT != "0" ]; then
    cp -p $PRG_PATH/etc/havp.config.backup $PRG_PATH/etc/havp.config
fi
	PID=`pidof clamd`
RESULT1=$?
if [ -f $BASEDIR/opt/clamav/default/bin/clamdscan -a "x${RESULT1}" = "x0" -a "x${CLAMD_ENABLE}" = "xon" -a "x${HTTP_VIRUS_SCAN_CLAMAV}" = "xon" ]; then       echo $CP_clamav_havp $APPEND
        cp -p $BASEDIR/opt/havp/etc/havp.config /tmp/havp.config.tmp
        cat $BASEDIR/opt/havp/etc/havp.config  |sed -e 's/^ENABLECLAMLIB.*/ENABLECLAMLIB false/' > /tmp/havp.config.tmp
        mv  /tmp/havp.config.tmp $BASEDIR/opt/havp/etc/havp.config
        chown havp.havp $BASEDIR/opt/havp/etc/havp.config
else
        echo $CP_clamav_havp2 $APPEND
        cp -p $BASEDIR/opt/havp/etc/havp.config /tmp/havp.config.tmp
        cat $BASEDIR/opt/havp/etc/havp.config  |sed -e 's/^ENABLECLAMLIB.*/ENABLECLAMLIB true/' > /tmp/havp.config.tmp
        mv  /tmp/havp.config.tmp $BASEDIR/opt/havp/etc/havp.config
        chown havp.havp $BASEDIR/opt/havp/etc/havp.config
fi

  1. Von allen betroffenen Konfigurations-Dateien sollten, wie oben schon erwähnt, Backups angelegt werden.
  2. Nachdem die notwendigen Änderungen vorgenommen wurden, müssen alle Copfilter-Komponenten über die Schaltfläche “Alle Dienste neu starten” der Copfilter-Status-Seite neu gestartet werden.
  3. Die unten in den 'log'-Dateien fett markierten Ausgabezeilen kennzeichnen die wesentlichsten Unterschiede, auf die man achten muss, um beurteilen zu können, ob die Umstellung erfolgreich war.
  4. Testseiten, auf denen man die Scannerfunktionen per Download testen kann, findet man bei:

Startmeldung aus 'clamd.log':
Sat Jun 5 01:48:15 2010 → +++ Started at Sat Jun 5 01:48:15 2010
Sat Jun 5 01:48:15 2010 → clamd daemon devel-20100603 (OS: linux-gnu, ARCH: i386, CPU: i686)
Sat Jun 5 01:48:15 2010 → Log file size limited to 10485760 bytes.
Sat Jun 5 01:48:15 2010 → Reading databases from /var/log/copfilter/default/opt/clamav/virdb
Sat Jun 5 01:48:15 2010 → Not loading PUA signatures.
Sat Jun 5 01:48:44 2010 → Loaded 987996 signatures.
Sat Jun 5 01:48:44 2010 → LOCAL: Unix socket file /var/log/copfilter/default/opt/clamav/var/run/clamd.socket
Sat Jun 5 01:48:44 2010 → LOCAL: Setting connection queue length to 15
Sat Jun 5 01:48:44 2010 → Limits: Global size limit set to 20971520 bytes.
Sat Jun 5 01:48:44 2010 → Limits: File size limit set to 26214400 bytes.
Sat Jun 5 01:48:44 2010 → Limits: Recursion level limit set to 16.
Sat Jun 5 01:48:44 2010 → Limits: Files limit set to 5000.
Sat Jun 5 01:48:44 2010 → Archive support enabled.
Sat Jun 5 01:48:44 2010 → Algorithmic detection enabled.
Sat Jun 5 01:48:44 2010 → Portable Executable support enabled.
Sat Jun 5 01:48:44 2010 → ELF support enabled.
Sat Jun 5 01:48:44 2010 → Mail files support enabled.
Sat Jun 5 01:48:44 2010 → OLE2 support enabled.
Sat Jun 5 01:48:44 2010 → PDF support enabled.
Sat Jun 5 01:48:44 2010 → HTML support enabled.
Sat Jun 5 01:48:44 2010 → Heuristic: precedence enabled
Sat Jun 5 01:48:44 2010 → Self checking every 600 seconds.
Sat Jun 5 01:48:44 2010 → Set stacksize to 2158592
Sat Jun 5 01:48:57 2010 → /var/log/copfilter/default/opt/havp/tmp/havp-gXCsqb: Eicar-Test-Signature FOUND


Startmeldung aus 'havp_error.log':
05/06/2010 01:48:56 === Starting HAVP Version: 0.92
05/06/2010 01:48:56 Running as user: havp, group: havp
05/06/2010 01:48:57 — Initializing Clamd Socket Scanner
05/06/2010 01:48:57 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
05/06/2010 01:48:57 — All scanners initialized

3. ClamAV (und HAVP) als Library-Scanner einrichten

Dies ist die aktuelle Default-Einstellung, die nach einer Copfilter-Installation voreingestellt ist.

Sie hat allerdings den Nachteil, wesentlich speicherhungriger zu sein, als die Socket-Varianten, besonders beim Einsatz der 3rd Party Signaturen.

  • Der Library Scanner ist die bisher empfohlene / bevorzugte Methode, da es eine stabile Basis des Systems bildet und keinen Ausfall beispielsweise durch einen ClamAV-Crash hervorruft, die Perfomance ist allerdings etwas schlechter - IMHO unmerkbar.

Vorgehensweise

Als allererstes müssen von folgenden Dateien BACKUPs gemacht werden!

  • /var/log/copfilter/default/opt/havp/etc/havp.config
  • /var/log/copfilter/default/opt/clamav/etc/clamd.conf
  • /var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp

Optional, siehe unten:

  • /var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit
  • /var/log/copfilter/default/opt/monit/etc/monitrc

1. in der
'/var/log/copfilter/default/opt/havp/etc/havp.config'
müssen folgende Einträge anpasst werden:

# ENABLECLAMLIB auf 'true' stellen:

ENABLECLAMLIB true

# ENABLECLAMD auf 'false' stellen:

ENABLECLAMD false

Kommentar-Raute entfernen:

CLAMDSOCKET /var/log/copfilter/default/opt/clamav/var/run/clamd.socket

Kommentar-Raute(n) setzen:

# CLAMDSERVER 127.0.0.1
# CLAMDPORT 3310

2. in der
'/var/log/copfilter/default/opt/clamav/etc/clamd.conf'
müssen folgende Einträge angepasst werden:

Kommentar-Raute setzen:

# TCPSocket 3310

3. in der
'/var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp'
Im Abschnitt “configure_scanners” müssen die “ENABLECLAMLIB”-Vorgaben angepasst werden (ab ~Zeile 436).
Hier:
Die erste ENABLECLAMLIB-Abfrage wird auf true, die zweite, sechs Zeilen tiefer liegende Abfrage, auf false gesetzt:

enableclamlib_true_false
configure_scanners () {

/bin/grep KEEPBACKBUFFER $PRG_PATH/etc/havp.config &>/dev/null
RESULT="$?"
if [ $RESULT != "0" ]; then
    cp -p $PRG_PATH/etc/havp.config.backup $PRG_PATH/etc/havp.config
fi
	PID=`pidof clamd`
RESULT1=$?
if [ -f $BASEDIR/opt/clamav/default/bin/clamdscan -a "x${RESULT1}" = "x0" -a "x${CLAMD_ENABLE}" = "xon" -a "x${HTTP_VIRUS_SCAN_CLAMAV}" = "xon" ]; then
        echo $CP_clamav_havp $APPEND
        cp -p $BASEDIR/opt/havp/etc/havp.config /tmp/havp.config.tmp
        cat $BASEDIR/opt/havp/etc/havp.config  |sed -e 's/^ENABLECLAMLIB.*/ENABLECLAMLIB true/' > /tmp/havp.config.tmp
        mv  /tmp/havp.config.tmp $BASEDIR/opt/havp/etc/havp.config
        chown havp.havp $BASEDIR/opt/havp/etc/havp.config
else
        echo $CP_clamav_havp2 $APPEND
        cp -p $BASEDIR/opt/havp/etc/havp.config /tmp/havp.config.tmp
        cat $BASEDIR/opt/havp/etc/havp.config  |sed -e 's/^ENABLECLAMLIB.*/ENABLECLAMLIB false/' > /tmp/havp.config.tmp
        mv  /tmp/havp.config.tmp $BASEDIR/opt/havp/etc/havp.config
        chown havp.havp $BASEDIR/opt/havp/etc/havp.config
fi

  1. Von allen betroffenen Konfigurations-Dateien sollten, wie oben schon erwähnt, Backups angelegt werden.
  2. Nachdem die notwendigen Änderungen vorgenommen wurden, müssen alle Copfilter-Komponenten über die Schaltfläche “Alle Dienste neu starten” der Copfilter-Status-Seite neu gestartet werden.
  3. Die unten in den 'log'-Dateien fett markierten Ausgabezeilen kennzeichnen die wesentlichsten Unterschiede, auf die man achten muss, um beurteilen zu können, ob die Umstellung erfolgreich war.
  4. Testseiten, auf denen man die Scannerfunktionen per Download testen kann, findet man bei:

Startmeldung aus 'clamd.log':
Sat Feb 13 17:09:08 2010 → +++ Started at Sat Feb 13 17:09:08 2010
Sat Feb 13 17:09:08 2010 → clamd daemon 0.95.3 (OS: linux-gnu, ARCH: i386, CPU: i686)
Sat Feb 13 17:09:08 2010 → Log file size limited to 10485760 bytes.
Sat Feb 13 17:09:08 2010 → Reading databases from /var/log/copfilter/default/opt/clamav/virdb
Sat Feb 13 17:09:08 2010 → Not loading phishing signatures.
Sat Feb 13 17:09:11 2010 → Loaded 570153 signatures.
Sat Feb 13 17:09:11 2010 → LOCAL: Unix socket file /var/log/copfilter/default/opt/clamav/var/run/clamd.socket
Sat Feb 13 17:09:11 2010 → LOCAL: Setting connection queue length to 15
Sat Feb 13 17:09:11 2010 → Limits: Global size limit set to 104857600 bytes.
Sat Feb 13 17:09:11 2010 → Limits: File size limit set to 26214400 bytes.
Sat Feb 13 17:09:11 2010 → Limits: Recursion level limit set to 16.
Sat Feb 13 17:09:11 2010 → Limits: Files limit set to 10000.
Sat Feb 13 17:09:11 2010 → Archive support enabled.
Sat Feb 13 17:09:11 2010 → Algorithmic detection enabled.
Sat Feb 13 17:09:11 2010 → Portable Executable support enabled.
Sat Feb 13 17:09:11 2010 → ELF support enabled.
Sat Feb 13 17:09:11 2010 → Mail files support enabled.
Sat Feb 13 17:09:11 2010 → OLE2 support enabled.
Sat Feb 13 17:09:11 2010 → PDF support enabled.
Sat Feb 13 17:09:11 2010 → HTML support enabled.
Sat Feb 13 17:09:11 2010 → Self checking every 600 seconds.
Sat Feb 13 17:09:11 2010 → Set stacksize to 2158592


Startmeldung aus 'havp_error.log':
13/02/2010 17:09:13 === Starting HAVP Version: 0.91
13/02/2010 17:09:13 Running as user: havp, group: havp
13/02/2010 17:09:13 — Initializing ClamAV Library Scanner
13/02/2010 17:09:13 ClamAV: Using database directory: /var/log/copfilter/default/opt/clamav/virdb
13/02/2010 17:09:16 ClamAV: Loaded 569331 signatures (engine 0.95.3)
13/02/2010 17:09:16 ClamAV Library Scanner passed EICAR virus test (Eicar-Test-Signature)
13/02/2010 17:09:16 — All scanners initialized
13/02/2010 17:09:16 Process ID: 661

4. Die nötigen 'monit'-Anpassungen

Wenn man wie hier beschrieben, in der 'havp.config' (Eintrag CLAMDSOCKET) und in der 'clamd.conf' (Eintrag LOCALSOCKET) das lokale Socket-File setzt, kann man sich diese Änderungen sparen - der Prozeß wird von 'monit' dann über das Socket-File überwacht!

Damit 'monit' mit den neuen Arbeitsweisen von 1. und 2. jeweils klarkommt und die 'clamd'-Prozesse weiterhin überwachen kann, sind weitere Anpassungen an zwei 'monit'-Dateien notwendig:

1. in der
'/var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit'
müssen folgende Änderungen vorgenommen werden:

In Zeile ~72-76 (die originalen Zeilen müssen deaktiviert oder gelöscht werden!):

copfilter_monit_socket_mod
if [ -f $BASEDIR/etc/clamd_enable ]; then
            check=`cat $BASEDIR/opt/havp/etc/havp.config  | grep 'ENABLECLAMLIB false'`
               if [ "$check" = "ENABLECLAMLIB false" ]; then
                  unmonitor clamd-lib
                  monitor clamd-socket
               else
                  unmonitor clamd-socket
                  monitor clamd-lib
               fi
            else
                  unmonitor clamd-socket
                  unmonitor clamd-lib
            fi

2. in der
'/var/log/copfilter/default/opt/monit/etc/monitrc'
müssen folgende Änderungen vorgenommen werden:

In Zeile ~43-49 (die originalen Zeilen müssen deaktiviert oder gelöscht werden!):

monit_rc_socket_mod
# COPFILTER START - clamd-lib
#XX#   check process clamd with pidfile /var/log/copfilter/default/opt/clamav/var/run/clamd.pid
#XX#   start program = "/var/log/copfilter/default/opt/clamav/etc/init.d/copfilter_clamd start"
#XX#   stop  program = "/var/log/copfilter/default/opt/clamav/etc/init.d/copfilter_clamd stop"
#XX#   if failed unixsocket /var/log/copfilter/default/opt/clamav/var/run/clamd.socket then restart
#XX#   if 5 restarts within 5 cycles then timeout
# COPFILTER STOP - clamd-lib

# COPFILTER START - clamd-socket
#XX#   check process clamd with pidfile /var/log/copfilter/default/opt/clamav/var/run/clamd.pid
#XX#   start program = "/var/log/copfilter/default/opt/clamav/etc/init.d/copfilter_clamd start"
#XX#   stop  program = "/var/log/copfilter/default/opt/clamav/etc/init.d/copfilter_clamd stop"
#XX#   if failed host 127.0.0.1 port 3310 type tcp then restart
#XX#   if 5 restarts within 5 cycles then timeout
# COPFILTER STOP - clamd-socket

Anschließend sollte 'monit' neu gestartet werden!

/etc/rc.d/init.d/copfilter_monit restart

Für alle beschriebenen Änderungen gilt wie immer:

  • Den Copfilter anschließend einmal komplett durchstarten (Alle Dienste neu starten) und die Log-Dateien der Copfilter-Tests & Logs-Seite auf etwaige Fehler überprüfen!

5. Squid mit 'monit' überwachen

Kursive Zitate stammen aus dem leider nicht mehr rekonstruierbaren Original-Posting.

Zitat:
Es kann in seltenen Fällen vorkommen, dass der Squid-Proxy zusammenbricht.
Dann ist das Surfen für die Mitarbeiter nicht mehr möglich.
Der im Copfilter enthaltene Monit-Daemon erlaubt das Hinzufügen weiterer Dienste.
Diese werden dann ebenfalls überwacht und ggf. neu gestartet. In diesem Fall wird eine Mail an den Administrator gesendet.

1. Editieren:
Im Fall von Squid muss die Datei '/var/log/copfilter/default/opt/monit/etc/monitrc' bearbeitet werden.
Hinzugefügt werden ganz am Ende folgende Zeilen:

monit_rc_squid_mod
# squid-Proxy
  check process squid with pidfile /var/run/squid.pid
  start program = "/usr/local/bin/restartsquid && /usr/local/bin/copfilter_restarthavp"
  stop  program = "/usr/sbin/squid -k kill"
  if 5 restarts within 5 cycles then timeout
  if cpu usage > 99% for 5 cycles then alert
  if mem usage > 99% for 5 cycles then alert
# squid-Proxy

2. Außerdem bearbeiten:
'/var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit'

Einfügen ab Zeile ~117:

copfilter_monit_squid_mod
if [ -f /var/run/squid.pid ]; then
                monitor squid
            else
                unmonitor squid
            fi

Danach muss der Monit-Dienst auf der Copfilter-Status-Seite beendet und neu gestartet werden.

Screenshot

Squidüberwachung mit monit

V1-Logo

6. Copfilter und 'logrotate.conf'

Siehe hierzu auch:
http://www.copfilter.org/forum/viewtopic.php?f=4&t=183
http://www.copfilter.org/forum/viewtopic.php?f=4&t=182&p=339#p339

Zum besseren Verständnis der Konfigurations-Optionen von 'logrotate':
http://linuxcommand.org/man_pages/logrotate8.html

Kursive Zitate stammen aus dem leider nicht mehr rekonstruierbaren Original-Posting.

Bearbeiten:
'/etc/logrotate.conf'

Tony,
you can of course rotate the logs (which is better than deleting anyway).
You just have to adjust this in the logrotate.conf.

I have added the following entries:


custom_logrotate_conf
# Custom copfilter log rotation
/var/log/copfilter/default/opt/clamav/var/log/freshclam.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
}
/var/log/copfilter/default/opt/tools/var/log/renattach.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
}
/var/log/copfilter/default/opt/p3scan/var/log/p3scan.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
postrotate
        if [ -f /var/log/copfilter/default/opt/p3scan/var/run/p3scan.pid ]; then
            /etc/rc.d/init.d/copfilter_p3scan restart
        fi
endscript
}
/var/log/copfilter/default/opt/mail-spamassassin/etc/.razor/razor-agent.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
}
/var/log/copfilter/default/opt/mail-spamassassin/var/log/spamd.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
postrotate
        if [ -f /var/log/copfilter/default/opt/mail-spamassassin/var/run/spamd.pid ]; then
            /etc/rc.d/init.d/copfilter_spamd restart
        fi
endscript
}
/var/log/copfilter/default/opt/proxsmtp/var/log/proxsmtpd.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
postrotate
        if [ -f /var/log/copfilter/default/opt/proxsmtp/var/run/proxsmtpd.pid ]; then
            /etc/rc.d/init.d/copfilter_proxsmtpd restart
        fi
endscript
}
/var/log/copfilter/default/opt/anomy/1.70/testcases/results.def/*.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
}
/var/log/copfilter/default/opt/havp/var/log/*.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
postrotate
        if [ -f /var/log/copfilter/default/opt/havp/var/run/havp.pid ]; then
            /etc/rc.d/init.d/copfilter_havp reload
        fi
endscript
}
/var/log/copfilter/default/opt/frox/var/log/frox.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
postrotate
        if [ -f /var/log/copfilter/default/opt/frox/var/run/frox.pid ]; then
            /etc/rc.d/init.d/copfilter_frox restart
        fi
endscript
}
/var/log/copfilter/default/opt/php/var/log/error.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
}
/var/log/copfilter/default/opt/monit/var/log/monit.log {
monthly
rotate 3
copytruncate
compress
notifempty
missingok
postrotate
        if [ -f /var/log/copfilter/default/opt/monit/var/run/monit.pid ]; then
            /etc/rc.d/init.d/copfilter_monit restart
        fi
endscript
}
# Custom copfilter log rotation - END

This will rotate all the Copfilter-related logs I found. But be aware that this actually breaks the functionality of the SPAM-statistics.

Regards,

Jens

P.S.: In your case the entried for spamd.log and proxsmtpd.log should
be the most important ones. You do not need to implement all the log
rotations.

7. 'cache.log' vom Squid in "Test & Logs" anzeigen

Nachdem ich es zwischenzeitlich leid war, jedesmal 'händisch' nachsehen zu müssen, was der Squid so machte, habe ich die Anzeige der '/var/log/squid/cache.log' in die Copfilter-GUI-Tests & Logs-Seite aufgenommen:

Bearbeiten:
'/home/httpd/cgi-bin/copfilter_testlog.cgi'

Vorgehensweise:

1. Als erstes muss im Verzeichnis '/var/log/copfilter/default/log' ein neuer Symlink angelegt werden:

ln -s /var/log/squid/cache.log /var/log/copfilter/default/log/squid_cache.log

Der Symlink sollte anschließend so aussehen:

lrwxrwxrwx 1 root root 24 2008-10-03 11:33 squid_cache.log -> /var/log/squid/cache.log

2. Außerdem muss die Datei '/home/httpd/cgi-bin/copfilter_testlog.cgi' um folgende Zeile erweitert werden (in 0.84beta3a: Zeile ~402, 0.84beta4: Zeile ~426, 2.0.91beta1: Zeile ~452):

<br /><a href='/copfilterlog/squid_cache.log' target='_blank'>squid_cache.log</a>

Ergebnis:

.
.
<br /><a href='/copfilterlog/httpd_access.log' target='_blank'>httpd_access.log</a>
    <br /><a href='/copfilterlog/httpd_error.log' target='_blank'>httpd_error.log</a>
    <br /><a href='/copfilterlog/squid_cache.log' target='_blank'>squid_cache.log</a>
.
.

Done.

Nach einem 'Reload' der "Copfilter - Tests & Logs"-Seite (oder im Browser einmal auf die “F5-Taste” drücken) - steht unter dem Bereich der “Copfilter Log-Dateien” ein neuer Link zur 'cache.log' vom Squid zur Verfügung - er öffnet die '/var/log/squid/cache.log' in einer neuen Seite (hierfür muss natürlich im 'squid-GUI' unter “Protokolleinstellungen” die Option “Protokoll aktiviert:” angehakelt sein):

Squid - 'cache.log'

8. Bayes: Autolearning einschalten (Spamassassin)

Kursive Zitate stammen aus dem leider nicht mehr rekonstruierbaren Original-Posting.

Bearbeiten:
'/var/log/copfilter/default/opt/mail-spamassassin/etc/init.d/copfilter_spamd'

Dort

if [ "X${IMAP_ENABLE}" = "xon" ]; then[size]

ersetzen durch

if [ true ]; then

Danach den Spamd neu starten. In der 'local.cf'
('/var/log/copfilter/default/opt/mail-spamassassin/etc/mail/spamassassin/local.cf)
sollte nun “use_bayes 1” und “bayes_autolearn 1” stehen. Ich habe das seit ca. einer Woche laufen, und das Autolearn funktioniert.

Gruß
Taurus

Edit: Für Copfilter 0.83beta3a, mit älteren Versionen nicht getestet!

Mittlerweile wurde dieser Hack auch mit der Copfilter-Version 0.84beta4 getestet: Funktioniert weiterhin!

9. Whitelist User Manager

Beschreibung

Now script is finished and user could be added by typing 'whitelist_user –add' and deleted with 'whitelist_user –del'

After installation, set a link from copfilter whitelist-manager webgui to every users desktop, who should have access to it.

Description: this script seperates the webgui users database of ipcop; for allowing user to manage the white-/blacklist of spamassassin.
It's based on htaccess for authorize only described area of ipcop.

There is no need to uninstall previous version. Previous version is automatically detected and updated!

Download

whitelist_user_v0.2.tar.gz 4 KB
MD5SUM:1DB2A1DCE8F295EF0E53FF5CECEEF8D9

Installation

10. 3rd Party Signaturen

Ab der Copfilter Version 0.85.3beta3x und 2.0.90 wurden die Rechte- und User-Strukturen vom Copfilter geändert - die Version 0.55.2 ist daher nicht mehr kompatibel mit den Copfilter Versionen >0.85.2 und 2.0.90. In diesem Fall unbedingt die 0.55.3 benutzen!

Anmerkung

This mod replaces the former *check_clamav* released by karesmakro. As this mod is no longer required, it will be removed automatically.

Dieser Mod ersetzt die früheren *check_clamav* Programme von Karesmakro. Diese werden daher automatisch entfernt.

Thanks to karesmakro for releasing his uninstall files.

Dank an Karesmakro für seine uninstall-Dateien.

Beschreibung

Aus: http://www.copfilter.org/forum/viewtopic.php?f=3&t=215&start=0

Bitte unbedingt die dortige Konfigurationsanleitung beachten!

Ich freue mich, Euch einen neuen Mod für Copfilter-0.84beta4 und höher (IPCop/Copfilter V2 wird unterstützt) vorstellen zu können, mit dem Ihr zusätzliche Signaturen für Clamav verwenden könnt, um Euch vor Spam, Phishing etc. zu schützen.

Der Mod unterstützt Dateien von Sanesecurity, SecuriteInfo, Porcupine, Bofhland, Malware-Patrol und Andrew Lewis, Julian Field, CRDF and OITC.

Mindest-Hardwarevoraussetzungen:

  • Pentium 1 GHz
  • 1 GB RAM (wenn alle Signaturen verwendet werden und ClamAV im Library Modus läuft: 3GB)
  • 8 GB HDD

Changelog

2011-01-24 0.50.3
Support for IPCop v2 added

  • Mail notification for all signature updates available (optional).
  • Splitted up the cron.daily to three files depending to the allowed downloads per day by the different distributors:
  • cron.daily for the current copfilter jobs and the SecuriteInfo databases
  • cron.4hourly for the Malware Patrol database
  • cron.hourly for the databases distributed by Sanesecurity (Sanesecurity, OITC, Andrew Lewis, Julian Field, Bill Landry) and MSRBL
  • Refreshed copfilter_functions and the cgi-files for use with IPCop v2.
  • Added Karesmakros changes to the replacing cgi files to prevent most of the error messages in the httpd_error.log (v1.4.x and v2).
  • Added support for imspector GUI, added to copfilter V2 by karesmakro
  • Added new CRDF database.
  • Added new jurlbl.ndb and spamattach.hdb databases.

Diese scriptbasierte Version wird zugunsten der GUI basierten Version nicht mehr weiterentwickelt!

Unterstützt Copfilter v1 bis 0.85.2 und v2 kleiner 2.0.90
2011-03-10 0.55.0

  • Modify process GUI based
  • Possible use of separate databases with libclamav library scanner with havp (not while using clamd socket scanner!)
  • cgi-files and copfilter_havp therefore modified
  • Modify process running with a separate cron job with copfilter_3pcron added
  • Added 2 new sanesecurity databases
  • Some minor changes and fixes
  • Added copfilter_mail.cgi, imap_run_now.sh and check-updates_rulesdujour.sh for disabling/enabling update mail notifications by email-GUI
  • Some minor changes to logging
  • Some minor changes to copying files to havp virdb in libclamav mode
  • Some *cosmetical surgery* to GUI
  • Added links to the websites of the distributors of the databases and to the new sanesecurity status site to the antivirus GUI
  • Some minor changes to language files and cgi files

2011-03-31 0.55.1
Changes

  • Updated rsync to v3.0.8
  • Modified language files for imspector support in V2

2011-04-18 0.55.2
Changes

  • Added modified copfilter_functions for use without header/footer mail infos but adjusted to the modified update files (Thanks to moshari_3 for reporting problems.)
  • Some minor fixes and changes

2012-02-02 0.55.2.1
Changes

  • Added switch to GUI for enabling/disabling additional database infos to scanned mail's header/footer.

2012-02-11 0.55.2.2
Changes

  • Added new sanesecurity database: sanesecurity.ftm containing mail type infos. Use required for better performance.
  • Fixed f-prot bug in antivirus.cgi files (Thanks ShelbyGT500 for reporting).

2012-02-21 0.55.2.3
Changes

  • Added three new bofhland databases: bofhland_cracked_URL.ndb, bofhland_malware_URL.ndb, bofhland_phishing_URL.ndb.

2012-02-28 0.55.2.4
Changes

  • Replaced cp command wherever possible by rsync command to spare bandwidth as well as cpu and hdd usage.
  • Updated rsync to version 3.0.9.
  • Modified clam_db_check.sh file for only checking new or changed files with clamscan for better performance and less cpu usage.


Unterstützt Copfilter v1 ab 0.85.3 und v2 2.0.90 oder höher
2011-07-17 0.55.3
Changes

  • Modified for Copfilter 0.85.3betaX and 2.0.90

2012-02-10 0.55.3.1
Changes

  • Added switch to GUI for enabling/disabling additional database infos to scanned mail's header/footer.

2012-02-11 0.55.3.2
Changes

  • Added new sanesecurity database: sanesecurity.ftm containing mail type infos. Use required for better performance.
  • Fixed f-prot bug in antivirus.cgi files (Thanks ShelbyGT500 for reporting).

2012-02-21 0.55.3.3
Changes

  • Added three new bofhland databases: bofhland_cracked_URL.ndb, bofhland_malware_URL.ndb, bofhland_phishing_URL.ndb.

2012-02-28 0.55.3.4
Changes

  • Replaced cp command wherever possible by rsync command to spare bandwidth as well as cpu and hdd usage.
  • Updated rsync to version 3.0.9.
  • Modified clam_db_check.sh file for only checking new or changed files with clamscan for better performance and less cpu usage.


2012-11-23 0.56.0 for copfilter 0.84 up to 0.85.2
2012-11-23 0.60.0 for copfilter 0.85.3 and higher and 2.0.91 and higher

Copfilter 2.0.90 is no longer supported. Please update to 2.0.91!

Changes

  • Switched back to the original filenames. Therefore in any case uninstall previous versions first!
  • Fixed numerous possible issues when using the mod as an update to copfilter 2.0.91 and higher.
  • Implemented fix for possible f-prot bug in copfilter_cron.
  • Added to the cron files multiple *wait* commands to ensure there will always run only one process for updating clamav databases in time to prevent unwanted interactions between the various processes. (i.e. check-updates_clamav.sh, 3rdp_modify.sh, cron.daily, cron.4hourly, cron.hourly)
  • Added another if-request to copfilter_3pcron for the same purpose.
  • Some changes to the cron files for better logging.
  • Some changes to the cron files for better performance.
  • Added some commands to copfilter_functions for preventing leftover files in /tmp directory
  • Fixed some bugs (Thanks to FischerM for reporting)
  • Fixed a bug in mailscanner.sh: when using spamattach all attached files were declared as “bad”. (Thanks to Frank for reporting)
  • Fixed possible f-prot bugs in copfilter_cron file (Thanks to ShelbyGT500 for reporting)
  • Fixed some issues due to missunderstandings between the developers in setup_util of 2.0.91beta3 release
  • Changed the options of ls commands in copfilter_functions and copfilter_antivirus.cgi because of strange behaviour on some machines, due to LANG settings.
  • Splitted the header/footer switch into two switches for header and footer separate.
  • Added cat| sed command to the cron.* files to shorten logs and mail notifications.
  • Added some new features (due to ShelbyGT500 request) as there are:
  • Selection of bytecode and safebrowsing databases by GUI
  • Added status bars for the scanners
  • Added new french language files (Thanks to ShelbyGT500 for the translation)
  • Fixed some mismatch in the language files
  • Added a couple of files to make up for differencies in the script files of the various copfilter versions.
  • Removed MSRBL databases (server is finally down) MSRBL-Images-FULL-SoN.hdb and MSRBL-SPAM.ndb
  • Removed Bill Landry database INetMsg-SpamDomains-2w.ndb (no longer developed)
  • Added Porcupine databases phishtank.ndb and porcupine.ndb
  • Added OITC database winnow_bad_cw.hdb
  • Added Sanesecurity database blurl.ndb
  • Added some highlighting to the switch range on antivirus GUI
  • Blacklisted mails will be quarantined and a notification will be sent instead of
  • Fixed a minor bug in antivirus.cgi with website links.
  • Fixed a bug caused by proxsmtpd: Adding header information broke the mails and delivered them without 'from, to, subject' information (thanks to FischerM for reporting)
  • Replaced an invalid email address in the file for spam testmails
  • Introduced an new one-file directory ”/tmp/dbtest_do_not_remove” with one file “test_file_do_not_remove” with only a three-line string to shorten the database check before updating the current files and to minimize cpu and RAM use and bandwidth.
  • Some minor fixes and changes
  • There is no warranty for damages on your systems!
  • Please report any bugs.

2013-01-20 0.56.1 for copfilter 0.84 up to 0.85.2
2013-01-20 0.60.1 for copfilter 0.85.3 and higher and 2.0.91 and higher

Changes

  • Added status bars for havp and privoxy to copfilter_http.cgi
  • Fixed some issues in the initializing files for correct display of the GUI's
  • Adjusted copfilter_http.cgi for smoothly use with Shelby's privoxy mod
  • Added new SecuriteInfo database spam_marketing.ndb
  • Added new bofhland database bofhland_malware_attach.hdb (currently downloaded by wget as not yet mirrored by sanesecurity!)
  • Shortened the logs and the mail notification to essential information
  • Added translations for logs and notification mails.
  • Improved error management
  • Enabled mail notification only in case of errors during download process
  • Minor fixes and improvements


2013-03-03 0.56.3 for copfilter 0.84 up to 0.85.2
2013-03-03 0.60.3 for copfilter 0.85.3 and higher and 2.0.91 and higher

Changes

  • Improved http GUI for compatibility with ShelbyGT500 privoxy mod
  • Improved GUI for antivirus, testlogs and http
  • Some minor fixes and changes
  • Improved the cronfiles for better error catching
  • Fixed copfilter_havp file for proper use on havp with TMPFS


2013-03-29 0.56.4 for copfilter 0.84 up to 0.85.2
2013-03-29 0.60.4 for copfilter 0.85.3 and higher and 2.0.91 and higher

Changes

  • Added 3rp_party_mod update notification
  • Some changes to mailscanner.sh and new file for better handling of german umlauts
  • Fixed wrong paths in 3rdp_modify files
  • Minor changes in copfilter_clamd and cron files to spare cpu usage and bandwidth in case clamav and/or 3rp party sigs are disabled
  • Made the *copfilter_3pcron_clear* file slightly more verbose for better replication of errors
  • Addeb blacklist info to mail header
  • Added a timeout option to wget commands for better preventing hangig downloads
  • Fixed some bugs in the lang.sh files due to wrong or missing quotes or backslashes
  • minor fix in blacklist section of mailscanner.sh
  • Changed cron.daily for correctly working find commands for deleting quarantine files
  • fixed a typo in copfilter_functions (thanls to FischerM for reporting and fixing)
  • fixed a misspelling in fr.pl files (thanls to ShelbyGT500 for reporting)
  • added missing restart of c-icap and privoxy in antivirus.cgi V2
  • echo “whitelist_from $ii” $BASEDIR/etc/cp_spam_whitelist/local_webgui.cf =⇒ echo “whitelist_from $ii” » $BASEDIR/etc/cp_spam_whitelist/local_webgui.cf
  • added two missing right arrows to mailscanner.sh
  • Fixed a bug in fr.sh for V1
  • Several fixes to the install files, copying/moving to wrong directories or filenames
  • Several fixes, improvements and changes to GUI and cron files
  • Implemented the copfilter_antiviruscgi files from *under_construction* *severus_quarantine*
  • splitted the /tmp/clamdatabases directory for temporary files to three directories named (/tmp/clamdatabases/mb; /tmp/clamdatabases/sa; /tmp/clamdatabases/si)
  • for spare of CPU time and bandwidth during integrity check
  • Added remove command for /tmp/test.txt file to copfilter_antivirus.cgi
  • Replaced the language files by the *current* ones from FTP
  • Some small improvements to the AV GUI
  • Changed colour of some GUI display
  • Fixed wrong reference in antispam and antivirus GUI
  • Added two space characters to en.pl
  • Added hint about mails in quarantine to antivirus and antispam GUI
  • Added count of files to the switches on antivirus and antispam GUI like ever done on status GUI
  • Enabled using umlaut character on the show quarantine buttons of status, antispam and antivirus GUI (Thanks to FischerM who hassled me to do so.)
  • Fixed missing quotes on translation strings for correct display of the quarantine buttons for staus, antispam and antivirus GUI (Thanks to ShelbyGT500 for reporting.)
  • improved date display on quarantine guis


2013-04-25 0.56.5 for copfilter 0.84 up to 0.85.2
2013-04-25 0.60.5 for copfilter 0.85.3 and higher and 2.0.91 and higher

Für diese Version müssen Vorversionen unbedingt vorher deinstalliert werden!

Changes

  • Changed check-updates_rulesdujour.sh for compatibility with new rulesets
  • Changed the check-updates_rulesdujour.sh for compatibility with the mod for new rules by karesmakro
  • Added changes to language files due to ShelbyGT500 modification
  • modified antivirus.cgi for use without 3rd_party_mod
  • Foxhole databases now online on the mirrors!
  • Changed the value check in antivirus.cgi for compatibility with copfilter without 3rd_party_mod.
  • Added three new Sanesecutity databases: foxfole_generic.cdb, foxhole_filename.cdb and foxhole_all.cdb
  • Fixed some minor issues in antivirus.cgi
  • Added logo to 0.60.5 cgi files
  • Updated language files and http.cgi for compatibility with upcoming privoxy mod by ShelbyGT500.
  • Thanks to Shelby for updating these files.
  • Some minor changes to fr.pl for nicer display of status GUI
  • Changed link to Malware Patrol site.
  • Changed links to new Sanesecurity web site and entries in language files corresponding with the links.
  • Added link to Sanesecurity statistics and news site.
  • Splitted cron.daily ⇒ cron.daily.core and cron.daily for separating copfilter tasks and 3rd_party tasks
  • Added new OITC database winnow_extended_malware.hdb
  • Switched bofhland_malware_attach.hdb from wget-download to rsync-download because it's now mirrored by Sanesecurity.
  • Changed filename of temporary file /tmp/count.txt to /tmp/count.aid to ensure a singular filename
  • Implemented changes from ShelbyGT500 (thanks a lot) to fr.sh files
  • Fixed typos in language files
  • Added correct version check to copfilter_http.cgi for use with ShelbyGT500 privoxy mod
  • Changed filename of temporary file ”/tmp/test.txt” for counting quarantined files to ”/tmp/count.txt” because original filename is too common and may raise issues.
  • Added a missing 'fi' to cron files
  • Fixed wrong filenames in some cron files.
  • Changed cron files to prevent possible issues in case of deleted temporary directories.
  • Changed request for current and latest version in antivirus gui again because of errors in httpd log
  • (Thanks to FischerM for reporting)
  • Changed request for current and latest version in antivirus gui
  • Added two commands for creating a symlink, forgotten in the .4 versions
  • Changed langs due to improving antispam gui, demanded by ShelbyGT500
  • Added notification for beta versions to langs and 3rdp_mail_notif.sh
  • Language files on FTP updated
  • Moved the text strings from 3rdp_mail_notif.sh file to the language files
  • Language files on FTP updated
  • Reworked the information files CHANGES, README and STRUCTURES


2013-05-12 0.56.6 for copfilter 0.84 up to 0.85.2
2013-05-12 0.60.6 for copfilter 0.85.3 and higher and 2.0.91 and higher

Changes

  • Added update option to install file
  • Changed the way to display squid informations on status GUI
  • Changed command order in cron files
  • Changed runtime for 3rdp_modify.sh in root.orig
  • Changed display for version of clamav and remaining time to updates
  • Changed the output for ”…until next update” on antivirus GUI for better overview
  • Replaced the descriptions for german umlauts by the code used by ipcop.
  • Added new log to testlog.cgi for use with upcoming admin mod from ShelbyGT500
  • Added new language items from ShelbyGT500 to .pl files
  • Added status.cgi and modifications to copfilter_monit and monitrc to monitor squid and display its state; modified language files.
  • Added an option –time-style=long-iso to ls command to ensure identical date format and forcing sed and cut commands to work properly.
  • Changed the check-updates_rulesdujour.sh for shortening logs and mails.
  • Added some missing code to copfilter_testlog.cgi
  • Added saupdate.log to testlog.cgi and changed the check-updates_rulesdujour.sh for logging

New Beta Releases

Currently no new beta releases planned.

Der 3rd_party_mod ist in Copfilter Releases 2.0.91 und höher von Karesmakro bereits eingebaut worden!
Bitte die geeigneten der unten zur Verfügung gestellten Mods auf diesen Releases als Update installieren!

Download

IPCop 1.4.x ONLY (don't use with Copfilter 0.85.3): V1-Logo
(Severus 2010-09-05 00:40 mod v 0.25.1)


IPCop 1.4.x / 1.9.x (don't use with Copfilter 0.85.3 and 2.0.90): V2-Logo V1-Logo
(Severus 2011-01-24 18:20 mod v 0.50.3)


IPCop 1.4.x / 1.9.x (don't use with Copfilter 0.85.3 and 2.0.90): V2-LogoV1-Logo
(Severus 2012-02-28 12:00 mod v 0.55.2.4)


IPCop 1.4.x (Copfilter 0.85.3betaX and higher) / IPCop 2.0.x and Copfilter 2.0.90 and higher: V2-LogoV1-Logo
(Severus 2012-02-28 12:00 mod v 0.55.3.4)


IPCop 1.4.x (Copfilter 0.84 up to 0.85.2): V1-Logo
(Severus 2013-05-12 12:00 mod v 0.56.6)


IPCop 1.4.x (Copfilter 0.85.3betaX and higher) / IPCop 2.0.x and Copfilter 2.0.91 and higher: V2-LogoV1-Logo
(Severus 2013-05-12 12:00 mod v 0.60.6)

New Beta Releases

Currently no beta releases planned.

Installation

Die Installation verläuft - bis auf das Löschen der ausgepackten Installationsdateien - wie in Die Installation der Software-Archive beschrieben:

  • Zum Deinstallieren wird nur die Datei 'install' benötigt! Alle anderen Dateien und Verzeichnisse des Installationsverzeichnisses können gelöscht werden.
  • Die Modifikation der “3rd Party Signaturen” wird über die Antivirus GUI des Copfilter gesteuert.
  • Hierzu bitte unbedingt den Foren-Beitrag und das 'Readme' im Installationsarchiv beachten!
  • Bitte ab v 0.55 NICHT den Mod zum Ausschalten der E-Mail-Benachrichtigungen zusätzlich benutzen! Diese Funktion ist bereits enthalten!
  • Beim Testen bitte beachten:
    The mirrors reserve the right to block your IP address, if you are downloading too many times per hour or are abusing their servers/bandwidth in any way.”
    Workaround: Wenn möglich einen Internet-Zugang benutzen, bei dem der ISP eine unterschiedliche IP bei jedem Login zuweist und trennen/verbinden zwischen den Download-Versuchen!

Screenshots

Der 3rd-Party-Mod in Aktion (Thumbnails, zum Vergrößern anklicken):

GUI: Antivirus 0.50.x GUI: Antivirus 0.56.x - 0.60.x GUI: HTTP Filter 0.55.x GUI: Antivirus 0.56.x - 0.60.x ohne Schalter GUI: Email 0.55
GUI: AntiVirus 0.50.x GUI: AntiVirus (mit Schaltern) 0.56.x/0.60.x GUI: HTTP Filter 0.55.x GUI: Antivirus (Schalter ausgeblendet) 0.56.x/0.60.x GUI: Email (neue Option markiert) 0.55.x

11. IMSpector - Real Time Logviewer exportieren

Ausgelöst durch: http://www.copfilter.org/forum/viewtopic.php?p=2995#p2995

I wonder if it is possible to export the page Real Time LogViewer?

Beschreibung

After install, you'll find a new link named “Download conversation” on IMSpector GUI!

Select a date in the dropdown menu from IMSpector Real Time log and select a user conversation, you want to export. As long as you are viewing the different user conversations, the 'conversation.txt' file will be extended!

If you want to clear the 'conversation.txt' file, you have to reload the whole imspector page and a new conversation.txt file is created.

Download

IPCop 1.4.x / 1.9.x / 2.x: V2-Logo V1-Logo

V1:copfilter_imspector_logdownload.tgz6 KB
MD5SUM: 986823BAF91ACBB18D66CEF334F199EA

Installation

Problem

Der V2-Footer zeigt die aktuelle Lastverteilung des IPCop nicht mehr an - sie ist nur noch über die Systemstatus-Seite unter “Uptime und Benutzer” abrufbar.

Lösung

1. Als erstes sollte ein Backup der Datei '/usr/lib/ipcop/header.pl' angelegt werden:

cp -pfT /usr/lib/ipcop/header.pl /usr/lib/ipcop/header.pl.org

Für die, die es schon immer mal wissen wollten, die hier verwendeten 'cp'-Befehls-Optionen:

-p (–preserve) = preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all
-f (–force) = if an existing destination file cannot be opened, remove it and try again (redundant if the -n option is used)
-T (–no-target-directory) = treat DEST as a normal file


2. Editiere:
'/usr/lib/ipcop/header.pl'

Ersetze (Zeile ~382):

$status = &General::connectionstatus() . "<br />" . `/bin/date "+%Y-%m-%d %H:%M:%S"`. "<br /><br />$status" if ($connected ne 'skip_connected');

Durch:

header_pl_mod
$status = &General::connectionstatus() . "<br />" . `/bin/date "+%Y-%m-%d"`. "<br />" . `/usr/bin/uptime` . "<br /><br />$status" if ($connected ne 'skip_connected');

Screenshot

V2-Footer originalV2-Footer modded
Vorher Nachher

V2-Logo

13. Tägliche Graphen: Zeit-Beschriftung der x-Achse anpassen (V2)

Ein dickes “Danke!” geht an Allan Kissack, der mir diesen Mod netterweise zur Verfügung stellte!

Problem

Im IPCop V1 wurde die Zeitbeschriftung der x-Achse der täglichen System-Graphen in Schritten von jeweils zwei Stunden vorgenommen:

V1-Graph original

Diese Einteilung wurde beim IPCop V2 auf sechs Stunden gesetzt:

V2-Graph original

Diese Einteilung ist IMHO etwas grob - die zeitliche Zuordnung bestimmter Ereignisse wird unter Umständen dadurch erschwert.

Lösung

Editiere: (vorheriges Backup nicht vergessen!)
'/usr/local/bin/makegraphs'

In die Sub-Routine 'sub rrd_header' (ab Zeile ~92) hinter…:

...
push @$result, ("--font", "TITLE:0:sans mono bold oblique");
push @$result, ("--color", "SHADEA$Header::boxcolour");
push @$result, ("--color", "SHADEB$Header::boxcolour");
push @$result, ("--color", "BACK$Header::boxcolour");
...

werden folgende Zeilen eingefügt:

makegraphs_axis_mod_01
if ( $period eq 'day' ) {
       push @$result, ("--x-grid", "MINUTE:30:HOUR:1:HOUR:2:0:%H:%M");
            }

Ergebnis:


Oder, als Alternative:

makegraphs_axis_mod_02
if ( $period eq 'day' ) {
       push @$result, ("--x-grid", "HOUR:1:HOUR:2:HOUR:2:0:%l%P");
            }


Ergebnis:

V2-Logo

14. SMP-CPU Graphen (V2)

Problem

Obwohl hier ein Dual-Prozessor-PC für den IPCop verwendet wird, wird nur ein einzelnes CPU-Diagramm erstellt, welches die durchschnittliche Auslastung beider Kerne anzeigt.

Ich wollte aber die Einzel-Auslastung von CPU0 und CPU1 sehen können.

Lösung

Als erstes müssen von folgenden Dateien Backups gemacht werden:

  • /usr/local/bin/makegraphs
  • /home/httpd/cgi-bin/graphs.cgi

1. Bearbeiten 'makegraphs':

Zwischen den Sub-Routinen updatecpudata und updatememgraph werden (ab Zeile ~187) zusätzliche Sub-Routinen eingefügt (updatecpu0graph, updatecpu0data, updatecpu1graph und updatecpu1data):

01_makegraphs_cpu0_cpu1
# Modifikation BEGIN (cpus)
# Modifikation cpu0 BEGIN
sub updatecpu0graph {
    my $period = $_[0];
    my @rrd = ();

    my $col_width = length($Lang::tr{'user cpu0 usage'});
    $col_width = length($Lang::tr{'system cpu0 usage'}) if (length($Lang::tr{'system cpu0 usage'}) > $col_width);
    $col_width = length($Lang::tr{'idle cpu0 usage'})   if (length($Lang::tr{'idle cpu0 usage'}) > $col_width);
    $col_width += 2;

    push @rrd, @{&rrd_header("cpu0", $period, "$Lang::tr{'cpu0 usage'} ($Lang::tr{$period})", 0, 100)};

    push @rrd, "DEF:user0=$rrdlog/cpu0.rrd:user0:AVERAGE";
    push @rrd, "DEF:system0=$rrdlog/cpu0.rrd:system0:AVERAGE";
    push @rrd, "DEF:idle0=$rrdlog/cpu0.rrd:idle0:AVERAGE";
    push @rrd, "CDEF:total0=user0,system0,idle0,+,+";
    push @rrd, "CDEF:userpct0=100,user0,total0,/,*";
    push @rrd, "CDEF:systempct0=100,system0,total0,/,*";
    push @rrd, "CDEF:idlepct0=100,idle0,total0,/,*";
    push @rrd, "AREA:userpct0#0000FF:$Lang::tr{'user cpu0 usage'}" . (" " x ($col_width - length($Lang::tr{'user cpu0 usage'})));
    push @rrd, "GPRINT:userpct0:MAX:$Lang::tr{'maximal'}\\:%6.2lf %%";
    push @rrd, "GPRINT:userpct0:AVERAGE:$Lang::tr{'average'}\\:%6.2lf %%";
    push @rrd, "GPRINT:userpct0:LAST:$Lang::tr{'current'}\\:%6.2lf %%\\j";
    push @rrd, "AREA:systempct0#FF0000:$Lang::tr{'system cpu0 usage'}"
            . (" " x ($col_width - length($Lang::tr{'system cpu0 usage'})) . ":STACK");
    push @rrd, "GPRINT:systempct0:MAX:$Lang::tr{'maximal'}\\:%6.2lf %%";
    push @rrd, "GPRINT:systempct0:AVERAGE:$Lang::tr{'average'}\\:%6.2lf %%";
    push @rrd, "GPRINT:systempct0:LAST:$Lang::tr{'current'}\\:%6.2lf %%\\j";
    push @rrd, "AREA:idlepct0#00FF00:$Lang::tr{'idle cpu0 usage'}"
            . (" " x ($col_width - length($Lang::tr{'idle cpu0 usage'})) . ":STACK");
    push @rrd, "GPRINT:idlepct0:MAX:$Lang::tr{'maximal'}\\:%6.2lf %%";
    push @rrd, "GPRINT:idlepct0:AVERAGE:$Lang::tr{'average'}\\:%6.2lf %%";
    push @rrd, "GPRINT:idlepct0:LAST:$Lang::tr{'current'}\\:%6.2lf %%\\j";

    push @rrd, @{&rrd_lastupdate()};
    RRDs::graph (@rrd);

    $ERROR = RRDs::error;
    print "Error in RRD::graph for cpu0: $ERROR\n" if $ERROR;
}

sub updatecpu0data {
    if (!-e "$rrdlog/cpu0.rrd") {
        RRDs::create(
            "$rrdlog/cpu0.rrd",                 "--step=300",
            "DS:user0:COUNTER:600:0:500000000", "DS:system0:COUNTER:600:0:500000000",
            "DS:idle0:COUNTER:600:0:500000000", "RRA:AVERAGE:0.5:1:576",
            "RRA:AVERAGE:0.5:6:672",           "RRA:AVERAGE:0.5:24:732",
            "RRA:AVERAGE:0.5:144:1460"
        );
        $ERROR = RRDs::error;
        print "Error in RRD::create for cpu0: $ERROR\n" if $ERROR;
    }

    my ($cpu0, $user0, $nice0, $system0, $idle0);

    open STAT, "/proc/stat";
    while (<STAT>) {
        chomp;
        /^cpu0/ or next;
        ($cpu0, $user0, $nice0, $system0, $idle0) = split /\s+/;
        last;
    }
    close STAT;
    $user0 += $nice0;

    RRDs::update("$rrdlog/cpu0.rrd", "-t", "user0:system0:idle0", "N:$user0:$system0:$idle0");
    $ERROR = RRDs::error;
    print "Error in RRD::update for cpu0: $ERROR\n" if $ERROR;
}
# Modifikation cpu0 END

# Modifikation cpu1 BEGIN
sub updatecpu1graph {
    my $period = $_[0];
    my @rrd = ();

    my $col_width = length($Lang::tr{'user cpu1 usage'});
    $col_width = length($Lang::tr{'system cpu1 usage'}) if (length($Lang::tr{'system cpu1 usage'}) > $col_width);
    $col_width = length($Lang::tr{'idle cpu1 usage'})   if (length($Lang::tr{'idle cpu1 usage'}) > $col_width);
    $col_width += 2;

    push @rrd, @{&rrd_header("cpu1", $period, "$Lang::tr{'cpu1 usage'} ($Lang::tr{$period})", 0, 100)};

    push @rrd, "DEF:user1=$rrdlog/cpu1.rrd:user1:AVERAGE";
    push @rrd, "DEF:system1=$rrdlog/cpu1.rrd:system1:AVERAGE";
    push @rrd, "DEF:idle1=$rrdlog/cpu1.rrd:idle1:AVERAGE";
    push @rrd, "CDEF:total1=user1,system1,idle1,+,+";
    push @rrd, "CDEF:userpct1=100,user1,total1,/,*";
    push @rrd, "CDEF:systempct1=100,system1,total1,/,*";
    push @rrd, "CDEF:idlepct1=100,idle1,total1,/,*";
    push @rrd, "AREA:userpct1#0000FF:$Lang::tr{'user cpu1 usage'}" . (" " x ($col_width - length($Lang::tr{'user cpu1 usage'})));
    push @rrd, "GPRINT:userpct1:MAX:$Lang::tr{'maximal'}\\:%6.2lf %%";
    push @rrd, "GPRINT:userpct1:AVERAGE:$Lang::tr{'average'}\\:%6.2lf %%";
    push @rrd, "GPRINT:userpct1:LAST:$Lang::tr{'current'}\\:%6.2lf %%\\j";
    push @rrd, "AREA:systempct1#FF0000:$Lang::tr{'system cpu1 usage'}"
            . (" " x ($col_width - length($Lang::tr{'system cpu1 usage'})) . ":STACK");
    push @rrd, "GPRINT:systempct1:MAX:$Lang::tr{'maximal'}\\:%6.2lf %%";
    push @rrd, "GPRINT:systempct1:AVERAGE:$Lang::tr{'average'}\\:%6.2lf %%";
    push @rrd, "GPRINT:systempct1:LAST:$Lang::tr{'current'}\\:%6.2lf %%\\j";
    push @rrd, "AREA:idlepct1#00FF00:$Lang::tr{'idle cpu1 usage'}"
            . (" " x ($col_width - length($Lang::tr{'idle cpu1 usage'})) . ":STACK");
    push @rrd, "GPRINT:idlepct1:MAX:$Lang::tr{'maximal'}\\:%6.2lf %%";
    push @rrd, "GPRINT:idlepct1:AVERAGE:$Lang::tr{'average'}\\:%6.2lf %%";
    push @rrd, "GPRINT:idlepct1:LAST:$Lang::tr{'current'}\\:%6.2lf %%\\j";

    push @rrd, @{&rrd_lastupdate()};
    RRDs::graph (@rrd);

    $ERROR = RRDs::error;
    print "Error in RRD::graph for cpu1: $ERROR\n" if $ERROR;
}

sub updatecpu1data {
    if (!-e "$rrdlog/cpu1.rrd") {
        RRDs::create(
            "$rrdlog/cpu1.rrd",                 "--step=300",
            "DS:user1:COUNTER:600:0:500000000", "DS:system1:COUNTER:600:0:500000000",
            "DS:idle1:COUNTER:600:0:500000000", "RRA:AVERAGE:0.5:1:576",
            "RRA:AVERAGE:0.5:6:672",           "RRA:AVERAGE:0.5:24:732",
            "RRA:AVERAGE:0.5:144:1460"
        );
        $ERROR = RRDs::error;
        print "Error in RRD::create for cpu1: $ERROR\n" if $ERROR;
    }

    my ($cpu1, $user1, $nice1, $system1, $idle1);

    open STAT, "/proc/stat";
    while (<STAT>) {
        chomp;
        /^cpu1/ or next;
        ($cpu1, $user1, $nice1, $system1, $idle1) = split /\s+/;
        last;
    }
    close STAT;
    $user1 += $nice1;

    RRDs::update("$rrdlog/cpu1.rrd", "-t", "user1:system1:idle1", "N:$user1:$system1:$idle1");
    $ERROR = RRDs::error;
    print "Error in RRD::update for cpu1: $ERROR\n" if $ERROR;
}
# Modifikation cpu1 END
# Modifikation END (cpus)

Der Abschnitt '### System Graphs' (ab Zeile ~544) wird entsprechend erweitert:

01_makegraphs_system_graphs
# Modifikation BEGIN (cpus)
updatecpu0data();
updatecpu0graph("day");
updatecpu0graph("week");
updatecpu0graph("month");
updatecpu0graph("year");

updatecpu1data();
updatecpu1graph("day");
updatecpu1graph("week");
updatecpu1graph("month");
updatecpu1graph("year");
# Modifikation END (cpus)

2. Bearbeiten 'graphs.cgi':

Ändere (Zeile ~64):

&Header::openbigbox('100%', 'left');

if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|cpu|memory|diskuse|disk)/) {
    # Display 1 specific graph

in:

02_graphs_cgi_01
&Header::openbigbox('100%', 'left');

if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|cpu|cpu0|cpu1|memory|diskuse|disk)/) {
    # Display 1 specific graph

Ändere (ab Zeile ~75):

    else {
        $title = $Lang::tr{'cpu usage'} if ($graph eq 'cpu');
        $title = $Lang::tr{'memory usage'} if ($graph eq 'memory');

in:

02_graphs_cgi_02
    else {
        $title = $Lang::tr{'cpu usage'} if ($graph eq 'cpu');
        $title = $Lang::tr{'cpu0 usage'} if ($graph eq 'cpu0');
        $title = $Lang::tr{'cpu1 usage'} if ($graph eq 'cpu1');
        $title = $Lang::tr{'memory usage'} if ($graph eq 'memory');

Ändere (ab Zeile ~159):

    # Display system graphs

    &disp_graph("$Lang::tr{'cpu usage'} $Lang::tr{'graph'}", "cpu", "cpu-$Lang::tr{'day'}");

in:

02_graphs_cgi_03
    # Display system graphs

    &disp_graph("$Lang::tr{'cpu usage'} $Lang::tr{'graph'}", "cpu", "cpu-$Lang::tr{'day'}");
    &disp_graph("$Lang::tr{'cpu0 usage'} $Lang::tr{'graph'}", "cpu0", "cpu0-$Lang::tr{'day'}");
    &disp_graph("$Lang::tr{'cpu1 usage'} $Lang::tr{'graph'}", "cpu1", "cpu1-$Lang::tr{'day'}");

3. Language-Dateien anlegen:

Im Verzeichnis '/var/ipcop/addons/lang/' sollten mindestens zwei Language-Dateien (de/en) erstellt werden (Owner: root, 0444):

'mycpus.de.pl':

mycpus.de.pl
%tr = (%tr,
'cpu0 usage' => 'CPU0-Nutzung',
'cpu1 usage' => 'CPU1-Nutzung',
'user cpu0 usage' => 'Benutzer CPU0',
'user cpu1 usage' => 'Benutzer CPU1',
'system cpu0 usage' => 'System-CPU0-Nutzung',
'system cpu1 usage' => 'System-CPU1-Nutzung',
'idle cpu0 usage' => 'Leerlauf CPU0-Nutzung',
'idle cpu1 usage' => 'Leerlauf CPU1-Nutzung',
);

'mycpus.en.pl':

mycpus.en.pl
%tr = (%tr,
'cpu0 usage' => 'CPU0-Usage',
'cpu1 usage' => 'CPU1-Usage',
'user cpu0 usage' => 'User CPU0',
'user cpu1 usage' => 'User CPU1',
'system cpu0 usage' => 'System CPU0-Usage',
'system cpu1 usage' => 'System CPU1-Usage',
'idle cpu0 usage' => 'Idle CPU0-Usage',
'idle cpu1 usage' => 'Idle CPU1-Usage',
);

4. Language-Dateien initialisieren:

Auf der Console anschließend den Befehl 'rebuildlangtexts' starten, which will call &Lang::BuildAddonLang to assemble all texts for a language in one file.
(Siehe hierzu: '/usr/lib/ipcop/lang.pl')

Screenshot

SMP-Diagramme

V2-Logo V1-Logo

15. 3rdP Rules für privoxy

Aktuelle Version: 1.3.6.

Siehe: http://www.copfilter.org/forum/viewtopic.php?p=4669#p4669

Für weitere Details zur Installation und zu den Changelogs bitte zuerst dort nachlesen!

Beschreibung

Privoxy ist ein Proxy-Server, der die Privatsphäre des Benutzers beim Surfen im Web erhöht. Er ermöglicht es, alle aufgerufenen Seiten zu filtern und umzuschreiben. Er ist lauffähig unter Copfilter V1 und V2.

Die 3rd-Party-Regeln erweitern ihn um zusätzliche, frei wählbare Signatur-Dateien.

Screenshot

Download

Version 1.3.6 ist für copfilter V1 0.85.3beta4 und höher, copfilter V2 2.0.91beta3, und Privoxy 3.0.19 und höher.

3rdP_rules_privoxy_1.3.6.tar.gz 294 KB
MD5SUM: 70165ECC6B035C679A3121CCED405018

Version 1.3.4 ist für copfilter V1 0.85.3beta4 und höher, copfilter V2 2.1.92beta2, und Privoxy 3.0.19 und höher.

3rdP_rules_privoxy_1.3.4.tar.gz 294 KB
MD5SUM: 992680837138AC4CB10271B4DDEDA656

Für Copfilter 2.0.91beta3 oder 2.0.91beta4 muss der Privoxy mod version 1.3.1 verwendet werden!

3rdP_rules_privoxy_1.3.1.tar.gz 296 KB
MD5SUM: D1AEB08CDFA53DFA25D6CB237E0BF54B

Installation

Unbedingt die Installationsvoraussetzungen im Foren-Thread beachten!

Die Installation verläuft wie in Die Installation der Software-Archive beschrieben, die Deinstallation des Mods ist über das Installationsskript './install' möglich:

16. Additional SpamAssassin Rules

2013-04-27 0.02.1 for copfilter 0.84 and higher

New features:

  • Added database from MalwarePatrol
  • Added MIME validation database
  • Added ZMI database (german language setting only)

2013-05-12 0.03.0 for copfilter 0.84 and higher

Changes:

  • Fixed some bugs and added uninstall routine.
  • Added display of rulesets version on antispam and status GUI
  • Changed display for until next update
  • Added language files and antispam gui for current display.
  • Added an option –time-style=long-iso to ls command to ensure identical date format and forcing sed and cut commands to work properly.
  • Changes the check-updates_rulesdujour.sh for shortening logs and mails.
  • Added some missing code to 'copfilter_testlog.cgi'
  • Added log rotation for saupdate.log to install file
  • Added saupdate.log to copfilter_testlog.cgi and changes the 'check-updates_rulesdujour.sh' for logging
  • Added copfilter_testlog.cgi to package to display the 'saupdates.log'
  • Added the possibility to update
  • Added logfile to sa updating

New Beta Releases

Currently no new beta releases planned.

Download

IPCop 1.4.x (Copfilter 0.84 and higher) / IPCop 2.0.x and Copfilter 2.0.91 and higher: V2-LogoV1-Logo
(Severus 2013-05-12 12:15 mod v 0.03.0)

Installation

de/modifikationen_mods_-_erweiterungen.txt · Last modified: 2014/04/20 13:40 by fischerm