logcheck/-watch lösung gesucht

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
bon
Beiträge: 55
Registriert: 15.02.2003 13:11:52

logcheck/-watch lösung gesucht

Beitrag von bon » 05.03.2004 18:58:46

hallo,
ich habe ein debian woody und mein mta ist postfix.
alle emails lasse ich durch header und body filter laufen um spam und viren etc. zu filtern was auch bestends funzt. bisher habe ich logwatch 5.1 benutzt um mir ein überblick über die vorgänge zu verschaffen aber es gibt ein problem:
- da logwatch eine mail generiert die eben auch reject-hinweise beinhaltet kommt die mail nicht bei mir an, da postfix diese mails auch prüft und ein versenden unterbindet.

gibt es ein proggy oder ein tipp wie ich eventl. den content dieser dateien mit tar o.ä. vorher packen kann oder noch besser mit pgp verschlüssele so das die mail raus geht ohne selbst geblockt zu werden.

der inhalt muss eben dahingehend 'verschlüsselt' werden das check_header/check_body nichts mehr erkennt.
cu bon

Benutzeravatar
RHase
Beiträge: 177
Registriert: 20.11.2003 10:09:49
Wohnort: Munich/Germoney
Kontaktdaten:

logcheck/-watch lösung gesucht

Beitrag von RHase » 05.03.2004 20:04:13

Mit Postfix selbst macht man doch in aller Regel "nur" einen Sender/Recipient check, evtl. mit einem Spam-RBL. Davon sollte Dein logwatch doch nicht betroffen sein, da dieser seine eMails mit einem gueltigen Account versendet (?)
Gleiches gilt auch fuer einen evtl. Virenschutz wie z.Bsp. amavis, der vorm MTA angesetzt ist.

Die eigentlichen Filter wie z.Bsp. Mailfilter, Sieve, ... , in denen Du nach Deinen Kriterien schaltest und waltest, befindet sich zwischen dem MTA und dem MDA, dort findet auch das eigentliche Spamfiltern (in aller Regel) statt.

Meines Wissens wird bei Postfix in aller Regel nur ein header_check (evtl. mit RBL) durchgefuehrt, alles weitere erfolgt ueber die Mailfilter.

Einen Tip zum Logwatch habe ich also nicht, aber Du hast immer noch die Moeglichkeit, Deinen MTA/MDA entsprechend zu konfigurieren.

Benutzeravatar
bon
Beiträge: 55
Registriert: 15.02.2003 13:11:52

Re: logcheck/-watch lösung gesucht

Beitrag von bon » 05.03.2004 20:50:43

RHase hat geschrieben:Mit Postfix selbst macht man doch in aller Regel "nur" einen Sender/Recipient check, evtl. mit einem Spam-RBL.
nun ich mach z.b. folgendes:
# steht in meiner check_body
/Wet And Horny/ REJECT SPAM-Content detected.

postfix such nach bestimmten suchmustern und rejected die falls gefunden.
dann steht im mail.log:
reject: body [und die ausgabe]

und logwatch übernimmt ja textpassagen aus den logfiles und demzufolge steht das in der mail die ich mir zusenden lasse und die wird dann komplett 'rejected' :-(

Davon sollte Dein logwatch doch nicht betroffen sein, da dieser seine eMails mit einem gueltigen Account versendet (?)
eben und alle accounts werden geprüft. du kannst dem postfix nicht sagen, prüfe die und die, entweder alle oder keine (meines wissens nach).
Meines Wissens wird bei Postfix in aller Regel nur ein header_check (evtl. mit RBL) durchgefuehrt, alles weitere erfolgt ueber die Mailfilter.
in meiner main.cf steht u.a noch:
header_checks = regexp:/etc/postfix/check_header.regexp
body_checks = regexp:/etc/postfix/check_body.regexp

postfix bietet sehr viele möglichkeiten zum prüfen aber leider sind genau diese checks eben nur global an oder aus.
cu bon

Benutzeravatar
RHase
Beiträge: 177
Registriert: 20.11.2003 10:09:49
Wohnort: Munich/Germoney
Kontaktdaten:

Beitrag von RHase » 06.03.2004 10:31:57

... schon klar gewesen, was Du machst.
Ich meinte aber, das in aller Regel mit Postfix keine body_checks durchgefuehrt werden, sondern "nur " header_checks, evtl. mit RBL's.
Die regexp sind zwar ganz gut, aber deren Grenzen hast Du ja selber gemerkt.

Deshalb meinte ich, den body_check in den Mailfilter (zwischen MTA und MDA) zu verlegen, wodurch Du mehr Flexibilitaet erreichst. Dann haette sich Dein logwatch Problem erledigt.

Die Filtermethode, die ich also vorschlage, erfolgt in zwei Schritten:
  • Postfix: header_check (evtl. mit RBL's) = bekannte Spam-Adressen / unerwuenschte Adressen ausfiltern.
    Mailfilter: body_check / benutzerdefinierte Filter
Mailfilter sind zum Beispiel:
  • Maildrop
    Procmail
    Sieve
Auf diese Art und Weise filterst Du bekannte Spam-Adressen / unerwuenschte Adressen und im Mailfilter machst Du Deinen body_check und definierst, das logwatch Mails durchgelassen werden.


cu,
RHase

Benutzeravatar
bon
Beiträge: 55
Registriert: 15.02.2003 13:11:52

Beitrag von bon » 06.03.2004 12:55:04

ah, ok. also ist es so das ich die body_checks komplett aus postfix rausnehmen muss und z.b. durch 'maildrop/procmail/sieve, etc.' durchführen lassen soll, da diese mailfilter in der lage sind bestimmte adressen ohne filterung durchzulassen, richtig?

dann noch die frage. meine body_check ist ca. 50 kb gross also da ist schon ne masse drin, muss ich die komplett neuschreiben oder ist der syntax bei irgendeinem mailfilter identisch? ich habe bis dato eben keine erfahrung mit diesen mailfiltern ist quasi neuland für mich. sicher muss ich die filter auch noch irgendwie in postfix einbauen (master.cf?) damit das funzt.

kennst jemand ne gute anlaufstelle, howto etc für mailfilter um sich einen überblick zu verschaffen, bin für alle tipps dankbar.
cu bon

Benutzeravatar
RHase
Beiträge: 177
Registriert: 20.11.2003 10:09:49
Wohnort: Munich/Germoney
Kontaktdaten:

Beitrag von RHase » 06.03.2004 14:11:13

...also ist es so das ich die body_checks komplett aus postfix rausnehmen muss und z.b. durch 'maildrop/procmail/sieve, etc.' durchführen lassen soll, da diese mailfilter in der lage sind bestimmte adressen ohne filterung durchzulassen, richtig?
Korrekt. Im eigentlichen Sinne sind (zumindest) maildrop/procmail MDA's mit Filterfunktionalitaet.
...meine body_check ist ca. 50 kb gross also da ist schon ne masse drin, muss ich die komplett neuschreiben oder ist der syntax bei irgendeinem mailfilter identisch?
No pains no gains. Ja, so schaut's wohl aus.
Procmail wird nachgesagt, das es das komplizierteste, aber leistungsfaehigste ist,
Maildrop ist so'n mittelding,
Sieve recht simple/einfach.

Ein Maildrop-Beispiel:
main.cf

Code: Alles auswählen

# mailbox_command = procmail -a "$EXTENSION"
mailbox_command = /usr/bin/maildrop
master.cf

Code: Alles auswählen

maildrop  unix  -       n       n       -       -       pipe
  flags=R user=vmail:vmail argv=/usr/bin/maildrop -d ${recipient}
Jeder User (inkl. vmail) benoetigt einen Mailfilter im $home, wobei zuerst der Mailfilter von vmail und dann der des Empfaengers abgearbeitet wird. D.h. globale Filter in den Mailfilter von vmail, benutzerspezifische in den Mailfilter des Empfaengers.
Beispiel:
.mailfilter

Code: Alles auswählen

# Maildrop Logfile
logfile "/var/log/mailfilter.log"
# Mailadresse in Kleinbuchstaben (ala "roger.rabbit@bugs-bunny.net")
LOGNAME=tolower($LOGNAME)
# lokale Systemzeit
Date=`date`

if ( $LOGNAME =~ /.*!@!.*/ )
{
        # Domain Name ermitteln (ala "bugs-bunny.net")
        Domain=$MATCH3
        # Empfaenger ermitteln (ala "roger.rabbit")
        Userpath=$MATCH
        # externer Programmaufruf in "/home/vmail"
        RET=`$HOME/check4dir.pl $HOME/$Domain/$Userpath`

        if ( $RET eq OKAY )
        {
                # externes Programm war Ok, einbinden des persoenlichen Mailfilters
                include "$HOME/$Domain/$Userpath/.mailfilter"
        }
        else
        {
                # externer Programmfehler loggen 
                log "ERROR $Date: Address=$LOGNAME homedir=$HOME/$Domain/$Userpath RET=$RET"
        }
}
Anlaufstellen habe ich gerade keine parat, aber zu allen drei genannten (procmail/maildrop/sieve) gibt's reichlich Infos, Tips+Tricks und Beispiele. Frag' Google und Du wirst mit Seiten erschlagen.


viel Spass + Erfolg,
RHase

Benutzeravatar
bon
Beiträge: 55
Registriert: 15.02.2003 13:11:52

Beitrag von bon » 06.03.2004 15:15:38

No pains no gains.
oje :-)
vielen dank, jetzt hab ich erst mal viel zu tun...
cu bon

Antworten