PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mailserver, wie soll ich gegen SPAM realisieren



Fly
23.05.05, 09:17
Moin,

Ist Zustand: Im Unternehmen rufen die Mitarbeiter die Mails direkt von Provider ab.

SOLL Zustand: Die Mails sollen über auf einem internen Mailserver heruntergeladen werden und die SPAMs aussortieren, dann sollten die Mitarbeiter die Mails über Outlook vom internen Mailserver abrufen.

Ich habe schon viel im Forum durgestöbert, leider gibt es hier zuviele Threads mit Postfix usw.
Es wäre nett, wenn mir jemand vorschlagen könnte, wie ich das alles realisieren könnte. Ich habe eigentlich vor mit Fetchmail die Mails downloaden. Mit Postfix sollten die Mails an Mitarbeiter verteilt werden...
Welchen Spamfilter schlagt ihr vor? Spamassain?

Es wäre sehr nett, wenn ihr mir ein gutes HOW To wo viel relevantes drinnen steht was ich vorhabe...

Ein How To für Fetchmail von tuxhausen kenne ich schon, aber was sage ich fetchmail, dass er die Mails an Postfix übergeben soll...

Stormbringer
23.05.05, 09:36
Hi,

lasse dort einen postfix laufen, und konfiguriere ihn gemäß: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#firewall?
Also speziell die Punkte:


local_recipient_maps =
local_transport = error:local mail delivery is disabled
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport: example.com smtp:[inside-gateway.example.com]


Den Abruf via fetchmail kannst Du gleichfalls zentral realisieren (dazu sind dann aber die Kennwörter der einzelnen Mailboxen notwendig), bspw. in der Art:


set logfile "/var/log/fetchmail.log"
set bouncemail
set spambounce
set properties ""
poll pop.provider.com
# Benutzer1
proto imap
user "Benutzer1"
pass "Kennwort1"
fetchall
is Benutzer1@interner.mailserver.com
smtpaddress interner.mailserver.com
# Benutzer2
proto pop3
user "Benutzer2"
pass "Kennwort2"
fetchall
is Benutzer2@interner.mailserver.com
smtpaddress interner.mailserver.com
# etc.

(Alles ohne GEwähr, da nicht getestet!)

Gruß

tschloss
23.05.05, 09:48
Statt die Mails per Fetchmail aus POP-Boxen abzuholen, um sie dann erneut zuzustellen, kannst DU auch überlegen, gleich einen "richtigen" Mailserver Eurer Domain einzurichten.
Ein Kriterium ist sicher die Zahl der User: je mehr, desto zäher wird es, immer zwei Mailboxen zu pflegen (eine beim Provider und eine auf deinem lokalen Server). Weitere Kriterien: Anbindung des Mailservers / Standort (bei einem Provider vs. im LAN), Security (der lokale Mailserver als SMTP relay ohne externen SMTP Zugang kann natürlich gut abgesichert werden).

Und dann benötigst du noch eine lokale Zustellung, ich vermute per POP3 oder IMAP. Dafür benötigst du eine weitere Komponente.

Also Postfix mit fetchmail und Cyrus IMAP funktioniert bei mir inzwischen sehr gut und seit Monaten ohne Eingriff zuverlässig (hinter einer ISDN Dial-Up-Leitung ohne flatrate :( ).
Mit SUSE 9.2 war fast alles per YAST konfigurierbar.


Spamassassin ist auch ok, markiert Mails aber nur. Was damit passiert, ist eine andere Sache. Serverseitiges Löschen ist rechtlich nicht ganz unkritisch - userseitige Filter sind da optimal!

Greetz
Thomas

Fly
23.05.05, 09:56
Spamassassin ist auch ok, markiert Mails aber nur. Was damit passiert, ist eine andere Sache. Serverseitiges Löschen ist rechtlich nicht ganz unkritisch - userseitige Filter sind da optimal!
Greetz
Thomas

Nein, ein Geschäftsführer bekommt wahnsinnige viele spams, er will sich nicht darum kümmern, dass sollte automatisch über Mailserver gehen meint er... Mal schauen wie weit ich das Problem mit dem internen Mailserver lösen kann...

@Stormbringer
Danke für die Beispiele. Ist es nicht vernünfttig, dass die ausgehenden Mails nicht über den internen Mailserver gehen sonden direkt zum Provider?

Stormbringer
23.05.05, 10:10
Ist es nicht vernünfttig, dass die ausgehenden Mails nicht über den internen Mailserver gehen sonden direkt zum Provider?
Das ist aber eine Einstellung auf seiten der Clientsoftware (Outlook, OE, TB, etc.).

Noch etwas: Du solltest Dir bei einer solchen Anordnung von der GS, dem Betriebsrat und/oder den MAs einzeln schriftlich bestätigen lassen, daß das jeweilige (Aus(Sortieren von SPAMMails/Virenmails i. O. ist! Schließlich wird dadurch in das (virtuelle) Briefgeheimnis eingegriffen, und das ist bis dato immer noch nicht rechtlich klar geregelt.

Gruß

tschloss
23.05.05, 10:12
Klar kannst du z.B. mit procmail die Markierungen von Spamassassin auch serverseitig auswerten und die Mails ab einer gewissen Schwelle in einen Spamordner schieben.

Aber wenn es nur um eine Person und nur um das Spamproblem geht, dann könnte man auch ihm einen lokalen Spamfilter installieren.
Außerdem würde ich ihm eine zweite Mailadresse verpassen, die er dann "in der Breite verwendet" - eine gut behandelte Mailadresse wird auch nicht zugespammt!

Anderer Ansatz: hat der Mailprovider keinen Spamfilter? Das ist mit Sicherheit die günstigste Lösung in Aufbau und Betrieb!!!

SMTP: ja, kannst auch direkt auf den externen gehen.

Greetz

Fly
23.05.05, 10:37
Problem: einige Mitarbeiter arbeiten auch zuhause und rufen die Mails 2 mal ab. Einmal in der Firma und einmal zuhause... Wie kann ich das mit fetchmail machen, dass die Mails noch für einige Tagen am Server bleiben...

Stormbringer
23.05.05, 10:48
'man fetchmail' bringt Dir die Option 'keep' näher ...

Gruß

Fly
23.05.05, 12:15
wenn ich die mails mit fetchmail abrufe kommt ein Fehler:

skipping message meine.username@hoster.xx:xmail nicht geflusht

Meine fetchmail Konfig sieht wie folgend aus:


server hoster.xx
proto pop3

user meine.username
pass geheim
is fly

keep
ssl
mda /usr/bin/procmail


Ich weiss nicht wo der Fehler sein kann. Jedenfalls komme ich mit pop/ssl auf Mailserver...

Fly
23.05.05, 16:12
Jetzt bin ich draufgekommen, dass fetchmail die Mails, die schon mal abgerufen wurden nicht mehr abruft, wobei ich die Option keep drinnen hab. Da kommt eine Meldung wie ich im letzten Post beschrieben habe...

tschloss
23.05.05, 17:50
Jetzt bin ich draufgekommen, dass fetchmail die Mails, die schon mal abgerufen wurden nicht mehr abruft, wobei ich die Option keep drinnen hab. Da kommt eine Meldung wie ich im letzten Post beschrieben habe...

Klar: "keep" heißt "nicht flushen". Oder hab ich das Problem nicht geblickt :D

Fly
24.05.05, 06:12
Klar: "keep" heißt "nicht flushen". Oder hab ich das Problem nicht geblickt :D

Du hast recht, ich den meisten Dolumentationen lesse ich, dass man sich nicht wundern muss, wenn man die gleichen Mails immer wieder abruft wenn die Option keep gesetzt ist.

Jetzt habe ich ein Problem, das die Mails mit fetchmail nicht mehr abgerufen werden, wenn der User z. B. zuhause schon abgerufen hat... Der User konnte bis jetzt in der Firma und zuhause mit Outlook abrufen.

Erst wenn fetchmail eine neuen Nachricht "als erster" erwischt, dann funktioniert es. Wie kann ich das Problem lösen?

Stormbringer
24.05.05, 06:50
Und wieder könnte 'man fetchmail' helfen ....

Dort heißt es in den Erläuterungen:


The normal mode of fetchmail is to try to download only `new' messages, leaving untouched (and
undeleted) messages you have already read directly on the server (or fetched with a previous
fetchmail --keep). But you may find that messages you've already read on the server are being
fetched (and deleted) even when you don't specify --all. There are several reasons this can
happen.

Und die besagte Option wird beschrieben mit:


Disposal Options
-a | --all
(Keyword: fetchall) Retrieve both old (seen) and new messages from the mailserver. The
default is to fetch only messages the server has not marked seen. Under POP3, this
option also forces the use of RETR rather than TOP. Note that POP2 retrieval behaves
as though --all is always on (see RETRIEVAL FAILURE MODES below) and this option does
not work with ETRN or ODMR.

Gruß

Fly
24.05.05, 11:44
sorry die Manpage für fetchmail ist unübersichtlich...

Jetzt habe ich postfix eingerichtet bzw. versucht. mir ist unklar woher postfix die user nehmen soll. anscheinend nicht von /etc/passwd :confused:

Hier die aktuelle Konfiguration:


postconf -n
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
local_transport = error:local mail delivery is disabled
mydestination = localhost@domain.at, domain.local, localhost.domain.local, localhost
myhostname = mailserver.domain.local
myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
transport_maps = hash:/etc/postfix/transport

Stormbringer
24.05.05, 12:55
??? Was meinst Du denn jetzt?
fetchmail ruft Emails ab, übergibt diese an postfix, sie werden dann an amavisd-new übergeben, nach erfolgter Prüfung zurück an postfix, und dann werden die dem jeweiligen Mailserver zur Vorhaltung übergeben (cyrus, courier, qpopper, whatever).
Nur: welche User meinst Du?

Gruß

tschloss
24.05.05, 13:50
Du hast recht, ich den meisten Dolumentationen lesse ich, dass man sich nicht wundern muss, wenn man die gleichen Mails immer wieder abruft wenn die Option keep gesetzt ist.

Jetzt habe ich ein Problem, das die Mails mit fetchmail nicht mehr abgerufen werden, wenn der User z. B. zuhause schon abgerufen hat... Der User konnte bis jetzt in der Firma und zuhause mit Outlook abrufen.

Erst wenn fetchmail eine neuen Nachricht "als erster" erwischt, dann funktioniert es. Wie kann ich das Problem lösen?
Hast Du auch dran gedacht, dass auch Outlook auf "keep" gesetzt werden muß, weil dieses die Mails sonst vom Server abräumt! Das heißt bei OL iregendwas mit "Kopie auf Server belassen" unter den Einstellungen des Kontos.


Und dein fetchmail scheint doch sonst zu funktionieren, also das obige ist ggf. kein Grund an Postfix zu rühren.

Greetz
Thomas

Fly
24.05.05, 13:52
??? Was meinst Du denn jetzt?
fetchmail ruft Emails ab, übergibt diese an postfix, sie werden dann an amavisd-new übergeben, nach erfolgter Prüfung zurück an postfix, und dann werden die dem jeweiligen Mailserver zur Vorhaltung übergeben (cyrus, courier, qpopper, whatever).
Nur: welche User meinst Du?

Gruß
Hallo Stormbringer,

ich meine die Zugangsdaten auf MUA (Outlook). Ist das falsch, wenn fetchmail die mails der fly@domain.de abruft und intern ist fly, dass ich auf MUA die Username und Zugangsdaten wie auf Mailsystem angeben muss?
Folgendes wird im LOG generiert:


May 24 14:45:39 mailserver in.qpopper[1096]: fly at pc001.domain.ax (10.45.94.79): -ERR [SYS/PERM] Unable to process From lines (envelopes), change recognition modes or check for corrupted mail drop. [pop_dropcopy.c:837]


Wo liegt mein Denkfehler?

Stormbringer
24.05.05, 13:56
Du hast:
- eine Mailadresse fly@provider.dom
- auf dem Linuxsystem einen Benutzer namens fly
?
Sorry, aber Deine Infos sind spärlich, und die postings für einen Außenstehenden nicht unbedingt klar ... ;) ... arbeite da mal daran!

Da Du mit einem simplen popper arbeitest, ist das im Mailclient einzutragende Passwort gleich dem Passwort des Benutzers 'fly' auf der Linuxmaschine.

Und nun kommt es wohl auf den verwendeten fetchmail Aufruf an: wie sieht der denn aus?

Gruß

Fly
24.05.05, 14:18
Erstmal danke an alle die mir geholfen haben. Jetzt zeige ich nochmal meine aktuelle Konfiguration.

So sieht .fetchmailrc aus:


set logfile "/var/log/fetchmail"
set bouncemail
set spambounce
#set properties
#Server und Protokoll
server provider.dom
proto pop3
user fly@provider.dom
pass geheim
is fly


postconf -n


append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
local_transport = error:local mail delivery is disabled
mydestination = localhost@intern.local, intern.local, localhost.mailserver.local, localhost
myhostname = mailserver.intern.local
myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
transport_maps = hash:/etc/postfix/transport


qpopper nicht konfiguriert, habe es mit telnet getestet

+OK Qpopper (version 4.0.5) at mailserver starting. <1275.1116940415@mailserver.intern.local>

auf MUA Mailadreasse: fly username: fly bzw. passwort

Fly
24.05.05, 16:54
Bin jetzt mal ein Schritt weitergekommen. Ich konnte jetzt eine Mail am MUA empfangen, jedoch war das vermutlich eine Nachricht, die am Mailserver im /var/spool/mail gelegen ist.

Mit fetchmail ist mir unklar, da stimmt vermutlich bei der Konfiguration nicht, weil ich immer 2 mal Fetchmail abrufen muss, dass ich eine Mail abrufen kann.

Folgendes läuft bei Fetchmail ab:


1 Abruf:
fetchmail: POP3< +OK 57
fetchmail: 58 Nachrichten (57 gesehen) fⁿr fly@dom.at bei dom.at (4890233 Oktetts).

fetchmail: POP3> LIST 58
fetchmail: POP3< +OK 58 1611
fetchmail: POP3> RETR 58
fetchmail: POP3< +OK 1611 octets
fetchmail: Nachricht fly@dom.at:58 von 58 wird gelesen (1611 Oktetts)
fetchmail: SMTP-Verbindung zu localhost fehlgeschlagen
fetchmail: POP3> QUIT
fetchmail: POP3<
fetchmail: SMTP-Transaktion-Fehler beim Abholen von dom.at
fetchmail: 6.2.5 fragt ab dom.at (Protokoll POP3) um Die 24 Mai 2005 17:40:53 CEST: Abfrage beendet
fetchmail: Abfragestatus=10 (SMTP)
fetchmail: normaler Beendigung, Status 10

2. Abruf (unmittelbar nach abbruch der 1. Abruf)
fetchmail: 58 Nachrichten (58 gesehen) fⁿr fly@dom.at bei dom.at (4890233 Oktetts).


fetchmail: POP3> QUIT
fetchmail: POP3< +OK Sayonara
fetchmail: 6.2.5 fragt ab dom.at (Protokoll POP3) um Die 24 Mai 2005 17:41:03 CEST: Abfrage beendet
fetchmail: normaler Beendigung, Status 1

diesmal wird die Nachricht endlich abgerufen...


Die Fetchmail Konfig sieht wie folgend aus:
[CODE]
set logfile "/var/log/fetchmail"
set bouncemail
set spambounce
#set properties
server dom.at
proto pop3
user 'fly@dom.at' there with password 'geheim' is 'fly' here
keep
ssl
[CODE]
Ist das richtig, dass man fetchmail nicht angeben muss, dass die Nachrichten den Postfix weitergegeben werden?

Stormbringer
25.05.05, 06:11
Hi,

das wird wohl an:
fetchmail: SMTP-Verbindung zu localhost fehlgeschlagen
liegen.

Wie wird fetchmail aufgerufen?
Wie wird localhost aufgelöst?
Du kannst auch einmal den betreffenden SMTP-Host angeben, mittels:
smtpaddress warblade.dyndns.org
in der .fetchmailrc, und nochmals einen Abruf starten.

Noch etwas generelles: .local ist keine gültige, nichtroutbare domain.
Bei einigen Systemen, bspw. auf SuSE basierende, kann dies durchaus zu Problemen führen! Dazu gibt es auf RFC 2606 (http://www.faqs.org/rfcs/rfc2606.html).

Gruß

Fly
25.05.05, 08:47
Hallo Stormbringer,

danke du hast mir sehr wichtige INFOs gegeben, besonders das local Domains nicht geroutet werden. Das ist bei mir nicht der Fall, weil ich Debian verwende. SuSe verwende ich auch, aber Debian als Mailserver hört sich besser an, da ich auch genau weiss welche Programme auf Debian installiert ist...

Das Problem mit fetchmail habe ich gelöst, ich konnte den localhost nicht pingen :eek:

Ich kann die Nachricht jetzt Problemlos empfangen nachdem ich die Konfigruation geändert habe, jedoch nicht vom MUA aus senden.



mailserver:/etc/postfix# postconf -n
append_dot_mydomain = no
biff = no
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
mailq_path = /usr/sbin/mailq
myhostname = mailserver.local
mynetworks = 127.0.0.0/8, 10.45.94.0/24
relayhost = nitweb2.nit.at
sendmail_path = /usr/sbin/sendmail
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
mailserver:/etc/postfix# ping mailserver.local


Folgendes wird im LOG generiert:


May 25 09:07:06 mailserver postfix/qmgr[1212]: CE5CBF651: from=<fly@internedomain>, size=1569, nrcpt=1 (queue active)
May 25 09:07:06 mailserver postfix/smtpd[1560]: disconnect from unknown[10.45.94.79]
May 25 09:07:06 mailserver postfix/smtp[1564]: warning: smtp_sasl_auth_enable is true, but SASL support is not compiled in
May 25 09:07:07 mailserver postfix/smtp[1564]: CE5CBF651: to=<office@uniqa.at>, relay=mail_provider[xx.xxx.xxx.xx], delay=1, status=bounced (host mail_provider[xx.xxx.xxx.xx] said: 553 5.1.8 <fly@internedomain>... Domain of sender address <fly@internedomain> does not exist (in reply to MAIL FROM command))
May 25 09:07:07 mailserver postfix/cleanup[1563]: 60F62F661: message-id=<20050525070707.60F62F66
May 25 09:07:07 mailserver postfix/qmgr[1212]: 60F62F661: from=<>, size=3520, nrcpt=1 (queue active)
May 25 09:07:07 mailserver postfix/qmgr[1212]: CE5CBF651: removed
May 25 09:07:07 mailserver postfix/smtp[1564]: 60F62F661: to=<office@uniqa.at>, relay=mail_provider[xx.xxx.xxx.xx], delay=0, status=sent (250 2.0.0 j4P77HVh016448 Message accepted for delivery)

Wo kann ich die Mailadresse "NATen"

Fly
25.05.05, 14:07
Jetzt funktioniert mein Mailserver mit empfangen und versenden!

Ich möchte jetzt den SMTP-Auth wie hier ( libsasl-modules-plain, sasl-bin und libsasl-digestmd5-plain) beschrieben aktivieren. Unter Debian sarge habe ich ein Problem, die Pakete libsasl-modules-plain, sasl-bin und libsasl-digestmd5-plain nachzuinstallieren. Diese Pakete werden nicht gefunden? Im google finde ich nur Pakete für Debian woody :mad:


Ich konnte zwar postfix-tls installieren. Wenn ich das installierte Paket ansehe, sieht es wie folgend aus:


ii postfix-tls 2.1.5-9 TLS and SASL support for Postfix


Folgendes wird bzgl. SAS in Log generiert:


May 25 15:51:19 mailserver postfix/smtp[2178]: warning: SASL authentication failure: No worthy mechs found
Es sieht aus als ob noch einige Programm Module fehlen würde, oder? :confused: