best. Anforderungen an Mailserver realisierbar?
best. Anforderungen an Mailserver realisierbar?
ich habe in einem kl. Unternehmen einen "Home"-Server eingerichtet.
Dieser bietet verschiedene Dienste an, wie z.B. DHCP mit DNS, SAMBA, nfs für die dboxen/dreamboxen, proxy, gateway ins Internet (iptables), etc.
Die Windows-Clients, die sich per SAMBA an einer Domäne anmelden, nutzen das MS-Office Paket mit Outlook (ist vorhanden und wurde extra gekauft). Da die Clients aber per imap auf ein bzw. mehrere Mail-Konten im Internet zugreifen und sich dort schon sehr viele Mails mit Anhängen gesammelt haben, habe ich mir folgendes überlegt:
Wäre es nicht sinnvoller, die Mails auf dem Server zuspeichern und die Clients per imap auf den Server zugreifen zu lassen?
Server lädt die Mails vom Postfach der Domäne im Internet runter und stellt diese dann im lokalen Netzwerk per imap für den entsprechenden Account zur Verfügung.
Zudem soll aber noch die Möglichkeit gegeben werden übers Internet auf die Mail-Konten auf dem Server zugreifen zu können. Dies sollte nur über https möglich sein und per Browser möglich sein (dyndns-Account ist bereits vorhanden, so dass nur noch eine weitere Portfreigabe erstellt werden müsste).
Zudem sollte noch ein spam-Filter eingerichtet werden und die Mails überprüfen (vielleicht spamassassin?).
Mit welchem oder welchen Tool/Tools realisiere ich dies am besten?
Gibt es dazu gute HowTo's oder Lektüren/Bücher?
Auf dem Server wird ein amd64-lenny verwendet.
Danke & Gruß,
Daniel
-
- Beiträge: 145
- Registriert: 09.10.2008 20:14:48
Re: best. Anforderungen an Mailserver realisierbar?
meinst du ein Webinterface für die Mailaccounts auf dem Server?Zudem soll aber noch die Möglichkeit gegeben werden übers Internet auf die Mail-Konten auf dem Server zugreifen zu können. Dies sollte nur über https möglich sein und per Browser möglich sein (dyndns-Account ist bereits vorhanden, so dass nur noch eine weitere Portfreigabe erstellt werden müsste).
Das Grundlegene Vorhaben einen Mailserver der Imap unterstützt und die integration eines Spamfilters bietet, lässt sich mit Postfix und Spamassassin lösen.
In folgendem Buch wird das unter anderem erklärt
http://www.amazon.de/Linux-Server-umfas ... 189&sr=8-1
Habe auch hier auf die schnelle noch ein Tutorial welches das Thema behandelt
http://www.howtoforge.de/howto/der-perf ... pconfig-2/
Gruß
artificial
Re: best. Anforderungen an Mailserver realisierbar?
Das Buch Linux-Server mit Debian GNU/Linux habe ich und bin auch gerade dabei mir die beiden Workshops durch zulesen.
Bisher hört es sich sehr vielversprechend an und ich bin beim Thema Content-Filter angelangt. Es wird gerade das Zusammenspiel zwischen Postfix - AMaVis und ClamAV beschrieben.
Vielleicht habe ich ja Glück und es entspricht meinen Anforderungen/Wünschen.
Re: best. Anforderungen an Mailserver realisierbar?
Ich verwende dhcp3-server mit bind9. Dort muss ich doch noch einen MX-Eintrag erstellen.
-
- Beiträge: 546
- Registriert: 16.12.2004 09:58:27
- Wohnort: Leipzig
Re: best. Anforderungen an Mailserver realisierbar?
Sind das alles Konten von einer Domain? Du könntest auch fetchmail einsetzen und die Konten bei den provider beibehalten. Leider ist dann die Spamerkennung nicht so doll, aber es geht auch ohne mx Eintrag.Da die Clients aber per imap auf ein bzw. mehrere Mail-Konten im Internet zugreifen und sich dort schon sehr viele Mails mit Anhängen gesammelt haben, habe ich mir folgendes überlegt:
vg Jörg
PS: Outlook ist aber einer der Clients die am schlechtesten IMAP unterstützen. Auch Sieve wird meines Wissens nach nicht von Outlook unterstützt.
Wie werden denn die user verwaltet ? ldap?
Re: best. Anforderungen an Mailserver realisierbar?
also ich habe zum Einen eine lokale-Domäne im Netzwerk und eine bei all-inkl.com. Dort habe ich für die Domain mydomain verschiedene Email-Adressen eingerichtet, auf die aktuell direkt von den Windows-Clients per MS-Outlook und imap zugegriffen wird.
Allerdings möchte ich es dahingehend ändern, dass die Mails von mydomain heruntergeladen werden und auf dem Server gespeichert werden. Der Server soll die Mails dann per imap zur Verfügung stellen und diese noch auf Viren, Content und Spam überprüfen.
Hatte an sowas wie postfix mit AMaVis, ClamAV, SpamAssassin und Courier für imap.
Die user-Accounts werden entweder virtuelle oder lokale Benutzerkonten ohne Loginmöglichkeit werden. Oder aber später mal mit einer MySQL-Datenbank, um die Benutzer zentral verwalten zu können.
Re: best. Anforderungen an Mailserver realisierbar?
Mir ist noch immer nicht klar, mit welchem Programm ich die Mails von mydomain im Internet abholen kann und diese dann über postfix & Co in meiner lokalen domain für die Benutzer bereitstellen kann.Duff hat geschrieben:Hi,
also ich habe zum Einen eine lokale-Domäne im Netzwerk und eine bei all-inkl.com. Dort habe ich für die Domain mydomain verschiedene Email-Adressen eingerichtet, auf die aktuell direkt von den Windows-Clients per MS-Outlook und imap zugegriffen wird.
Allerdings möchte ich es dahingehend ändern, dass die Mails von mydomain heruntergeladen werden und auf dem Server gespeichert werden. Der Server soll die Mails dann per imap zur Verfügung stellen und diese noch auf Viren, Content und Spam überprüfen.
Jemand einen Tipp für mich?
(Ich habe da irgendwie noch ein Verständnisproblem)
Re: best. Anforderungen an Mailserver realisierbar?
Was aber noch nicht funktioniert ist das Zusammenspiel zwischen postfix und amavis.
Im Logfiles (syslog) erhalte ich folgende Fehlermeldungen: http://nopaste.debianforum.de/21048
Ich versuche als user root per mutt eine Datei an mfirma mit folgendem Inhalt und Betreff zu versenden, der eigentlich von amavis ausgefiltert werden sollte.
eicar.com.txt
Ein manueller TEst von clamav funktioniert:X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Code: Alles auswählen
root@homer:~# clamscan -r -i /root
LibClamAV Warning: ***********************************************************
LibClamAV Warning: *** This version of the ClamAV engine is outdated. ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
/root/sent: Eicar-Test-Signature FOUND
/root/eicar.com.txt: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 545428
Engine version: 0.94.2
Scanned directories: 7
Scanned files: 37
Infected files: 2
Data scanned: 0.11 MB
Time: 1.429 sec (0 m 1 s)
Wenn noch mehr Informationen benötigt werden, einfach sagen.
Re: best. Anforderungen an Mailserver realisierbar?
fetchmail = "pickup" bei Postfix - also ein etwas anderer Weg der Zustellung...
Probiere daher mal dies hier (hinzufügen von -o content_filter....):
/etc/postfix/master.cf:
pickup fifo n - n 60 1 pickup
-o content_filter=smtp-amavis:[127.0.0.1]:10024
Alles, was dann über fetchmail reinkommt, sollte an amavisd weitergereicht werden.
Wenn das nicht klappen sollte, dann poste mal bitte diese Konfigurationsdateien:
/etc/postfix/master.cf
/etc/postfix/main.cf
/etc/amavis/conf.d/50-user
Daniel
Re: best. Anforderungen an Mailserver realisierbar?
also die Mails werden jetzt nach langem hin und her endlich abgeholt und ins Postfach des Users mfirma überstellt.
Code: Alles auswählen
mfirma@homer:~$ mail
Mail version 8.1.2 01/15/2001. Type ? for help.
"/var/mail/mfirma": 9 messages 2 new 8 unread
U 6 daniel@local.de Fri Apr 24 20:10 33/1640 daniel-laptop Fr 24. Apr 18:56:02 CEST 2009
7 daniel@local.de Sat Apr 25 13:36 35/1659 Sa 25. Apr 13:40:10 CEST 2009 daniel@laptop
>N 8 daniel@local.de Sat Apr 25 13:42 32/1665 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
N 9 daniel@local.de Sat Apr 25 13:43 32/1602 VIRUS
HAbe die Mail so versendet:
Code: Alles auswählen
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' |mailx -s 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' firma@MYDOMAIN.de
Noch jemand eine Idee?
PS: Und die Konfigdateien:
1.) /etc/postfix/master.cf
Code: Alles auswählen
root@homer:~# cat /etc/postfix/master.cf|grep -v "^#"|sed -e '/^$/d'
smtp inet n - - - - smtpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
-o smtp_fallback_relay=
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - 2 smtpd -o content_filter=
Code: Alles auswählen
root@homer:~# cat /etc/postfix/main.cf|grep -v "^#"|sed -e '/^$/d'
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = homer.MYDOMAIN.local
mydomain = MYDOMAIN.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = homer.linux.local, homer.MYDOMAIN.local, localhost.MYDOMAIN.local, localhost
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = error
relay_transport = error
content_filter=smtp-amavis:[127.0.0.1]:10024
Code: Alles auswählen
root@homer:~# cat /etc/amavis/conf.d/50-user |grep -v "^#"|sed -e '/^$/d'
use strict;
1; # ensure a defined return
Code: Alles auswählen
root@homer:/etc/amavis/conf.d# cat /usr/share/amavis/conf.d/20-package|grep -v "^#"|sed -e '/^$/d'
use strict;
@bypass_virus_checks_maps = (1); # DISABLE anti-virus code by default
@bypass_spam_checks_maps = (1); # DISABLE anti-spam code by default
1; # insure a defined return
Re: best. Anforderungen an Mailserver realisierbar?
Nochmal amavis und postfix neustarten und nun scheint es erstmals zu funktionieren.
Werde mich dann mal dem nächsten Thema, SPAM-Erkennung mit SpamAssassin widmen....
Re: best. Anforderungen an Mailserver realisierbar?
bei der Einrichtung von amaiv und spamassassin habe ich noch folgendes Problem.
Ich möchte, dass SPAM-Mails zum jeweiligen Benutzer überstellt werden, jedoch im HEADER der Zusatz *****SPAM****** hinzugefügt wird.
Allerdings funktioniert dies bei mir noch nicht.
Ausgabe im syslog: http://nopaste.debianforum.de/21075
Versende ich SPAM-Mail so:
Code: Alles auswählen
daniel@daniel-laptop:~/server/MAIL$ cat spam.txt |mailx -s "SPAM-Test" firma@MYDOMAIN.de
daniel@daniel-laptop:~/server/MAIL$ cat spam.txt
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Code: Alles auswählen
root@homer:/etc/amavis/conf.d# grep -i spam 20-debian_defaults
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.31; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent
# is working correctly. Bouncing real SPAM is also useless, if you cannot
#$final_spam_destiny = D_BOUNCE;
#$final_spam_destiny = D_DISCARD;
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
# SPAM. This holds true even inside one's domain. We disable them all by
'spamassassin.apache.org'
Jemand eine Idee?
Re: best. Anforderungen an Mailserver realisierbar?
Was klappt denn nicht?Duff hat geschrieben:Hallo,
bei der Einrichtung von amaiv und spamassassin habe ich noch folgendes Problem.
Ich möchte, dass SPAM-Mails zum jeweiligen Benutzer überstellt werden, jedoch im HEADER der Zusatz *****SPAM****** hinzugefügt wird.
Allerdings funktioniert dies bei mir noch nicht.
Wenn die E-Mails an den Benutzer zugestellt werden sollen, dann musst du die Option D_PASS verwenden. Mit D_DISCARD werden die die E-Mails in das Quarantäne-Verzeichnis verschoben und nicht zugestellt.
D_PASS ist daher schon richtig, wenn die E-Mails zugestellt werden sollen... Der Wert von "1005.123" aus deinem Logfile erscheint mir jedoch sehr hoch... Der Betreff der E-Mail wird auch erst dann geändert, wenn der Schwellwert einer E-Mail den Wert von "$sa_tag2_level_deflt" überschreitet.
Ich würde dir auch empfehlen, sämtliche Einstellungen in 50-user vorzunehmen - es wird dadurch meiner Meinung nach etwas einfacher, amavisd-new zu konfigurieren...
Re: best. Anforderungen an Mailserver realisierbar?
Habe den Wert $sa_tag2_level_deflt mal testhalber auf -999 gestellt. Trotzdem wurde die Mail beim Benutzer im Header nicht gesondernt mit ****SPAM**** gekennzeichnet.
Eventuell noch eine Idee?
Re: best. Anforderungen an Mailserver realisierbar?
Hast du die Domain(s) auch in @local_domains_maps angegeben? Wenn nicht, dann kannst du dies in 50-user mit
Code: Alles auswählen
@local_domains_maps = ([ qw( example.com example.de ) ]);
Die anderen Einstellungen
Code: Alles auswählen
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = '***SPAM*** ';
Re: best. Anforderungen an Mailserver realisierbar?
Re: best. Anforderungen an Mailserver realisierbar?
Die Mail (SPAM) wird aber immer noch durchgereicht.
Auszug aus mutt:
Code: Alles auswählen
From: daniel <daniel@local.de>
To: firma@MYDOMAIN.de
Subject: *** TEST ***
X-KasLoop: m017a2d0
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Code: Alles auswählen
Apr 28 19:51:17 homer amavis[30973]: (30973-01) local delivery: <daniel@local.de> -> <spam-quarantine>, mbx=/var/lib/amavis/virusmails/Y/spam-Yvf0vEXNVMV7.gz
Apr 28 19:51:17 homer postfix/smtpd[31043]: connect from localhost.localdomain[127.0.0.1]
Apr 28 19:51:17 homer postfix/smtpd[31043]: D547272: client=localhost.localdomain[127.0.0.1]
Apr 28 19:51:17 homer postfix/cleanup[31038]: D547272: message-id=<20090428175123.E48E7186CECF5@dd16112.kasserver.com>
Apr 28 19:51:17 homer postfix/qmgr[25050]: D547272: from=<daniel@local.de>, size=1524, nrcpt=1 (queue active)
Apr 28 19:51:17 homer amavis[30973]: (30973-01) FWD via SMTP: <daniel@local.de> -> <mfirma@localhost.MYDOMAIN.local>,BODY=7BIT 250 2.0.0 Ok, id=30973-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as D547272
Apr 28 19:51:17 homer amavis[30973]: (30973-01) Passed SPAM, LOCAL [127.0.0.1] [80.137.74.16] <daniel@local.de> -> <mfirma@localhost.MYDOMAIN.local>, quarantine: Y/spam-Yvf0vEXNVMV7.gz, Message-ID: <20090428175123.E48E7186CECF5@dd16112.kasserver.com>, mail_id: Yvf0vEXNVMV7, Hits: 1004.131, size: 1027, queued_as: D547272, 2461 ms
Apr 28 19:51:17 homer postfix/smtp[31039]: 5CF6A6C: to=<mfirma@localhost.MYDOMAIN.local>, orig_to=<mfirma@localhost>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.5, delays=0.05/0/0.01/2.5, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=30973-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as D547272)
Apr 28 19:51:17 homer postfix/qmgr[25050]: 5CF6A6C: removed
Apr 28 19:51:17 homer postfix/local[31044]: D547272: to=<mfirma@localhost.MYDOMAIN.local>, relay=local, delay=0.03, delays=0.01/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Apr 28 19:51:17 homer postfix/qmgr[25050]: D547272: removed
Code: Alles auswählen
root@homer:/etc/amavis/conf.d# cat 50-user
use strict;
#
# Place your configuration directives here. They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#
$max_servers = 5;
$X_HEADER_TAG = 'X-Virus-Scanned';
$log_level = 1;
@local_domains_maps = ([ qw( MYDOMAIN.local linux.local local ) ]);
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = '***SPAM*** ';
#$warnbadhrecip = 1;
#$warnbannedrecip = 1;
#$warnvirusrecip = 1;
#------------ Do not modify anything below this line -------------
1; # ensure a defined return
Re: best. Anforderungen an Mailserver realisierbar?
OK, Mails werden zugestellt, wennDuff hat geschrieben:Die Mail (SPAM) wird aber immer noch durchgereicht.
- der Schwellwert kleiner ist als $sa_kill_level_deflt
- $final_spam_destiny auf "D_PASS" gesetzt ist
- wenn der Empfänger in @virus_lovers_maps / @spam_lovers_maps angegeben ist
Wenn du die Option D_DISCARD für $final_virus_destiny und/oder $final_spam_destiny verwendest, dann wird die E-Mail in Quarantäne verschoeben und der eigentliche Empfänger bekommt davon erstmal nichts mit. Dieses Verhalten könnte man ggf, pro Domain oder Benutzer konfigurieren, was ich aber aufgrund des höheren Aufwands nicht machen würde...
Warum wird hier "umgeschrieben"? Das sollte nicht sein...Duff hat geschrieben:Auszug vom LogfileCode: Alles auswählen
Apr 28 19:51:17 homer amavis[30973]: (30973-01) local delivery: <daniel@local.de> -> <spam-quarantine>, mbx=/var/lib/amavis/virusmails/Y/spam-Yvf0vEXNVMV7.gz Apr 28 19:51:17 homer postfix/smtpd[31043]: connect from localhost.localdomain[127.0.0.1] Apr 28 19:51:17 homer postfix/smtpd[31043]: D547272: client=localhost.localdomain[127.0.0.1] Apr 28 19:51:17 homer postfix/cleanup[31038]: D547272: message-id=<20090428175123.E48E7186CECF5@dd16112.kasserver.com> Apr 28 19:51:17 homer postfix/qmgr[25050]: D547272: from=<daniel@local.de>, size=1524, nrcpt=1 (queue active) Apr 28 19:51:17 homer amavis[30973]: (30973-01) FWD via SMTP: <daniel@local.de> -> <mfirma@localhost.MYDOMAIN.local>,BODY=7BIT 250 2.0.0 Ok, id=30973-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as D547272 Apr 28 19:51:17 homer amavis[30973]: (30973-01) Passed SPAM, LOCAL [127.0.0.1] [80.137.74.16] <daniel@local.de> -> <mfirma@localhost.MYDOMAIN.local>, quarantine: Y/spam-Yvf0vEXNVMV7.gz, Message-ID: <20090428175123.E48E7186CECF5@dd16112.kasserver.com>, mail_id: Yvf0vEXNVMV7, Hits: 1004.131, size: 1027, queued_as: D547272, 2461 ms Apr 28 19:51:17 homer postfix/smtp[31039]: 5CF6A6C: to=<mfirma@localhost.MYDOMAIN.local>, orig_to=<mfirma@localhost>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.5, delays=0.05/0/0.01/2.5, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=30973-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as D547272) Apr 28 19:51:17 homer postfix/qmgr[25050]: 5CF6A6C: removed
Ja, sollte nicht sein...Duff hat geschrieben:Was mich im Logfiles noch ein wenig wundert ist die Empfänger-Adresse mfirma@localhost.MYDOMAIN.local. Dies müsste eigentlich mfirma@MYDOMAIN.local heißen. Woher kommt dieses localhost?
Poste nochmals deine aktuelle master.cf von Postfix - es sieht danach aus, ob hier hier noch ein paar Optionen fehlen. Stichwort: local_header_rewrite_clients
P.S.: amavisd-new kann auch nur den Betreff der Spam-Mail nach "*** SPAM ***" oder ähnliches umschreiben - ein Eintrag in den Header wird nicht gemacht. Wenn du nach Header- Informationen filtern möchtest (mit Procmail, Sieve etc.), dann solltest du besser nach "X-Spam-Flag" filtern.
Gut, über die "custom hooks" von amavisd kann man dies sicherlich auch erledigen, aber as ist zusätzlicher Aufwand.
Mich wundert auch der Log-Eintrag "Passed SPAM, LOCAL [127.0.0.1] [80.137.74.16]" - ob das auch mit (fehlenden) Einträgen in der master.cf zusammenhängt? Seltsam...
Re: best. Anforderungen an Mailserver realisierbar?
Meine 50-user Konfiguration von amavis (verliere bei den ganzen Konfigurationsdateien von amavis mittlerweile den Überblick):
Code: Alles auswählen
$max_servers = 5;
$X_HEADER_TAG = 'X-Virus-Scanned';
$log_level = 1;
@local_domains_maps = ([ qw( MYDOMAIN.local localhost.MYDOMAIN.local ) ]);
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = '***SPAM*** ';
1;
Und beim Benutzer mfirma im Postfach:
Code: Alles auswählen
mfirma@homer:~$ mail
Mail version 8.1.2 01/15/2001. Type ? for help.
"/var/mail/mfirma": 2 messages 1 new 2 unread
U 1 daniel@local.de Wed Apr 29 11:17 43/2047 ***SPAM*** Mi 29. Apr 11:21:18 CEST 2009
>N 2 daniel@local.de Wed Apr 29 11:43 40/2009 ***SPAM*** Mi 29. Apr 11:47:25 CEST 2009
Und noch die Antworten auf deine Fragen:
Ok, aber die Empfänger habe ich nicht in @virus_lovers_maps / @spam_lovers_maps eingetragen. Diesen Parameter gibt es bei mir nicht.daniel74 hat geschrieben: OK, Mails werden zugestellt, wenn
- der Schwellwert kleiner ist als $sa_kill_level_deflt
- $final_spam_destiny auf "D_PASS" gesetzt ist
- wenn der Empfänger in @virus_lovers_maps / @spam_lovers_maps angegeben ist
Diesen eventuell noch setzen?
Den Parameter local_header_rewrite_clients kann ich bei mir nicht finden.daniel74 hat geschrieben:Ja, sollte nicht sein...Duff hat geschrieben:Was mich im Logfiles noch ein wenig wundert ist die Empfänger-Adresse mfirma@localhost.MYDOMAIN.local. Dies müsste eigentlich mfirma@MYDOMAIN.local heißen. Woher kommt dieses localhost?
Poste nochmals deine aktuelle master.cf von Postfix - es sieht danach aus, ob hier hier noch ein paar Optionen fehlen. Stichwort: local_header_rewrite_clients
Die DAtei master.cf
Code: Alles auswählen
root@homer:/etc/postfix# grep -v "^#" master.cf |sed -e '/^$/d'
smtp inet n - - - - smtpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
-o smtp_fallback_relay=
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - 2 smtpd -o content_filter=
Code: Alles auswählen
root@homer:/etc/postfix# grep -v "^#" main.cf |sed -e '/^$/d'
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
readme_directory = no
myhostname = homer.MYDOMAIN.local
mydomain = MYDOMAIN.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = homer.linux.local, homer.MYDOMAIN.local, localhost.MYDOMAIN.local, localhost
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = error
relay_transport = error
content_filter=smtp-amavis:[127.0.0.1]:10024
Sorry, meinte hier auch nicht den Header, sondern den Betreff! Dies reicht mir vollkommen.daniel74 hat geschrieben: P.S.: amavisd-new kann auch nur den Betreff der Spam-Mail nach "*** SPAM ***" oder ähnliches umschreiben - ein Eintrag in den Header wird nicht gemacht. Wenn du nach Header- Informationen filtern möchtest (mit Procmail, Sieve etc.), dann solltest du besser nach "X-Spam-Flag" filtern.
Gut, über die "custom hooks" von amavisd kann man dies sicherlich auch erledigen, aber as ist zusätzlicher Aufwand.
Ok, verstehe ich auch nicht ganz...daniel74 hat geschrieben: Mich wundert auch der Log-Eintrag "Passed SPAM, LOCAL [127.0.0.1] [80.137.74.16]" - ob das auch mit (fehlenden) Einträgen in der master.cf zusammenhängt? Seltsam...
[edit]
Vielleicht noch 2 weitere Angaben zu Parametern:
Code: Alles auswählen
mfirma@homer:~$ cat /etc/mailname
homer.MYDOMAIN.local
mfirma@homer:~$ hostname -f
homer.MYDOMAIN.local
Wird eventuell noch die Datei /etc/hosts benötigt?
Der Rechner hat 2 Netzwerkkarten. Eine ist mit dem Router und die andere mit dem LAN verbunden (quasie eine Art Gateway).
Den Eintrag mit dem mail habe ich mal beim TEsten hinzugefügt, kann aber eigentlich wieder entfernt werden.
Code: Alles auswählen
mfirma@homer:~$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.2.98 marge.MYDOMAIN.local marge
192.168.1.99 homer.MYDOMAIN.local homer
192.168.1.99 mail.MYDOMAIN.local mail
Re: best. Anforderungen an Mailserver realisierbar?
Sieht eigentlich ganz gut aus (bis auf die Tatsache, dass der Empfänger umgeschrieben wird). Was ich jetzt aber eben erst sehe ist, dass hier noch fetchmail mit im Spiel ist. Ich vermute daher, dass auch ein falsch gesetzter Alias oder deine Fetchmail-Optionen beim Abholen von E-Mails für dieses Verhalten verantwortlich sein könnten. Hast du bei Fetchmail den Empfänger FQDN angegeben, also benutzer@example.com oder verwendest du nur den Benutzernamen? Wenn du nur den Benutzernamen verwendest, dann hängt Postfix gerne den Hostnamen und/oder Domainnamen an. Probiere in dem Fall mal den FQDN...Duff hat geschrieben:Und nochmals ein Auszug aus dem Logfile (erfolgreicher) http://nopaste.debianforum.de/21111
Und beim Benutzer mfirma im Postfach:Code: Alles auswählen
mfirma@homer:~$ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/mfirma": 2 messages 1 new 2 unread U 1 daniel@local.de Wed Apr 29 11:17 43/2047 ***SPAM*** Mi 29. Apr 11:21:18 CEST 2009 >N 2 daniel@local.de Wed Apr 29 11:43 40/2009 ***SPAM*** Mi 29. Apr 11:47:25 CEST 2009
Hast du noch Aliase für Benutzer in der Datei /etc/aliases angegeben?
Ändere die oberen Optionen mal dahingehend ab:Duff hat geschrieben:Den Parameter local_header_rewrite_clients kann ich bei mir nicht finden.
Die DAtei master.cfCode: Alles auswählen
127.0.0.1:10025 inet n - n - 2 smtpd -o content_filter=
Code: Alles auswählen
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_restriction_classes=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
-o local_header_rewrite_clients=
-o smtpd_milters=
-o local_recipient_maps=
-o relay_recipient_maps=
Hmm - die lokalen Hostnamen sollten auflösbar sein... Die Hostnamen kannst du mal so in der /etc/hosts beibehalten (schadet zumindest nicht).Duff hat geschrieben:Wird eventuell noch die Datei /etc/hosts benötigt?
Nicht erforderlich, wenn du als $final_spam_destiny "D_PASS" gesetzt hast. $final_spam_destiny gilt global für alle Benutzer. Die E-Mails werden dann in jedem Fall zugestellt.Duff hat geschrieben:Ok, aber die Empfänger habe ich nicht in @virus_lovers_maps / @spam_lovers_maps eingetragen. Diesen Parameter gibt es bei mir nicht.
Diesen eventuell noch setzen?
Ein wenig "spartanisch" aber ausreichendDuff hat geschrieben:Meine 50-user Konfiguration von amavis (verliere bei den ganzen Konfigurationsdateien von amavis mittlerweile den Überblick)
Am besten ist es, alle benutzerspezifischen Einstellungen in 50-user anzugeben, da diese Einstellungen dann alle anderen zuvor definierten Einstellungen überschreiben (können). Auch finde ich es persönlich besser, nur eine Datei ändern zu müssen, als auch noch alle anderen Dateien durchsehen zu müssen.
Re: best. Anforderungen an Mailserver realisierbar?
Wenn ich in der Datei /etc/fetchmailrc hinter dem Benutzernamen noch ein MYDOMAIN.local anhänge, kann die Mail nicht zugestellt werden.daniel74 hat geschrieben: Sieht eigentlich ganz gut aus (bis auf die Tatsache, dass der Empfänger umgeschrieben wird). Was ich jetzt aber eben erst sehe ist, dass hier noch fetchmail mit im Spiel ist. Ich vermute daher, dass auch ein falsch gesetzter Alias oder deine Fetchmail-Optionen beim Abholen von E-Mails für dieses Verhalten verantwortlich sein könnten. Hast du bei Fetchmail den Empfänger FQDN angegeben, also benutzer@example.com oder verwendest du nur den Benutzernamen? Wenn du nur den Benutzernamen verwendest, dann hängt Postfix gerne den Hostnamen und/oder Domainnamen an. Probiere in dem Fall mal den FQDN...
Hast du noch Aliase für Benutzer in der Datei /etc/aliases angegeben?
Code: Alles auswählen
Apr 29 13:57:07 homer fetchmail[19648]: Nachricht m017a2d0@dd16112.kasserver.com:1 von 1 wird gelesen (691 Bytes) (Log-Meldung unvo
llständig)
Apr 29 13:57:07 homer fetchmail[19648]: SMTP-Fehler: 550 5.1.1 <mfirma.MYDOMAIN.local@localhost>: Recipient address rejected: User
unknown in local recipient table
Apr 29 13:57:07 homer postfix/smtpd[32570]: connect from localhost.localdomain[127.0.0.1]
Code: Alles auswählen
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: daniel
clamav: root
Meinst du dies so, dass ich alle Parameter aus dem Verzeichnis /etc/amavis/conf.d in die Datei 50-user eintrage?daniel74 hat geschrieben:Ein wenig "spartanisch" aber ausreichendDuff hat geschrieben:Meine 50-user Konfiguration von amavis (verliere bei den ganzen Konfigurationsdateien von amavis mittlerweile den Überblick)
Am besten ist es, alle benutzerspezifischen Einstellungen in 50-user anzugeben, da diese Einstellungen dann alle anderen zuvor definierten Einstellungen überschreiben (können). Auch finde ich es persönlich besser, nur eine Datei ändern zu müssen, als auch noch alle anderen Dateien durchsehen zu müssen.
Code: Alles auswählen
root@homer:/etc/amavis/conf.d# ll
insgesamt 35
-rw-r--r-- 1 root root 1640 26. Jul 2008 01-debian
-rw-r--r-- 1 root root 692 26. Jul 2008 05-domain_id
-rw-r--r-- 1 root root 432 24. Apr 19:17 05-node_id
-rw-r--r-- 1 root root 13907 26. Jul 2008 15-av_scanners
-rw-r--r-- 1 root root 554 26. Jul 2008 15-content_filter_mode
-rw-r--r-- 1 root root 9413 28. Apr 20:01 20-debian_defaults
-rw-r--r-- 1 root root 573 26. Jul 2008 25-amavis_helpers
-rw-r--r-- 1 root root 2130 26. Jul 2008 30-template_localization
-rw-r--r-- 1 root root 597 28. Apr 20:11 50-user
Code: Alles auswählen
root@homer:/etc/amavis/conf.d# ll /usr/share/amavis/conf.d/
insgesamt 8
-rw-r--r-- 1 root root 855 26. Jul 2008 10-debian_scripts
-rw-r--r-- 1 root root 648 26. Apr 10:46 20-package
Muss bei fetchmail noch auf tls umschalten.
Meine bisherige /etc/fetchmailrc-Datei:
Code: Alles auswählen
root@homer:/etc# grep -v "^#" fetchmailrc|sed -e '/^$/d'
set daemon 60 # Pool every minute
set syslog # log through syslog facility
set postmaster root
set no bouncemail # avoid loss on 4xx errors
defaults:
timeout 300
antispam -1
batchlimit 100
poll dd23405.kasserver.com protocol POP3 user "mfirma" there with password "MYPLAINPASSWORD" is mfirma here
Re: best. Anforderungen an Mailserver realisierbar?
Deine Alias-Datei sieht ansonsten gut aus... Wenn du beim Aufruf von Fetchmail die Domain verwendest (also MYDOMAIN.local anhängst), dann muss dies anstelle von "localhost" verwendet werden, also beispielsweise mfirma@mydomain.local).
Die Optionen, die du in anderen Dateien geändert hast (beispielsweise in 20-debian_defaults etc.) sind so Kandidaten für 50-user. Ich kann mal meine 50-user posten, wenn ich später Zugriff auf mein System habe. Generell kannst du aber die Änderungen in jeder Datei durchführen. Ich finde es persönlich übersichtlicher, alles in 50-user zu haben, vor allem, weil du dann nicht in verschiedenen Dateien suchen/ändern musst.
Nein, fetchmail ist schon OK.Duff hat geschrieben:Würdest du anstelle von fetchmail ein anderes Programm nutzen, um die Mails beim Provider abzuholen?
Re: best. Anforderungen an Mailserver realisierbar?
Ja, ich habe die ganze Reihe von -o Optionen angehangen.daniel74 hat geschrieben:Hast du auch schon die master.cf geändert und nochmals getestet?.
Du meinst die letzte Zeile in /etc/fetchmailrc so abändern?daniel74 hat geschrieben: Deine Alias-Datei sieht ansonsten gut aus... Wenn du beim Aufruf von Fetchmail die Domain verwendest (also MYDOMAIN.local anhängst), dann muss dies anstelle von "localhost" verwendet werden, also beispielsweise mfirma@mydomain.local).
Code: Alles auswählen
poll dd23405.kasserver.com protocol POP3 user "mfirma" there with password "MYPLAINPASSWORD" is mfirma@MYDOMAIN.local here
Code: Alles auswählen
Apr 29 13:57:07 homer fetchmail[19648]: Nachricht m017a2d0@dd16112.kasserver.com:1 von 1 wird gelesen (691 Bytes) (Log-Meldung unvo
llständig)
Apr 29 13:57:07 homer fetchmail[19648]: SMTP-Fehler: 550 5.1.1 <mfirma.MYDOMAIN.local@localhost>: Recipient address rejected: User
unknown in local recipient table
Apr 29 13:57:07 homer postfix/smtpd[32570]: connect from localhost.localdomain[127.0.0.1]
Wäre super, wenn du mir mal deine Datei als Beispiel posten könntest.daniel74 hat geschrieben: Die Optionen, die du in anderen Dateien geändert hast (beispielsweise in 20-debian_defaults etc.) sind so Kandidaten für 50-user. Ich kann mal meine 50-user posten, wenn ich später Zugriff auf mein System habe. Generell kannst du aber die Änderungen in jeder Datei durchführen. Ich finde es persönlich übersichtlicher, alles in 50-user zu haben, vor allem, weil du dann nicht in verschiedenen Dateien suchen/ändern musst.
Wie hast du deinen Mail-Server denn aufgesetzt? Welches Szenario (wie z.B. Mails mit fetchmail abholen, mit postfix & co überprüfen und mit courier per imap bereitstellen, etc.)?
Hast du auch fetchmail im Einsatz?daniel74 hat geschrieben:Nein, fetchmail ist schon OK.Duff hat geschrieben:Würdest du anstelle von fetchmail ein anderes Programm nutzen, um die Mails beim Provider abzuholen?
Müsste es noch für TLS konfigurieren.
Re: best. Anforderungen an Mailserver realisierbar?
Code: Alles auswählen
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
default_transport = error
inet_interfaces = loopback-only
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = homer.linux.local, homer.MYDOMAIN.local, localhost.MYDOMAIN.local, localhost
mydomain = MYDOMAIN.local
myhostname = homer.MYDOMAIN.local
mynetworks = 127.0.0.0/8, 192.168.1.0/24
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relay_transport = error
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
Re: best. Anforderungen an Mailserver realisierbar?
Warum Transport "error"?Duff hat geschrieben:Vielleicht auch noch interessant, die Ausgabe von postconf -n.
Code: Alles auswählen
default_transport = error inet_interfaces = loopback-only mydestination = homer.linux.local, homer.MYDOMAIN.local, localhost.MYDOMAIN.local, localhost mydomain = MYDOMAIN.local myhostname = homer.MYDOMAIN.local mynetworks = 127.0.0.0/8, 192.168.1.0/24 relay_transport = error smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
Kommentiere mal diese Zeilen aus:
# default_transport = error
# relay_transport = error
Beide Optionen müssen nicht gesetzt werden.
Dann setze auch mal (sollte ausreichen):
mydestination = $myhostname, localhost.$mydomain $mydomain, localhost
Deine Benutzer befinden sich in der Datei /etc/passwd? Also normale Systembenutzer?
Und: prüfe bitte nochmal deine master.cf. Insbesondere den Eintrag
Code: Alles auswählen
smtp inet n - - - - smtpd
Code: Alles auswählen
smtp inet n - n - - smtpd
Code: Alles auswählen
local_recipient_maps =
Fetchmail verwende ich nicht - ist ein Rootserver, der nur für den Mailversand und -empfang zuständig ist (SMTP/IMAP mit amavisd-new/spamassassin, virtuelle Benutzer/Domains).Duff hat geschrieben:Wäre super, wenn du mir mal deine Datei als Beispiel posten könntest.
Wie hast du deinen Mail-Server denn aufgesetzt? Welches Szenario (wie z.B. Mails mit fetchmail abholen, mit postfix & co überprüfen und mit courier per imap bereitstellen, etc.)?
In deinem Setup sollte Postfix sich die Benutzer aus /etc/passwd holen um zu wissen, ob der Benutzer lokal existiert. Wenn ja, nimmt Postfix die E-Mail von fetchmail erstmal an und schickt sie an amavisd-new, wo sie auf Spam/Viren untersucht wird. Zuvor spielt aber auch noch cleanup", "qmgr" usw. eine Rolle. Hier werden dann auch Adress-Umschreibungen durchgeführt.
Meine 50-user sieht in etwa so aus, wobei einige Einstellungen für dein Setup nicht benötigt werden. Ich habe jedoch alle Änderungen ausschließlich in dieser Datei vorgenommen. Die anderen "Standardwerte" von Debian sind soweit OK. ich habe jedoch nur die Spam-Checks aktiviert, da auf meinem Server keine Virus-Prüfung durchgeführt wird. Den Eintrag $interface_policy benötige ich für die DKIM-Signierung (als exemplarisches Beispiel....).
Code: Alles auswählen
use strict;
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
$inet_socket_port = [10024,10026];
$forward_method = 'smtp:[127.0.0.1]:10025';
$notify_method = 'smtp:[127.0.0.1]:10027';
$smtp_connection_cache_enable = 0;
$interface_policy{'10026'} = 'ORIGINATING';
$policy_bank{'ORIGINATING'} = {
originating => 1,
smtpd_discard_ehlo_keywords => ['8BITMIME'],
forward_method => 'smtp:[127.0.0.1]:10027',
mynetworks_maps => [],
bypass_header_checks_maps => [1],
bypass_virus_checks_maps => [1],
bypass_spam_checks_maps => [1],
bypass_banned_checks_maps => [1],
};
$MYHOME = '/var/lib/amavis';
$mydomain = 'example.net';
$myhostname = 'tux.example.net';
$daemon_user = 'amavis';
$daemon_group = 'amavis';
@local_domains_maps = ( [ ".$mydomain", 'example.de', 'example.com', 'example.org' ] );
$sa_tag_level_deflt = 2.0;
$sa_tag2_level_deflt = 5.0;
$sa_kill_level_deflt = 11.0;
$sa_dsn_cutoff_level = 20.0;
$sa_quarantine_cutoff_level = 30.0;
$sa_spam_subject_tag = undef;
$sa_spam_modifies_subj = 0;
$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_DISCARD;
$final_spam_destiny = D_DISCARD;
$final_bad_header_destiny = D_PASS;
#------------ Do not modify anything below this line -------------
1; # ensure a defined return
Nein.Duff hat geschrieben:Hast du auch fetchmail im Einsatz?
Bin gespannt, ob's klappt
Bald habe ich keine Ideen mehr...