Page 1 of 1

Amavis-Konfiguration

Posted: 2007-08-11 18:12
by nyxus
Moin,

unter meinem Debian Etch habe ich Amavisd-new 2.4.2-6.1 laufen. Auf diesem möchte ich Archive nach Viren scannen, aber EXEs, BATs, etc. im Archiv erlauben. Direkt sollen EXEs etc. aber weiterhin geblockt werden.

Hat einer von euch diese Anpassung schon gemacht? Auf einer anderen Seite habe ich da zwar ein paar vage Hinweise gefunden, aber bin mir nicht sicher wie die Abhängigkeiten in der Amavis-Konfig sind.

Die Amavisd-Konfig ist bisher bei mir noch nicht weiter angepasst, da der Default ansonsten recht gut läuft.

Der Workaround die Anhänge direkt in Postfix zu blocken und in Amavis dann generell zu erlauben gefällt mir allerdings nicht besonders.

Danke im Voraus für jeden Hinweis.

Re: Amavis-Konfiguration

Posted: 2007-08-11 18:37
by Roger Wilco
Eigentlich musst du nur $banned_filename_re in deiner amavisd.conf an deine Wünsche anpassen.

Re: Amavis-Konfiguration

Posted: 2007-08-11 19:01
by nyxus
Roger Wilco wrote:Eigentlich musst du nur $banned_filename_re in deiner amavisd.conf an deine Wünsche anpassen.
Das war auch meine erste Idee, nämlich die Zeile

Code: Select all

 [ qr'^.(zip|rar|arc|arj|zoo)$'=> 0 ],  # allow any within such archives
zu aktivieren. Funktioniert aber leider nicht. EXEs werden im Archiv immer noch blockiert. :-(

Re: Amavis-Konfiguration

Posted: 2007-08-11 19:10
by oxygen
Wozu willst du denn exe's blocken, wenn du doch eh einen Virenscanner aktivierst hast? Sooo groß wird der Anteil an false negatives doch nicht sein oder?

Re: Amavis-Konfiguration

Posted: 2007-08-11 19:40
by nyxus
oxygen wrote:Wozu willst du denn exe's blocken, wenn du doch eh einen Virenscanner aktivierst hast? Sooo groß wird der Anteil an false negatives doch nicht sein oder?
Weil nicht nur Viren zu einem unerwünschten Verhalten auf den PCs führen können. Und wer eine Exe aus einem Archiv startet macht das dann wirklich bewusst.

Re: Amavis-Konfiguration

Posted: 2007-08-11 20:35
by adjustman
Nyxus wrote:Funktioniert aber leider nicht. EXEs werden im Archiv immer noch blockiert. :-(
es kommt auf die Reihenfolge der Regeln in der amavisd.conf an.
Wie immer: First match wins ;)

Code: Select all

# # within PC archives allow any types or names at any depth
 [ qr'(?#rule-7) ^ (.*t)? T=(zip|rar|arc|arj) (t.*)? $'xmi => 0 ],  # ok
# # within certain archives allow leaf members at any depth if crypted
 [ qr'(?# ALLOW ENCRYPTED )
 ^ (.*t)? T=(zip|rar) (.*n)+ (.*t)? A=C (t.*)? z'xmi => 0 ],
# # block if any component can not be decoded (is encrypted or bad archive)
 qr'(?# BLOCK IF UNDECIPHERABLE ) ^ (.*t)? A=U (t.*)? z'xmi,
  # banned filename extensions (in declared names) anywhere - basic
  qr'(?# BLOCK COMMON NAME EXENSIONS )
  ^ (.*t)? N= [^tn]* . (exe|vbs|pif|scr|bat|com|cpl) (t.*)? $'xmi,
# # banned filename extensions (in declared names) anywhere - long
 qr'(?# BLOCK MORE NAME EXTENSIONS )
 ^ (.*t)? N= [^tn]* . (
    ade|adp|app|bas|bat|dat|chm|cmd|com|cpl|crt|emf|exe|fxp|grp|hlp|hta|
    inf|ins|isp|js|jse|lnk|mda|mdb|mde|mdw|mdt|mdz|msc|msi|msp|mst|
    ops|pcd|pif|prg|reg|scr|sct|shb|shs|vb|vbe|vbs|
    wmf|wsc|wsf|wsh) (t.*)? $'xmi,

Re: Amavis-Konfiguration

Posted: 2007-08-12 12:26
by nyxus
adjustMan wrote:Wie immer: First match wins ;)
das habe ich verstanden. Aber die Regeln selbst sind mir noch absolut unklar.

Code: Select all

# # within PC archives allow any types or names at any depth
 [ qr'(?#rule-7) ^ (.*t)? T=(zip|rar|arc|arj) (t.*)? $'xmi => 0 ],  # ok
...
Ist das Dein kompletter "$banned_filename_re"-Bereich? Denn der ist *komplett* anders als die Standard-Definition. Diese Syntax ist für eine Konfigdatei IMHO das letzte. :-(

Re: Amavis-Konfiguration

Posted: 2007-08-12 21:40
by adjustman
Nyxus wrote:Ist das Dein kompletter "$banned_filename_re"-Bereich?
nein
Nyxus wrote:Diese Syntax ist für eine Konfigdatei IMHO das letzte. :-(
schreib das Marc Martinec :-D

Re: Amavis-Konfiguration

Posted: 2007-08-12 22:42
by oxygen
Nyxus wrote: Diese Syntax ist für eine Konfigdatei IMHO das letzte. :-(
Grundsätzlich stimme ich zu.
ABER wenn man Perl kann, ist das ganze äußerst praktisch, da flexibel. Man kann innerhalb der Konfigurationsdatei Konstrukte produzieren, die ganze neue Funktionalität haben.