…And Now For Something Completely Different…
Bitte beachten:
Jeder, der bis hierin durchgehalten hat, sollte wissen, was er zu tun und zu lassen hat:
Aus: http://www.ipcop-forum.de/forum/viewtopic.php?t=11690
IPCop 1.4.x ONLY:
Diese Funktion ist im neuen IPCop 1.9.x/2.x (V2) schon fest eingebaut und muss nicht “nachgerüstet” werden.
Einen IPCop-Host via Power-Button sauber runterzufahren und abzuschalten ist mit Hilfe eines kleines “Hacks” möglich.
Notwendige Voraussetzungen:
Der “Power-Button-Hack”
Fügt einfach nachfolgende Zeilen an das Ende der Datei '/etc/rc.d/rc.local' an:
# power button shutdown if grep -q '^button' /proc/modules ; then head -1 /proc/acpi/event | grep -q 'button/power PWRF' && /usr/local/bin/ipcopreboot down & fi
Nach einem Reboot (oder nach manuellem Ausführen von /etc/rc.d/rc.local) führt IPCop nun “auf Knopfdruck” einen sauberen Shutdown durch und schaltet den Rechner aus.
Simple modification to the IPCOP css style menu . for a more visible menu hover color.
Info . to change the default menu hover color of a bright white to one of the colors in the IPCOP shield (a yellow-ish orange)
In the file … /home/httpd/html/include/ipcop.css … (near the bottom of the page) …
Find the following . clipped out of context.
div.ipcop_menuElementHover { color: #FFCC33; # DEFAULT: FFFFFF } div.ipcop_subMenuElementHover { padding: 3px; color: #FFCC33; # DEFAULT: DEDFEF }
Change the default color . to #FFCC33 . *(above example already modified)
Save the file … then refresh any IPCOP cgi page …
… the IPCOP menu should now be a little easier to see - n' navigate.“
Diese Datei liegt im Verzeichnis '/var/log/copfilter/default' - ihre Existenz und Funktion ist vielen Copfilter-Anwendern/innen leider nicht so richtig bekannt und bewußt.
Viele Grundfunktionen eines installierten Copfilters werden über diese Datei gesteuert:
root@Develcop:~/copfilter # ./setup_util Fehler: unbekannte Option Benutze: setup_util OPTION Optionen: -a, --addmenu fuege Copfilter-Menue in die Oberflaeche (wird auch mit -i gemacht) -b, --backup [DATEI] sichere aktuelle Einstellungen und Log-Dateien (optional: Backup-Datei) -d, --default stelle Standardkonfiguration wieder her -i, --install [--force] installiere (oder reinstalliere) Copfilter (benutze force, wenn schon install.) -f, --fprot DATEI installiere fprot, DATEI: download und kopiere fprot >GZIP-te TAR Datei< auf den IPCop URL:http://www.f-prot.com/download/home_user/download_fplinux.html Bsp: setup_util -f fp-linux-ws.tar.gz -r, --restore [DATEI] stelle Konfiguration wieder her (optional: Restore-Datei) -U, --uninstall-icap to restore default squid binary -W, --with-icap install squid with icap support -R, --regrazor registriere Razor -u, --uninstall deinstalliere Copfilter und fprot -p, --permissions setze die Benutzerrechte -V, --version Versions-Information und Ende -x, --fixbackspace repariere backspace-key im vi-Editor -s, --symlinks erstelle Symlinks für die Copfilter Logdateien neu -y, --yes Installiere ohne Bestaetigung Copfilter 2.0.91beta2 fuer IPCop 2.x.x und neuer von Markus Madlener <copfilter at gmx dot net> und karesmakro <ipcop at it-connect-unix dot de> http://www.copfilter.org
Siehe hierzu auch:
http://www.copfilter.org/forum/viewtopic.php?f=4&t=239
und
http://www.copfilter.org/forum/viewtopic.php?f=3&t=228
In seltenen Fällen ist es vorgekommen, dass der 'monit'-Dienst nicht mehr startet.
Im Log findet sich nichts - das Ergebnis lautet ganz einfach nur:
starte monit <BR> warte 3 Sekunde(n) <BR> monit laeuft nicht <BR>
Und ein
/var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit debug
liefert auch nur
mo:2345:respawn:/var/log/copfilter/default/opt/monit/default/bin/monit -I -c /var/log/copfilter/default/opt/monit/etc/monitrc monit laeuft nicht warte 0 Sekunde(n) /var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit: line 279: debug: command not found monit laeuft nicht
Falcshe Dateirechte der '/var/log/copfilter/default/opt/monit/etc/monit.rc'
(siehe hierzu auch: http://www.bruhaha.de/dtjfaq/usenet.html - Wenn irgendwas falchs ist, ists halt lachsf. Sonst wär's ja falsch! )
Auf der Konsole oder mit einem geeigneten Klienten (ssh, putty, …) auf dem IPCop als 'root' einloggen und folgende Befehle initiieren:
cd /var/log/copfilter/default/opt/monit/etc
chown root.root monitrc
chmod 600 monitrc
Anschließend sollte das Problem behoben sein…
Ausgelöst durch: http://www.copfilter.org/forum/viewtopic.php?p=621#p621
Wem die E-Mail-Benachrichtigungen über die Viren-Updates der diversen Virenscanner lästig sind, kann sie mit dem folgenden Patch komplett abschalten - oder auch wieder einschalten.
This script will disable the email notifying for the database updates of clamav, avg and f-prot
and the rules update of spamassassin and furthermore the email of the bayes leraning process.
To disable these mails please choose “d” in the following dialog.
To reenable these mails run this script again with the parameter “e”.
Please note that you use this script on your own risk without any warranty of the author!
d = disable email notifying e = enable email notifying
2010-04-16 20:00 v 0.01.3:
no_upd_mail_notif.tar.gz | 2 KB |
MD5SUM: | DE4A2B81D151391BE70F5C60CA5B7E1E |
Ausgelöst durch: http://www.copfilter.org/forum/viewtopic.php?p=776#p776
Die Copfilter-Installation auf deinem IPCop v1.4.21 bricht mit einer Fehlermeldung ab, obwohl die Systemvoraussetzungen erfüllt sind:
md5check done extracting ... done now executing /var/log/copfilter/0.84beta4/setup_util -i This addon only works for IPCop 1.4.x and higher
Es existiert eine Datei '/etc/crontab', ein Relikt einer vorherigen IPCop-Version, das während des Update-Vorgangs versehentlich nicht gelöscht wurde.
rm /etc/crontab
Ein dickes “Danke!” geht an 'cjmatsel' - im Copfilter-Abschnitt seines IPCopWiki wurde dieser Tip ursprünglich veröffentlich!
Benutzerdefinierte Dienste (Copfilter): | ab Copfilter 0.85.x: | Benutzerdefinierte Dienste (IPCop): | |||||||
Name | Port | Protokoll | Name | Port | Protokoll | Name | Port | Protokoll | |
---|---|---|---|---|---|---|---|---|---|
IPCopProxy | 800 | TCP | IPCop Imspector | 16667 | TCP | IPCop GUI | 81 | TCP | |
IPCopPOP3Filter | 8110 | TCP | | | | IPCopGUI | 445 | TCP | |
IPCopSMTPFilter | 10025 | TCP | |||||||
IPCopFTPFilter | 2121 | TCP | |||||||
IPCopFTPControl | 50000-50199 | TCP | |||||||
IPCopFTPPassive | 50200-50399 | TCP | |||||||
IPCopFTPActive | 50400-50599 | TCP | |||||||
Monit Service Manager | 446 | TCP |
Außerdem kann man gleich noch folgende nützliche Dienste mit reinpacken (bei Bedarf, gehören nicht zum Copfilter):
Standard Dienste: | ||
Name | Port | Protokoll |
---|---|---|
bootpc | 67 | TCP&UDP |
bootps | 68 | TCP&UDP |
domain (DNS) | 53 | TCP&UDP |
ntp (Zeitserver) | 123 | TCP&UDP |
Am geschicktesten ist es, die benötigten Dienste in Gruppen zusammenzufassen.
Hier ein Screenshot einer Beispielkonfiguration, die noch einige andere Dienste enthält:
Sollte man sich nicht sicher sein, BOT FAQ No.11 anwenden.
Leider kommt es immer mal wieder vor, dass die eingesetzte sendEmail-Version Probleme mit dem jeweiligen Provider hat.
In diesem Fall soll die folgende Anleitung bei der Überprüfung der korrekten Funktion helfen:
Folgende Kommandozeilen an der Konsole eingeben - Absenderadresse, Empfängeradresse usw. usf. entsprechend ausfüllen (die eckigen Klammern weglassen!):
cd /var/log/copfilter/default/opt/tools/bin
./sendEmail -f [Absenderadresse] -u [Subject] -t [Empfängeradresse] -s [SMTP-Server-Adresse] -xu [SMTP-Username] -xp [SMTP-Paßwort]
[ENTER]
Ein erfolgreiches Ergebnis sollte in etwa so aussehen:
root@coprouter:/tmp # […hier stand die 'sendEmail'-Befehlszeile…]
\\
Reading message body from STDIN because the '-m' option was not used.
If you are manually typing in a message:
- First line must be received within 60 seconds.
- End manual input with a CTRL-D on its own line.
testmehl nummer 3
Jan 02 21:52:59 coprouter sendemail[10044]: Message input complete.
Jan 02 21:52:59 coprouter sendemail[10044]: NOTICE ⇒ Authentication not supported by the remote SMTP server!
Jan 02 21:52:59 coprouter sendemail[10044]: Email was sent successfully!
Sämtliche Ausgaben unbedingt auf Fehlermeldungen überprüfen!
Um ganz sicher zu gehen, im Copfilter GUI Test & Logs nacheinander die Buttons “Sende Test-Virus Email”, “Sende Test-SPAM Email” und “Sende Test-Email mit gef. Anhang” anklicken:
Einen Moment warten und dann einen Blick in die /var/log/messages werfen…:
Jan 2 21:54:25 coprouter copfilter send testvirus:
Jan 2 21:54:25 coprouter copfilter send testvirus: please wait until scripts finishes
Jan 2 21:54:25 coprouter copfilter send testvirus: this script only works if you have correctly configured your email address
Jan 2 21:54:25 coprouter copfilter send testvirus: and smtp server in the copfilter webgui
Jan 2 21:54:25 coprouter copfilter send testvirus:
Jan 2 21:54:29 coprouter copfilter send testspam:
Jan 2 21:54:29 coprouter copfilter send testspam: please wait until scripts finishes
Jan 2 21:54:29 coprouter copfilter send testspam: this script only works if you have correctly configured your email address
Jan 2 21:54:29 coprouter copfilter send testspam: and smtp server in the copfilter webgui
Jan 2 21:54:29 coprouter copfilter send testspam:
Jan 2 21:54:29 coprouter copfilter send testspam: Reading message body from STDIN because the '-m' option was not used.
Jan 2 21:54:29 coprouter copfilter send testspam: If you are manually typing in a message:
Jan 2 21:54:29 coprouter copfilter send testspam: - First line must be received within 60 seconds.
Jan 2 21:54:29 coprouter copfilter send testspam: - End manual input with a CTRL-D on its own line.
Jan 2 21:54:29 coprouter copfilter send testspam:
Jan 2 21:54:29 coprouter copfilter send testspam: Jan 02 21:54:29 coprouter sendEmail[8535]: Message input complete.
Jan 2 21:54:29 coprouter copfilter send testvirus: Jan 02 21:54:29 coprouter sendEmail[8524]: Email was sent successfully!
Jan 2 21:54:30 coprouter copfilter send testspam: Jan 02 21:54:30 coprouter sendEmail[8535]: Email was sent successfully!
Jan 2 21:54:31 coprouter copfilter send exe attachment:
Jan 2 21:54:32 coprouter copfilter send exe attachment: please wait until scripts finishes
Jan 2 21:54:32 coprouter copfilter send exe attachment: this script only works if you have correctly configured your email address
Jan 2 21:54:32 coprouter copfilter send exe attachment: and smtp server in the copfilter webgui
Jan 2 21:54:32 coprouter copfilter send exe attachment:
Jan 2 21:54:32 coprouter copfilter send exe attachment: Jan 02 21:54:32 coprouter sendEmail[8546]: Email was sent successfully!
Kurz danach sollten insgesamt drei E-Mails ankommen - eine mit einem ”.EXE Attachment“, die anderen zwei - bei aktiviertem 'P3Scan' - beginnend mit in etwa folgendem Text-Body:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Copfilter hat einen Virus in einer an Sie gesendeten Mail gefunden (POP3)!
Anstatt der verseuchten Mail erhalten Sie diesen Hinweis.
Virus-Name: Eicar-Test-Signature (gefunden durch ClamAV)
Anhang: eicar.com
Absender: [Absendeadresse von oben…!]
Empfaenger: [Empfängeradresse von oben…!]
Betreff: harmless VIRUS test mail from Copfilter
Datum: Sat, 02 Jan 2010 21:58:34 +0100
Server: [IP-Adresse…!]
Client: [IP-Adresse+Port!]
Email-Datei: p3scan.j2iBxb
gescannt auf: coprouter
Diese Mail wurde zwischengespeichert.
Bitte nehmen Sie zur Kenntnis, dass die Absende-Adresse gefaelscht sein koennte!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Header der Original-Nachricht:
X-Filtered-With: Copfilter Version 0.84beta4 (P3Scan 2.3.2)
X-Copfilter-Virus-Scanned: ClamAV 0.95.3/10248/Sat Jan 2 21:58:50 2010
Return-Path: …[usw.usf.]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Filtered-With-Copfilter: Version 0.84beta4 (P3Scan 2.3.2)
Copfilter-Virus-Scanned: ClamAV 0.95.3/10248/Sat Jan 2 21:58:52 2010
by Markus Madlener @ http://www.copfilter.org
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
P3Scan 2.3.2 (modified by Markus Madlener for Copfilter)
by Jack S. Lai <laitcg@cox.net>
Sollte die jeweils eingesetzte 'sendEmail'-Version Probleme machen, muss “durchgetestet” werden:
cd /var/log/copfilter/default/opt/tools/bin
Der Einfachheit halber sollte man sich verschiedene 'sendEmail'-Versionen in eben dieses Verzeichnis legen:
Die zu testende 'sendemail-1.5X'-Version muss jetzt nur noch nach 'sendEmail' kopiert werden, z.B. mit:
cp sendEmail-1.54 sendEmail
Das Überschreiben der Zieldatei bestätigen - anschließend kann sofort ein neuer Testlauf gestartet werden.
Die Installationsroutine vom IPCop V2 legt eine root-Partiton von lediglich 768MB an.
Dies reicht für manche Installationen - z.B. für die Installation der Developer-Version - nicht aus.
Es empfiehlt sich daher, die benötigten Partitionen während der Installation manuell anzulegen.
Dabei kann die Größe der Partionen den eigenen Anforderungen angepaßt werden.
Hierfür wird 'parted' benötigt, das auf der IPCop-CD enthalten ist.
Nähere Informationen zu 'parted' findet man z.B. auf http://ftp.gnu.org/old-gnu/Manuals/parted-1.6.1/html_mono/parted.html
1. IPCop-V2-ISO-Image auf CD brennen.
2. Von dieser CD booten.
3. Am Boot-Prompt eingeben:
install parted
[ENTER]
4. Nach der Hardware-Initialisierung und der Medien-Auswahl erscheint eine Message-Box:
Do your thing with parted now!
[An dieser Stelle NICHT ENTER drücken!]
5. [ALT-F5] oder [ALT-F6] drücken
6. In dem jetzt erscheinenden Consolen-Bildschirm folgendes eingeben:
cat /proc/partitions
[ENTER]
Mit diesem Befehl werden die eventuell vorhandenen Partitionen und der Typ der Zielfestplatte (hda oder sda) angezeigt:
7. Jetzt (je nach angezeigtem Plattentyp) folgenden Befehl eingeben:
parted /dev/hda
(oder /dev/sda, s.o.)
[ENTER]
'parted' wird gestartet und man befindet sich auf der 'parted'-Kommandozeile:
8. Mit dem Befehl print die Partitionstabelle anzeigen lassen.
[ENTER]
9. Falls nötig, vorhandene Partitionen mit dem Befehl rm [Zahl] entfernen. [Zahl] entspricht dabei der Partitionsnummerierung der “Number”-Spalte.
10. Falls eine Fehlermeldung erscheint (“unrecognized disk label”), muss vor dem weiteren Vorgehen mit dem Befehl mklabel msdos ein msdos-Disklabel angelegt werden:
mklabel msdos
[ENTER]
11. Mit folgendem Befehl wird eine root-Partition von 8 GB angelegt.
mkpart primary ext2 2048s 8191
[ENTER]
12. Anschließend muss noch eine zweite Partition für var angelegt werden - im folgenden Befehl wird der gesamte restliche Disk-Speicherplatz hierfür verwendet:
mkpart primary ext2 8192 100%
[ENTER]
13. Die root-Partition bootfähig machen:
set 1 boot on
[ENTER]
14. 'parted' verlassen:
quit
[ENTER]
15. Mit dem Befehl 'sync' werden noch ausstehende Schreib-Operationen auf die Festplatte geschrieben (wichtig bei SCSI-Systemen!):
sync
[ENTER]
16. Vorhandene/neu angelegte Partitionen auflisten:
parted -l
[ENTER]
17. Mit [ALT-F1] zum ersten Consolenbildschirm (oben, Punkt 4.) wechseln.
18. [ENTER] drücken, um die IPCop-V2-Installation fortzusetzen.
Wer sich dies nicht zutraut, kann unter der folgenden URL eine Addon-friendly-Version vom IPCop V2 herunterladen, die automatisch eine größere Root-Partition anlegt:
Download:
http://sourceforge.net/projects/copfilter/files/copfilter%20v2/IPCop-ISO/
Eine derartige Installation benötigt mindestens eine 10 GB-Festplatte und legt eine 5-GB-root-Partition sowie ein 256-MB-Swapfile an.
Um Zugriffe auf die temporären Dateien, die HAVP während der Scan-Vorgänge in /var/log/copfilter/default/opt/havp/tmp anlegt, zu beschleunigen, sind nur wenige Änderungen an verschiedenen IPCop- und Copfilter-Dateien nötig.
Die temporären HAVP-Dateien liegen anschließend in einer Ramdisk und können entsprechend schneller abgearbeitet werden.
Die Ramdisk wird in dieser Anleitung mit einer Größe von 64MB angelegt, was sich bisher für den Standardgebrauch als ausreichend erwiesen hat - größere Werte sind natürlich möglich, gehen aber auf Kosten des verfügbaren Arbeitsspeichers.
Bitte beachten:
Diese Optimierung wurde auf einem IPCop 1.4.21, den aktuellen HAVP-und ClamAV-Versionen und mit folgenden HAVP-Parametern problemlos getestet (Copfilter 0.84beta4, ClamAV läuft im Library-Modus):
Option | Wert | Einheit |
---|---|---|
SERVERNUMBER | 20 | Anzahl |
MAXSERVERS | 100 | Anzahl |
MAXSCANSIZE | 20971520 | Bytes |
CLAMMAXSCANSIZE | 20 | MB |
KEEPBACKBUFFER | 400000 | Bytes |
TRICKLING | 10 | Seconds |
TRICKLINGBYTES | 10240 | Bytes |
ENABLECLAMLIB | true | |
CLAMMAXSCANSIZE | 20 | MB |
CLAMMAXFILES | 5000 | Anzahl |
CLAMMAXFILESIZE | 25 | MB |
CLAMMAXRECURSION | 16 | Anzahl |
Bitte beachten:
IPCop 1.4.x ONLY!
Als erstes müssen von folgenden Dateien BACKUPS gemacht werden!
1. Bearbeiten 'grub.conf':
In der '/boot/grub/grub.conf' müssen die vorhandenen “Kernel-Zeilen” um die Option ramdisk_size=64000 erweitert werden.
Beispiel:
kernel /vmlinuz root=/dev/sda4 panic=10 init=/linuxrc rw ramdisk_size=64000
2. Bearbeiten 'global_settings':
In die Datei '/var/log/copfilter/default/etc/global_settings' wird die Zeile HAVP_RAMDISK=on eingefügt.
3. Bearbeiten 'copfilter_havp':
In der Datei '/var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp' wird in der Subroutine start () der Abschnitt:
/bin/mount | grep -v grep |grep man >/dev/null 2>&1 RESULT=$? if [ "x${RESULT}" = "x1" ]; then echo $CP_havp_mount $APPEND /bin/mount -o remount,mand /var/log fi
durch diesen Abschnitt ersetzt:
# Creating Ramdisk /bin/mount | grep -v grep |grep man >/dev/null 2>&1 RESULT=$? if [ "x${RESULT}" = "x1" ]; then if [ "x${HAVP_RAMDISK}" = "xon" ]; then echo "$CP_havp_mount Ramdisk $APPEND" if [ ! -d /var/log/copfilter/default/opt/havp/tmp ]; then mkdir /var/log/copfilter/default/opt/havp/tmp fi /sbin/mkfs.ext3 /dev/ram1 /bin/mount -o mand /dev/ram1 /var/log/copfilter/default/opt/havp/tmp chown -R havp.havp /var/log/copfilter/default/opt/havp/tmp else echo $CP_havp_mount $APPEND /bin/mount -o remount,mand /var/log fi fi
Achtung:
Ab der Copfilter Version 0.85.3 muss die Zeile
chown -R havp.havp /var/log/copfilter/default/opt/havp/tmp
ersetzt werden durch
chown -R havp.copfilter /var/log/copfilter/default/opt/havp/tmp
4. Bearbeiten 'copfilter_havp':
Ebenfalls in der Datei '/var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp' wird die komplette Subroutine stop () durch den folgenden Abschnitt ersetzt:
stop () { PRG_PID=`pidof $PRG` if [ $? != 0 ]; then PRG_PID="" fi if [ "x$PRG_PID" = "x" ]; then echo $PRG $CP_not_running $APPEND else $MONIT unmonitor $PRG if kill $PRG_PID 2>/dev/null; then progress_msg="<BR>Waiting ." cnt=0 while kill $PRG_PID 2>/dev/null; do cnt=`expr "$cnt" + 1` if [ "$cnt" -gt 15 ]; then kill -9 -$PRG_PID break fi sleep 1 echo -n $progress_msg progress_msg=" ." done fi fi # echo $CP_waiting $WAIT $CP_seconds $APPEND if [ "x${HAVP_RAMDISK}" = "xon" ]; then echo "$CP_havp_umount Ramdisk $APPEND" /bin/umount /dev/ram1 fi }
Beachten:
Ob die Änderungen erfolgreich waren, läßt sich leicht per GUI überprüfen.
Überprüfung anhand der Log-Dateien:
coprouter kernel: RAMDISK driver initialized: 16 RAM disks of 5120K size 1024 blocksize
Überprüfung im Filesystem:
Ausgelöst durch: http://www.copfilter.org/forum/viewtopic.php?p=3372#p3372
Mails werden nur mit extremer Verzögerung geholt und abgearbeitet.
Die IPCop Skripte für die Traffic-Erfassung verbrauchen um so mehr Systemressourcen, je höher der Detaillierungsgrad eingestellt ist.
Je nach CPU und RAM laufen diese Skripte mehrere Minuten.
Getestete Laufzeit der '/usr/local/bin/aggregatetraffic.pl':
Eine Scanzeit von bis zu 30 Sekunden pro Mail kann dabei, je nach der Anzahl der aktivierten Copfilter-Komponenten, normal sein.
Fällt ein Mailabruf allerdings z.B. genau auf den Zeitraum der Traffic-Erfassung, steigen die Scanzeiten vom SpamAssassin etc., extrem an!
Bei Problemen mit P3Scan/ProxSMTP und SpamAssassin müssen zudem die Timeout-Einstellungen der einzelnen Komponenten berücksichtigt werden.
Dazu gehören - neben dem Client, der die Mails abruft:
Unter Umständen kann die Scanzeit dann mehr als 90 Sekunden (und mehr) pro Mail betragen!
1. Den Detaillierungsgrad der Traffic-Erfassung auf niedrig stellen:
2. Mit dem folgenden Patch können in den Copfilter-Versionen 2.0.90 und 2.0.91beta1 in der Antispam GUI die RBL-Checks deaktiviert werden, wenn Razor, DNSBL und DCC aktiviert sind:
Für Copfilter 2.0.90:
V1: | cp-spamd_v2-2.0.90-speedup.tgz | 2 KB |
MD5SUM: | A5CA5BBABC2E69BA0286778EEA3A0DBE |
Für Copfilter 2.0.91beta1:
V2: | cp-spamd_v2-2.0.91beta-speedup.tgz | 2 KB |
MD5SUM: | F0D3E48EF0E1B2137626C699602EB4E8 |
Kursive Zitate stammen aus dem leider nicht mehr rekonstruierbaren Original-Posting.
Da dieses Problem schon mehrfach aufgetaucht ist und von verschiedenen Usern angefragt wurde, möchte ich hier einen Workaround posten, der evtl. Probleme mit der Authentifizierung über HAVP löst.
Da HAVP keine Authentifizierung auf Webseiten durchführen kann, muß eine Ausnahmeregel definiert werden, die die betroffene Seite vom Scan ausschließt.
Antwort des Entwicklers auf dieses Problem:
Zitat:
Hi,
This site uses M$ NTLM authentication. It is impossible to get working with
current HAVP as it requires special features and architecture from a proxy
(connection pinning etc). Only Squid 2.6/2.7 are capable, even 3.0 doesn't
seem to have support for it.
Such sites are most likely to be internal and should require no scanning.
Your workaround with Squid is the correct way - also you can add such sites
as no-proxy in browser.
Auf der Konsole oder mit einem geeigneten Klienten (ssh, putty, …) auf dem IPCop als 'root' einloggen und folgende Befehle initiieren:
(Die Code-Abschnitte bedeuten immer eine Befehlszeile, in eckige Klammern gefasste Wörter sind Befehlstasten)
cd /tmp
[ENTER]
Zunächst ein Backup anlegen:
cd /var/log/copfilter/default/opt/havp/etc/init.d
cp copfilter_havp copfilter_havp_backup
Mit einem Editor (vi oder nano) diese Datei im gleichen Verzeichnis editieren:
nano copfilter_havp
Oder:
vi copfilter_havp
Ab Zeile ~222 findet man folgende Einträge…:
# COPFILTER START - havp - do not modify acl copfilter_all src 0.0.0.0/0.0.0.0 acl Scan_HTTP proto HTTP acl Scan_FTP proto FTP cache_peer 127.0.0.1 parent 10080 0 no-query no-digest no-netdb-exchange default cache_peer_access 127.0.0.1 allow copfilter_all always_direct allow Scan_FTP never_direct allow Scan_HTTP # COPFILTER END - havp - do not modify
Dieser Teil muß geändert werden:
# COPFILTER START - havp - do not modify acl copfilter_all src 0.0.0.0/0.0.0.0 acl Scan_HTTP proto HTTP acl Scan_FTP proto FTP cache_peer 127.0.0.1 parent 10080 0 no-query no-digest no-netdb-exchange default cache_peer_access 127.0.0.1 allow copfilter_all acl NOSCAN dstdomain www.deineseite.de always_direct allow NOSCAN always_direct allow Scan_FTP never_direct allow Scan_HTTP # COPFILTER END - havp - do not modify
Diese beiden Zeilen sind relevant:
acl NOSCAN dstdomain www.deineseite.de always_direct allow NOSCAN
…und abspeichern!
Damit wird diese Einstellung dauerhaft hinterlegt und am IPCop und Copfilter lassen sich trotzdem die Einstellungen über die GUI ändern, ohne daß diese Einträge überschrieben werden.
Danach einen havp-restart über die Konsole durchführen:
/usr/local/bin/copfilter_restarthavp
bzw. HAVP über die GUI neu starten.
Wenn man noch weitere Seiten von HAVP ausschließen möchte, werden weitere Einträge mit einem Leerzeichen getrennt, z.B.:
acl NOSCAN dstdomain www.meineseite.de weitereseite.de
Die gewünschten Ausnahmen können darüber hinaus sehr flexibel - auch durch Einfügen in die '/var/ipcop/proxy/acls/include.acl' - erweitert werden:
Ausnahmeregel für einen Client-Rechner:
acl NOSCANIP src <deine IP-Adresse>/32 <weitere IP>/32 always_direct allow NOSCANIP
Ausnahmeregel für bestimmte Dateitypen (hier 'mpq'):
acl site url_regex -i mpq always_direct allow site
Zugriffe auf bestimmte IP-Adressen blockieren:
acl BANNED dst ip1 ip2 ip3 ip4 ip5 http_access deny BANNED
Sämtliche IP-basierten Zugriffe blockieren:
acl ipacl dstdom_regex ^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]* http_access deny ipacl
Eine Übersicht über die Access-List-Optionen vom Squid (Version beachten!) findet man ansonsten z.B. hier:
http://wiki.squid-cache.org/SquidFaq/SquidAcl