amavisd.conf oder Mailserver nicht optimal gesichert?
Kürzlich erreichte mich u.a Mail vom lokalen Mailserver. Warum "Relay access
denied" kommt, ist mir klar, Das hängt mit meiner restrikten
Postfix-Konfiguration zusammen, aber ich verstehe nicht, wodurch da überhaupt
vom System versucht werden konnte, ein Mail zu versenden. Vielleicht liegt es
an /etc/amavisd.conf
Postfix SMTP server: errors from localhost[127.0.0.1]
Von: Mail Delivery System
Al Bogner wrote:
Kürzlich erreichte mich u.a Mail vom lokalen Mailserver. Warum "Relay access denied" kommt, ist mir klar, Das hängt mit meiner restrikten Postfix-Konfiguration zusammen, aber ich verstehe nicht, wodurch da überhaupt vom System versucht werden konnte, ein Mail zu versenden. Vielleicht liegt es an /etc/amavisd.conf
Postfix SMTP server: errors from localhost[127.0.0.1] Von: Mail Delivery System
An: Postmaster Transcript of session follows.
Out: 220 gw.local.site ESMTP Postfix In: EHLO localhost Out: 250-gw.local.site Out: 250-PIPELINING Out: 250-SIZE 40000000 Out: 250-VRFY Out: 250-ETRN Out: 250 8BITMIME In: MAIL FROM:<> Out: 250 Ok In: RCPT TO:
Out: 554 : Relay access denied In: QUIT Out: 221 Bye grep -r "jhw@news.com" /var/
/var/log/mail:May 2 18:40:27 gw postfix/qmgr[7649]: 94A68E0028A: from=
, size=36724, nrcpt=1 (queue active) /var/log/mail:May 2 18:40:56 gw postfix/smtpd[24141]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554
: Relay access denied; from=<> to= proto=ESMTP helo=<localhost>
Postfix ist nicht ganz sauber konfiguriert. Amavis versucht, eine Mail an Postfix zu schicken, aber Postfix nimmt von Amavis die Mail nicht an, da nicht authentifiziert und offensichtlich die IP von localhost nicht in mynetworks ist. Entweder definiere in main.cf: mynetworks = 192.168.1.0/24, 127.0.0.0/8 (oder wie immer deine vertrauenswürdigen IPs aussehen) und smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination .... Oder definiere in master.cf die entsprechenden Optionen für die Listener, in diesem Fall den Listener 127.0.0.1:10025 localhost:10025 inet n - n - 2 smtpd -o content_filter= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 Eine der beiden Konfigurationen brauchst du. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Am Mittwoch, 3. Mai 2006 20:18 schrieb Sandy Drobic: Hallo Sandy,
Out: 220 gw.local.site ESMTP Postfix In: EHLO localhost Out: 250-gw.local.site Out: 250-PIPELINING Out: 250-SIZE 40000000 Out: 250-VRFY Out: 250-ETRN Out: 250 8BITMIME In: MAIL FROM:<> Out: 250 Ok In: RCPT TO:
Out: 554 : Relay access denied In: QUIT Out: 221 Bye grep -r "jhw@news.com" /var/
/var/log/mail:May 2 18:40:27 gw postfix/qmgr[7649]: 94A68E0028A: from=
, size=36724, nrcpt=1 (queue active) /var/log/mail:May 2 18:40:56 gw postfix/smtpd[24141]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554
: Relay access denied; from=<> to= proto=ESMTP helo=<localhost> Postfix ist nicht ganz sauber konfiguriert. Amavis versucht, eine Mail an Postfix zu schicken, aber Postfix nimmt von Amavis die Mail nicht an, da nicht authentifiziert und offensichtlich die IP von localhost nicht in mynetworks ist.
Wenn ich mir selber eine exe-Datei als Attachment via Mailserver des ISP sende, dann verschiebt das amavisd kommentarlos in /var/spool/amavis/virusmails/. Bei dem ursprünglich geposteten Mail könnte etwas vorhanden sein, sodass es zu der erwähnten Situation kommt. relay_domains sind unbedingt erwünscht um Mailservermißbrauch auszuschließen. Zum Versenden von "User-Mails" wird der lokale Mailserver nicht eingesetzt, sondern nur für Systemmails. "User-Mails" laufen über den Mailserver des ISP oder über den Mailserver des Webspace-Hosters. postconf -n alias_maps = hash:/etc/aliases biff = no canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp:[127.0.0.1]:10024 daemon_directory = /usr/lib/postfix debug_peer_level = 2 defer_transports = disable_dns_lookups = yes disable_mime_output_conversion = no error_notice_recipient = ab@gw.local.site html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = 127.0.0.1 ::1 192.168.1.99 inet_protocols = all mail_owner = postfix mail_spool_directory = /var/mail mailbox_command = mailbox_size_limit = 0 mailbox_transport = mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_classes = envelope_sender, header_sender, header_recipient masquerade_domains = masquerade_exceptions = root message_size_limit = 4000000 mydestination = $myhostname, localhost.$mydomain myhostname = gw.local.site newaliases_path = /usr/bin/newaliases notify_classes = policy, resource, software queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES relay_domains = ... relayhost = relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sender_canonical_maps = hash:/etc/postfix/sender_canonical sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550
Entweder definiere in main.cf: mynetworks = 192.168.1.0/24, 127.0.0.0/8 (oder wie immer deine vertrauenswürdigen IPs aussehen) und smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination ....
Oder definiere in master.cf die entsprechenden Optionen für die Listener, in diesem Fall den Listener 127.0.0.1:10025
localhost:10025 inet n - n - 2 smtpd -o content_filter= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8
/etc/postfix/master.cf smtp inet n - n - - smtpd pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp relay unix - - n - - smtp -o fallback_relay= showq unix n - n - - showq error unix - - n - - error discard unix - - n - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil localhost:10025 inet n - n - - smtpd -o content_filter= scache unix - - n - 1 scache maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} cyrus unix - n n - - pipe user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} 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=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient procmail unix - n n - - pipe flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
Eine der beiden Konfigurationen brauchst du.
Ich bin noch unsicher, was in der nun näher erläuterten SItuation besser ist. Distri ist Suse 10.0 Al
Al Bogner wrote:
Am Mittwoch, 3. Mai 2006 20:18 schrieb Sandy Drobic:
Hallo Sandy,
Out: 220 gw.local.site ESMTP Postfix In: EHLO localhost Out: 250-gw.local.site Out: 250-PIPELINING Out: 250-SIZE 40000000 Out: 250-VRFY Out: 250-ETRN Out: 250 8BITMIME In: MAIL FROM:<> Out: 250 Ok In: RCPT TO:
Out: 554 : Relay access denied In: QUIT Out: 221 Bye grep -r "jhw@news.com" /var/
/var/log/mail:May 2 18:40:27 gw postfix/qmgr[7649]: 94A68E0028A: from=
, size=36724, nrcpt=1 (queue active) /var/log/mail:May 2 18:40:56 gw postfix/smtpd[24141]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554
: Relay access denied; from=<> to= proto=ESMTP helo=<localhost> Postfix ist nicht ganz sauber konfiguriert. Amavis versucht, eine Mail an Postfix zu schicken, aber Postfix nimmt von Amavis die Mail nicht an, da nicht authentifiziert und offensichtlich die IP von localhost nicht in mynetworks ist. Wenn ich mir selber eine exe-Datei als Attachment via Mailserver des ISP sende, dann verschiebt das amavisd kommentarlos in /var/spool/amavis/virusmails/. Bei dem ursprünglich geposteten Mail könnte etwas vorhanden sein, sodass es zu der erwähnten Situation kommt.
Al, eine Sache nach der anderen! Das hat nichts mit den zuerst angesprochenen abgelehnten Mails zu tun. /etc/amavisd.conf: $banned_filename_re = new_RE( # qr'^UNDECIPHERABLE$', # is or contains any undecipherable components [...anderer Kram...] qr'.\.(vbs|pif|scr|bat|cmd|com)$'i, # banned extension - basic Wenn du .exe zulassen willst, dann bearbeite das.
relay_domains sind unbedingt erwünscht um Mailservermißbrauch auszuschließen. Zum Versenden von "User-Mails" wird der lokale Mailserver nicht eingesetzt, sondern nur für Systemmails. "User-Mails" laufen über den Mailserver des ISP oder über den Mailserver des Webspace-Hosters.
Schaue dir mal die Klassen von Domains an: http://www.postfix.org/ADDRESS_CLASS_README.html Relay-Domains sind Domains, die der Server zwar entgegennimmt, dann aber wieder weiterleitet, etwa zu einem internen Exchange-Server oder einem Kundenserver. Wenn der Server keine Mails entgegennehmen soll, dann sage ihm, dass er für keine Mails verantwortlich ist: mydestination = relay_domains = So ganz blicke ich aber noch nicht durch, was genau du erreichen willst.
postconf -n alias_maps = hash:/etc/aliases biff = no canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp:[127.0.0.1]:10024 daemon_directory = /usr/lib/postfix debug_peer_level = 2 defer_transports = disable_dns_lookups = yes disable_mime_output_conversion = no error_notice_recipient = ab@gw.local.site html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = 127.0.0.1 ::1 192.168.1.99 inet_protocols = all mail_owner = postfix mail_spool_directory = /var/mail mailbox_command = mailbox_size_limit = 0 mailbox_transport = mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_classes = envelope_sender, header_sender, header_recipient masquerade_domains = masquerade_exceptions = root message_size_limit = 4000000 mydestination = $myhostname, localhost.$mydomain myhostname = gw.local.site newaliases_path = /usr/bin/newaliases notify_classes = policy, resource, software queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES relay_domains = ...
Mache da einfach relay.example.com draus, wenn du nicht die echten Namen verwenden willst, aber benutze diese Bezeichnungen dann konsistent. (^-^)
relayhost =
Er sendet direkt, wenn nicht anders gesetzt in transport.
relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sender_canonical_maps = hash:/etc/postfix/sender_canonical sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = reject_unauth_destination
Hier hast du das Problem: dadurch werden nur Mails angenommen, die in relay_domains sind. Setze besser auch relay_recipients_maps, wenn du schon relay_domains setzt. Trotzdem habe ich nicht verstanden, warum du relay_domains gesetzt hast. Ändere das mal in : mynetworks = 127.0.0.1 smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination Damit kann nur eine lokale Anwendung (cron, apache etc.) eine Mail schicken.
smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport
Ist dort ein transport gesetzt für die Mails, die als relay angenommen wurden? Bist du dir wirklich sicher, dass du weisst, was du da konfigurierst? Beschreibe mal genau, was du erreichen willst, und was du NICHT haben möchtest. Irgendwie habe ich das Gefühl, das da etwas nicht ganz kosher ist... Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Am Donnerstag, 4. Mai 2006 18:43 schrieb Sandy Drobic: Hallo Sandy,
Bist du dir wirklich sicher, dass du weisst, was du da konfigurierst?
Nun gut, das Hauptziel wurde erreicht, wenn auch die Konfiguration nicht optimal ist. Ich gehe vorerst auf deine anderen Antworten nicht ein, sondern erkläre mal warum es geht. Hauptziel ist, dass Mails nicht selbständig, wie zB im erwähnten Fall, das "Intranet" verlassen bzw. nur an vordefinierte Domains Mails versandt werden können. Mit anderen Worten, es soll ein Mißbrauch des Mailservers durch die Konfiguration verhindert werden. Theoretisch würde es auch reichen, wenn der Mailserver nur für lokale Mails zuständig ist. Dieser Postfix-Mailserver soll also zB nur Mails an example1.tld und example2.tld senden, an alle _anderen_ Domains sollen _keine_ Mails versandt werden können. Ob es eine Möglichkeit gibt auch auf Email-Adressen-Ebene einzuschränken, habe ich nicht herausgefunden. Es wäre interessant zu wissen, ob man example1.tld, example2.tld, user_a@example3.tld erlauben kann, ein Versand eines Mails an user_b@example3.tld aber abgelehnt wird.
Beschreibe mal genau, was du erreichen willst, und was du NICHT haben möchtest. Irgendwie habe ich das Gefühl, das da etwas nicht ganz kosher ist...
Schön, dass du dir darüber Gedanken machst. Al
Al Bogner wrote:
Am Donnerstag, 4. Mai 2006 18:43 schrieb Sandy Drobic:
Hallo Sandy,
Bist du dir wirklich sicher, dass du weisst, was du da konfigurierst?
Nun gut, das Hauptziel wurde erreicht, wenn auch die Konfiguration nicht optimal ist.
Ich gehe vorerst auf deine anderen Antworten nicht ein, sondern erkläre mal warum es geht.
Okay.
Hauptziel ist, dass Mails nicht selbständig, wie zB im erwähnten Fall, das "Intranet" verlassen bzw. nur an vordefinierte Domains Mails versandt werden können. Mit anderen Worten, es soll ein Mißbrauch des Mailservers durch die Konfiguration verhindert werden. Theoretisch würde es auch reichen, wenn der Mailserver nur für lokale Mails zuständig ist.
Ist folgende Zusammenfassung richtig? a) interner Mailserver, interne Maildomain ohne Internet-Routing, interne User (private IP-Adressen innerhalb der Firewall) dürfen für die interne Domain ohne Einschränkung und Anmeldung mailen. b) Mails nach extern dürfen nur an bestimmte Domains geschickt werden, Einschränkungen: - evtl. sogar nur an bestimmte Emailadressen - evtl. sogar nur mit bestimmten Absenderadressen - evtl. nur von bestimmten Rechnern c) Lokale Anwendungen wie cron dürfen Emails schicken (sonstige Einschränkungen dafür, auch nach extern?)
Dieser Postfix-Mailserver soll also zB nur Mails an example1.tld und example2.tld senden, an alle _anderen_ Domains sollen _keine_ Mails versandt werden können. Ob es eine Möglichkeit gibt auch auf Email-Adressen-Ebene einzuschränken, habe ich nicht herausgefunden. Es wäre interessant zu wissen, ob man example1.tld, example2.tld, user_a@example3.tld erlauben kann, ein Versand eines Mails an user_b@example3.tld aber abgelehnt wird.
Alle die von dir angeführten Möglichkeiten gibt es. check_recipient_access hash:/etc/postfix/check_recipients /etc/postfix/check_recipients: example1.tld permit example2.tld permit user_a@example3.tld permit user_b@example3.tld reject example3.tld reject Die Priorität beim Zugriff kannst du mit "man access" unter "Email Adress Patterns" gut sehen. Je bestimmter ein Key ist, desto höher die Priorität. komplette Adressen werden zuerst ausgewertet, dann erst domains. Du könntest also mit der letzen Zeile (ich füge sie mal einfach ein) alle Recipients in example3 verbieten, sofern sie nicht explizit vorher genannt wurden. Ich baue es mal in die von dir genannte config ein (ich nenne nur die wesentlichen Teile): main.cf: inet_interfaces = 127.0.0.1 ::1 192.168.1.99 mydestination = $myhostname, localhost.$mydomain myhostname = gw.local.site # Beseitigt die Meldung vom content_filter: mynetworks = 127.0.0.1 relay_domains = example1.tld, example2.tld, example3.tld smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access hash:/etc/postfix/check_recipients, transport_maps = hash:/etc/postfix/transport check_recipient_access übernimmt dabei die Rolle von relay_recipient_maps zur Validierung. Ansonsten sollte dann noch relay_recipient_maps mit der Liste der gültigen Adressen hinterlegt werden. Wenn die User für gw.local.site in passwd/alias sind, ist local_recipient_maps IMHO bereits schon aktiv. Die in relay_domains aufgeführten domains werden dann auch zu einem externen Server oder einem Relayhost geschickt (nach domains getrennt möglich in transport)? Wenn der Server nur die intern von ihm selbst erzeugten Mails verschicken soll, ohne auf seiner IP zu lauschen, dann ist die Nullclient-Config das Richtige: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client Aber wenn du einen content_filter definiert hast, dann scheint das nicht ganz zuzutreffen.
Beschreibe mal genau, was du erreichen willst, und was du NICHT haben möchtest. Irgendwie habe ich das Gefühl, das da etwas nicht ganz kosher ist...
Schön, dass du dir darüber Gedanken machst.
Das ist das seltsame Gefühl, wenn man nur Teile des Bildes sieht, aber es mehrere Möglichkeiten gibt, was verdeckt sein könnte. Es lässt einem keine Ruhe. Manchmal können die verdeckten Teile leider tatsächlich einem in den Nacken fallen.(^-°) Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Am Donnerstag, 4. Mai 2006 22:10 schrieb Sandy Drobic: Hallo Sandy,
Hauptziel ist, dass Mails nicht selbständig, wie zB im erwähnten Fall, das "Intranet" verlassen bzw. nur an vordefinierte Domains Mails versandt werden können. Mit anderen Worten, es soll ein Mißbrauch des Mailservers durch die Konfiguration verhindert werden. Theoretisch würde es auch reichen, wenn der Mailserver nur für lokale Mails zuständig ist.
Ist folgende Zusammenfassung richtig?
Im großen und ganzen ja. Ich ergänze noch. Es gibt einen lokalen DNS-Server. Die Hostnamen lauten auf rechner1.local.example.tld, rechner2.local.example.tld, usw. Der DNS-Server ist authoritativ für local.example.tld aber nicht für example.tld. Anders formuliert ein Mail an user@local.example.tld kommt nur im Intranet an. Interessanterweise habe ich bei einem Test festgeestellt, dass ein Mail an user@local.example.tld auch nicht ankommt, wenn ein externer DNS-Server für local.example.tld zuständig ist. Ich dachte nur site wird blockiert, local aber mittleweile nicht mehr. Das aber nur nebenbei.
a) interner Mailserver,
es gibt mehrere interne Mailserver, d.h. Clients könnten sich auch untereinander Mails senden, wenn der "Hauptmailserver" down sein sollte.
interne Maildomain ohne Internet-Routing, interne User (private IP-Adressen innerhalb der Firewall) dürfen für die interne Domain ohne Einschränkung und Anmeldung mailen.
Ja
b) Mails nach extern dürfen nur an bestimmte Domains geschickt werden,
Ja
Einschränkungen: - evtl. sogar nur an bestimmte Emailadressen
Ja
- evtl. sogar nur mit bestimmten Absenderadressen
Die Absenderadresse ist egal. Die Absenderadressen werden auf user@example.tld umgemappt
- evtl. nur von bestimmten Rechnern
Alle Rechner dürfen versenden
c) Lokale Anwendungen wie cron dürfen Emails schicken (sonstige Einschränkungen dafür, auch nach extern?)
Cron ist sogar ein wichtiger Punkt. Die Hauptanwendung für den Mailserver sind Warnmails und Systeminfos. "Normale" Mails der User sollen nicht über den lokalen Mailserver versandt werden. Da fällt mir noch eine Ergänzung zu den Anwendungen ein. Mit Kmail ist definiert, dass einem bestimmten Absender der lokale Mailserver zugeordnet ist. Wird eine "falsche" Absender-Email-Adresse verwendet, der ein externer Mailserver zugeordnet ist, so bounct das Mail an die interne Adresse. Das ist ja auch klar, wegen dem lokalen DNS-Server. Gibt es irgendeinen Workaround, dass das Mail trotzdem zugestellt wird? Es müsste vermutlich also der Bounce analysiert werden. Wichtig ist das aber nicht.
Dieser Postfix-Mailserver soll also zB nur Mails an example1.tld und example2.tld senden, an alle _anderen_ Domains sollen _keine_ Mails versandt werden können. Ob es eine Möglichkeit gibt auch auf Email-Adressen-Ebene einzuschränken, habe ich nicht herausgefunden. Es wäre interessant zu wissen, ob man example1.tld, example2.tld, user_a@example3.tld erlauben kann, ein Versand eines Mails an user_b@example3.tld aber abgelehnt wird.
Alle die von dir angeführten Möglichkeiten gibt es.
check_recipient_access hash:/etc/postfix/check_recipients
Da muss ich nachfragen, ich habe mit Postfix schon länger nichts mehr konfiguriert. Ich lege als mit vi eine /etc/postfix/check_recipient_access an und trage dort dein u.a. angepasstes Beispiel ein. Muss ich danach postmap /etc/postfix/check_recipient_access ausführen?
/etc/postfix/check_recipients: example1.tld permit example2.tld permit user_a@example3.tld permit user_b@example3.tld reject example3.tld reject
Danke für das Beispiel
Die Priorität beim Zugriff kannst du mit "man access" unter "Email Adress Patterns" gut sehen.
Ich stelle gerade fest, ich habe da unterschiedliche Manpages. Auf einem Rechner habe ich aber deine Beispiele gefunden.
Je bestimmter ein Key ist, desto höher die Priorität. komplette Adressen werden zuerst ausgewertet, dann erst domains. Du könntest also mit der letzen Zeile (ich füge sie mal einfach ein) alle Recipients in example3 verbieten, sofern sie nicht explizit vorher genannt wurden.
Konkret sind es eine Handvoll Adressen, bei denen ich die Domains nicht erlauben kann, sondern nur zB einige GMX-Adressen. Es geht da um ein Konstrukt um über Warnmails per SMS informiert zu werden. Der Hintergrund ist immer, der lokale Mailserver sendet nur an Email-Adressen, die mehr oder weniger mein "Hoheitsgebiet" sind.
Ich baue es mal in die von dir genannte config ein (ich nenne nur die wesentlichen Teile):
Danke, ich probiere es aber erst aus, wenn ich denke, dass alles erläutert wurde, das mir vorher nebensächlich erschien.
main.cf: inet_interfaces = 127.0.0.1 ::1 192.168.1.99 mydestination = $myhostname, localhost.$mydomain myhostname = gw.local.site # Beseitigt die Meldung vom content_filter: mynetworks = 127.0.0.1 relay_domains = example1.tld, example2.tld, example3.tld smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access hash:/etc/postfix/check_recipients, transport_maps = hash:/etc/postfix/transport
check_recipient_access übernimmt dabei die Rolle von relay_recipient_maps zur Validierung. Ansonsten sollte dann noch relay_recipient_maps mit der Liste der gültigen Adressen hinterlegt werden.
Da bleibt für mich voerst noch die Frage, ob da postmap notwendig ist.
Wenn die User für gw.local.site in passwd/alias sind, ist local_recipient_maps IMHO bereits schon aktiv.
Da verstehe ich nicht ganz was du meinst. In /etc/aliases habe ich eine Umleitung von root auf einen User. Dann wurde noch /etc/postfix/sender_canonical definiert.
Die in relay_domains aufgeführten domains werden dann auch zu einem externen Server oder einem Relayhost geschickt (nach domains getrennt möglich in transport)?
Eher nicht, aber ich weiß nicht genau was mein Hoster da für "Spielchen" treibt. AFAIK ist der nur Reseller und da ist ziemlich viel virtuell. Seit 2 Wochen werden die Mailserver des Hosters für "normale User-Mails" aber nicht mehr verwendet, sondern der des ISPs, da es ziemliche Probleme dort gibt, d.h. die Server des Hosters waren in der letzten Zeit mehrmals stundenlang down. Vielleicht findest du raus welche Firma nun pinguin.uni.cc wirklich hostet. DNS-Hoster ist mydomain.com. Dort gibt es einen A-Record auf 70.85.1.114 und der MX-Eintrag führt nicht mehr zu 70.85.1.114. Mit "ThePlanet.com" habe ich jedenfalls keinen Vertrag/Kontakt. Bei meinen Beispieldomains geht es aber nicht um pinguin.uni.cc, sondern um eine 2nd-Level-Domain.
Wenn der Server nur die intern von ihm selbst erzeugten Mails verschicken soll, ohne auf seiner IP zu lauschen, dann ist die Nullclient-Config das Richtige: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client
Aber wenn du einen content_filter definiert hast, dann scheint das nicht ganz zuzutreffen.
Ja, der Rechner nimmt auch Mails entgegen und es läuft auch qpopper.
Das ist das seltsame Gefühl, wenn man nur Teile des Bildes sieht, aber es mehrere Möglichkeiten gibt, was verdeckt sein könnte. Es lässt einem keine Ruhe. Manchmal können die verdeckten Teile leider tatsächlich einem in den Nacken fallen.(^-°)
Ich freue mich sehr, dass du an Zusammenhänge denkst. Postfix kann extrem viel und bis jetzt war ich froh, dass es so funktionierte, d.h. der Server kann nicht als Relay mißbraucht werden und Warnmails gehen raus. Al
Al Bogner wrote:
Am Donnerstag, 4. Mai 2006 22:10 schrieb Sandy Drobic:
Hallo Sandy,
Hauptziel ist, dass Mails nicht selbständig, wie zB im erwähnten Fall, das "Intranet" verlassen bzw. nur an vordefinierte Domains Mails versandt werden können. Mit anderen Worten, es soll ein Mißbrauch des Mailservers durch die Konfiguration verhindert werden. Theoretisch würde es auch reichen, wenn der Mailserver nur für lokale Mails zuständig ist. Ist folgende Zusammenfassung richtig?
Im großen und ganzen ja. Ich ergänze noch. Es gibt einen lokalen DNS-Server. Die Hostnamen lauten auf rechner1.local.example.tld, rechner2.local.example.tld, usw. Der DNS-Server ist authoritativ für local.example.tld aber nicht für example.tld. Anders formuliert ein Mail an user@local.example.tld kommt nur im Intranet an. Interessanterweise habe ich bei einem Test festgeestellt, dass ein Mail an user@local.example.tld auch nicht ankommt, wenn ein externer DNS-Server für local.example.tld zuständig ist. Ich dachte nur site wird blockiert, local aber mittleweile nicht mehr. Das aber nur nebenbei.
Hm, über DNS habe ich nicht so präzise Kenntnisse, deshalb kann ich aus dem Stehgreif erst einmal nichts darüber sagen. Wird die Auflösung blockiert oder einfach gesagt, "host unknown"?
a) interner Mailserver,
es gibt mehrere interne Mailserver, d.h. Clients könnten sich auch untereinander Mails senden, wenn der "Hauptmailserver" down sein sollte.
Das kann ja über den lokalen DNS erfolgen, der sollte ja wissen, welche Server für welche Adressen Mails annehmen.
interne Maildomain ohne Internet-Routing, interne User (private IP-Adressen innerhalb der Firewall) dürfen für die interne Domain ohne Einschränkung und Anmeldung mailen.
Ja
b) Mails nach extern dürfen nur an bestimmte Domains geschickt werden,
Ja
Einschränkungen: - evtl. sogar nur an bestimmte Emailadressen
Ja
- evtl. sogar nur mit bestimmten Absenderadressen
Die Absenderadresse ist egal. Die Absenderadressen werden auf user@example.tld umgemappt
Okay.
- evtl. nur von bestimmten Rechnern
Alle Rechner dürfen versenden
c) Lokale Anwendungen wie cron dürfen Emails schicken (sonstige Einschränkungen dafür, auch nach extern?)
Cron ist sogar ein wichtiger Punkt. Die Hauptanwendung für den Mailserver sind Warnmails und Systeminfos. "Normale" Mails der User sollen nicht über den lokalen Mailserver versandt werden.
Dann sollte auf jeden Fall darauf geachtet werden, dass die Einstellung von $myorigin der einzelnen Server stimmt, eventuell sogar eine FQDN Adresse direkt als cron MAILTO festlegen. Wertest du die Mails mit einem System wie Nagios oder BigBrother aus?
Da fällt mir noch eine Ergänzung zu den Anwendungen ein. Mit Kmail ist definiert, dass einem bestimmten Absender der lokale Mailserver zugeordnet ist. Wird eine "falsche" Absender-Email-Adresse verwendet, der ein externer Mailserver zugeordnet ist, so bounct das Mail an die interne Adresse. Das ist ja auch klar, wegen dem lokalen DNS-Server. Gibt es irgendeinen Workaround, dass das Mail trotzdem zugestellt wird? Es müsste vermutlich also der Bounce analysiert werden. Wichtig ist das aber nicht.
Das habe ich nicht ganz verstanden. (^-^) Wenn eine Absenderadresse verwendet wird, die lokal nicht existiert und nicht in der freigeschalteten Relayliste vorliegt, sollte sie gar nicht erst angenommen werden. Der Mailclient sollte also direkt die Fehlermeldung erhalten. Das wäre IMHO die sauberste Lösung.
Dieser Postfix-Mailserver soll also zB nur Mails an example1.tld und example2.tld senden, an alle _anderen_ Domains sollen _keine_ Mails versandt werden können. Ob es eine Möglichkeit gibt auch auf Email-Adressen-Ebene einzuschränken, habe ich nicht herausgefunden. Es wäre interessant zu wissen, ob man example1.tld, example2.tld, user_a@example3.tld erlauben kann, ein Versand eines Mails an user_b@example3.tld aber abgelehnt wird. Alle die von dir angeführten Möglichkeiten gibt es.
check_recipient_access hash:/etc/postfix/check_recipients
Da muss ich nachfragen, ich habe mit Postfix schon länger nichts mehr konfiguriert.
Ich lege als mit vi eine /etc/postfix/check_recipient_access an und trage dort dein u.a. angepasstes Beispiel ein.
Muss ich danach postmap /etc/postfix/check_recipient_access ausführen?
Ja! Nach jeder Änderung der Quelldatei muss die Datenbank, die Postfix eigentlich verwendet, neu erzeugt werden. Dies gilt für alle hash Datenbanken.
/etc/postfix/check_recipients: example1.tld permit example2.tld permit user_a@example3.tld permit user_b@example3.tld reject example3.tld reject
Danke für das Beispiel
Sehr wichtig, vor allem für Trockentests: du kannst mit postmap -q 'example2.tld' hash:/etc/postfix/check_recipients erst einmal ausprobieren, was als Ergebnis kommt. Leeres Ergebnis: DUNNO, Postfix wird die nächste Restriction überprüfen Ergebnis: Postfix nimmt das Ergebnis und wertet es aus. Du kannst auch statt reject, permit, ok, 450, 550 etc. eine weitere Restriktion angeben als Ergebnis. Auch das ist in den man pages dazu schön aufgeführt.
Die Priorität beim Zugriff kannst du mit "man access" unter "Email Adress Patterns" gut sehen.
Ich stelle gerade fest, ich habe da unterschiedliche Manpages. Auf einem Rechner habe ich aber deine Beispiele gefunden.
Je bestimmter ein Key ist, desto höher die Priorität. komplette Adressen werden zuerst ausgewertet, dann erst domains. Du könntest also mit der letzen Zeile (ich füge sie mal einfach ein) alle Recipients in example3 verbieten, sofern sie nicht explizit vorher genannt wurden.
Konkret sind es eine Handvoll Adressen, bei denen ich die Domains nicht erlauben kann, sondern nur zB einige GMX-Adressen. Es geht da um ein Konstrukt um über Warnmails per SMS informiert zu werden. Der Hintergrund ist immer, der lokale Mailserver sendet nur an Email-Adressen, die mehr oder weniger mein "Hoheitsgebiet" sind.
Ich baue es mal in die von dir genannte config ein (ich nenne nur die wesentlichen Teile):
Danke, ich probiere es aber erst aus, wenn ich denke, dass alles erläutert wurde, das mir vorher nebensächlich erschien.
Völlig richtig! Solange es kein dringendes Problem ist, sollte man sich so etwas ein aller Ruhe anschauen, sich überlegen, was man präzise möchte, dann überlegen, wie man das Setup überprüft und dann einen Zeitpunkt wählen, wo man etwas experimentieren kann. Sichere auf jeden fall vorher die bisher verwendeten Konfigurationsdateien, teste immer nach Änderung mit "postfix check" und beobachte das Log, wenn eine Mail abgeschickt und eine Mail eintrifft.
main.cf: inet_interfaces = 127.0.0.1 ::1 192.168.1.99 mydestination = $myhostname, localhost.$mydomain myhostname = gw.local.site # Beseitigt die Meldung vom content_filter: mynetworks = 127.0.0.1 relay_domains = example1.tld, example2.tld, example3.tld smtpd_recipient_restrictions = reject_unauth_destination, check_recipient_access hash:/etc/postfix/check_recipients, transport_maps = hash:/etc/postfix/transport
check_recipient_access übernimmt dabei die Rolle von relay_recipient_maps zur Validierung. Ansonsten sollte dann noch relay_recipient_maps mit der Liste der gültigen Adressen hinterlegt werden.
Da bleibt für mich voerst noch die Frage, ob da postmap notwendig ist.
Für jede hash Datenbank, die verändert wird. Ansonsten kommt aber auch eine Warnung im Postfix Log. Im obigen Beispiel könnte man auch noch permit_mynetworks hinzunehmen, wenn mynetworks auf localhost gesetzt ist und Anwender lokal nicht mailen können. Dann würde sich auch der content_filter nicht beschweren. (^-^)
Wenn die User für gw.local.site in passwd/alias sind, ist local_recipient_maps IMHO bereits schon aktiv.
Da verstehe ich nicht ganz was du meinst.
Für jede Adressklasse gibt es eine Liste, in der die gültigen Adressen stehen. Wenn Postfix keine Liste mit gültigen Adressen hat, kann er ungültige Adressen nicht abweisen und läuft Gefahr, zur Backscatter-Quelle zu werden. Dies hier ist die Vorgabe von Postfix (Version 2.3): local_recipient_maps = proxy:unix:passwd.byname $alias_maps relay_recipient_maps = Dabei ist zugeordnet: mydestination: local_recipient_maps relay_domains: relay_recipient_maps virtual_alias_domains: virtual_alias_maps virtual_mailbox_domains: virtual_mailbox_maps local_recipient_maps ist also schon gesetzt, während relay_recipient_maps als Default deaktiviert ist. "Postconf -n" zeigt die Abweichungen zu den Default-Werten, deshalb muss local_recipient_maps nicht angezeigt werden, ist aber trotzdem aktiv. Relay_recipient_maps muss von Hand gesetzt werden, da es als Default abgeschaltet ist. Sobald du relay_recipient_maps setzt, werden alle Empfängeradressen abgelehnt, die nicht in in dieser Liste stehen.
In /etc/aliases habe ich eine Umleitung von root auf einen User.
Das wird für eine lokale domain (in mydestination) abgefragt und richtig ausgeführt. Für eine externe Adresse müsstest du virtual verwenden, das gilt als Ausnahme für alle Klassen von Domains.
Dann wurde noch /etc/postfix/sender_canonical definiert.
Das ist ja nur für eure Umsetzung, wenn nach extern geschickt wird, nicht wahr?
Die in relay_domains aufgeführten domains werden dann auch zu einem externen Server oder einem Relayhost geschickt (nach domains getrennt möglich in transport)?
Eher nicht, aber ich weiß nicht genau was mein Hoster da für "Spielchen" treibt. AFAIK ist der nur Reseller und da ist ziemlich viel virtuell. Seit 2 Wochen werden die Mailserver des Hosters für "normale User-Mails" aber nicht mehr verwendet, sondern der des ISPs, da es ziemliche Probleme dort gibt, d.h. die Server des Hosters waren in der letzten Zeit mehrmals stundenlang down. Vielleicht findest du raus welche Firma nun pinguin.uni.cc wirklich hostet. DNS-Hoster ist mydomain.com. Dort gibt es einen A-Record auf 70.85.1.114 und der MX-Eintrag führt nicht mehr zu 70.85.1.114. Mit "ThePlanet.com" habe ich jedenfalls keinen Vertrag/Kontakt. Bei meinen Beispieldomains geht es aber nicht um pinguin.uni.cc, sondern um eine 2nd-Level-Domain.
Hauptsache, dass die Einrichtung korrekt läuft, was die Vorgaben für Mailserver betrifft. Du kannst das auf www.dnsreport.com gut prüfen. Gib dort mal deine Domain ein, dann bekommst du schnell einen Überblick, wie sauber die DNS-Konfiguration für deine Domain ist.
Wenn der Server nur die intern von ihm selbst erzeugten Mails verschicken soll, ohne auf seiner IP zu lauschen, dann ist die Nullclient-Config das Richtige: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client
Aber wenn du einen content_filter definiert hast, dann scheint das nicht ganz zuzutreffen.
Ja, der Rechner nimmt auch Mails entgegen und es läuft auch qpopper.
Nach deinen Erläuterungen scheint deine Konfig auch recht gut zuzutreffen. Wahrscheinlich kannst du noch ein paar Details ändern, um die Konfiguration robuster zu machen, aber das solltest du erst nach sorgfältiger Prüfung. Do not change a running system...
Das ist das seltsame Gefühl, wenn man nur Teile des Bildes sieht, aber es mehrere Möglichkeiten gibt, was verdeckt sein könnte. Es lässt einem keine Ruhe. Manchmal können die verdeckten Teile leider tatsächlich einem in den Nacken fallen.(^-°)
Ich freue mich sehr, dass du an Zusammenhänge denkst. Postfix kann extrem viel und bis jetzt war ich froh, dass es so funktionierte, d.h. der Server kann nicht als Relay mißbraucht werden und Warnmails gehen raus.
Das stimmt, Postfix ist ja relativ geradlinig zu konfigurieren, aber es gibt immer noch genügend Fettnäpfchen, in die man treten kann. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Am Freitag, 5. Mai 2006 10:20 schrieb Sandy Drobic:
Das aber nur nebenbei.
Hm, über DNS habe ich nicht so präzise Kenntnisse, deshalb kann ich aus dem Stehgreif erst einmal nichts darüber sagen. Wird die Auflösung blockiert oder einfach gesagt, "host unknown"?
host unknown, aber ich denke die DNS-Problematik spielt hier keine Rolle, ich wollte sie nur erwähnen.
Wertest du die Mails mit einem System wie Nagios oder BigBrother aus?
Nein, ich habe festgestellt, dass Nagios nicht das prüft was hier entscheidend ist. Erst wenn man sich wirklich beim Mailserver einloggt, kann zB gesagt werden, ob der Mailserver funktioniert. Ob eine Webseite funktioniert, prüfe ich per cronjob und mit seiner simplen kleinen Textdatei, die runtergeladen und verglichen wird.
Da fällt mir noch eine Ergänzung zu den Anwendungen ein. Mit Kmail ist definiert, dass einem bestimmten Absender der lokale Mailserver zugeordnet ist. Wird eine "falsche" Absender-Email-Adresse verwendet, der ein externer Mailserver zugeordnet ist, so bounct das Mail an die interne Adresse. Das ist ja auch klar, wegen dem lokalen DNS-Server. Gibt es irgendeinen Workaround, dass das Mail trotzdem zugestellt wird? Es müsste vermutlich also der Bounce analysiert werden. Wichtig ist das aber nicht.
Das habe ich nicht ganz verstanden. (^-^) Wenn eine Absenderadresse verwendet wird, die lokal nicht existiert und nicht in der freigeschalteten Relayliste vorliegt, sollte sie gar nicht erst angenommen werden. Der Mailclient sollte also direkt die Fehlermeldung erhalten. Das wäre IMHO die sauberste Lösung.
Beispiel: Der _lokale:_ DNS-Server kennt die Domain a.local.example.tld und damit ist auch user@a.local.example.tld lokal erreichbar. Ähnliches gilt für user@b.local.example.tld K-Mail kann Identitäten SMTP-Server zuordnen und das wird hier genützt. Hier gilt user@a.local.example.tld ist der lokale Postfix zugeordnet und damit können interne Mails problemlos versandt werden. Verwendet dieser User aber eine andere Identität, wie meistens, zB user.a@beispiel.tld dann ist damit der SMTP-Server des ISP verknüpft und der SMTP-Server des ISP kennt user@a.local.example.tld nicht, denn es gibt ja keinen DNS-Eintrag dafür. Das Mail bounct also und kommt mit einer Fehlermeldung zurück. Der User merkt, dass er einen Fehler gemacht hat und versendet das Mail nochmals. Für diesen seltenen Fall wäre eine automatische Zustellung eine "nette" Sache. In der Praxis läuft das aber alles ziemlich problemlos, denn KMail kann Ordnern Identitäten zuordnen und wenn man sich in dem Ordner befindet, in dem das Mail gespeichert werden soll, wird automatisch die richtige Identität verwendet.
Danke, ich probiere es aber erst aus, wenn ich denke, dass alles erläutert wurde, das mir vorher nebensächlich erschien.
Völlig richtig! Solange es kein dringendes Problem ist, sollte man sich so etwas ein aller Ruhe anschauen, sich überlegen, was man präzise möchte, dann überlegen, wie man das Setup überprüft und dann einen Zeitpunkt wählen, wo man etwas experimentieren kann.
Aus diesem Grund wird diese Verfeinerung für ein an und für sich problemlos funktionierendes System um 1 Monat verschoben, In der nächsten Zeit kann ich keine unnötigen Probleme brauchen :-)
Sichere auf jeden fall vorher die bisher verwendeten Konfigurationsdateien, teste immer nach Änderung mit "postfix check" und beobachte das Log, wenn eine Mail abgeschickt und eine Mail eintrifft.
/etc wird sowieso u.a. regelmäßig gesichert.
Das ist ja nur für eure Umsetzung, wenn nach extern geschickt wird, nicht wahr?
Aber auch nur für "Systemmails", damit eine weltweit gültigen Email-Adresse im From steht.
Hauptsache, dass die Einrichtung korrekt läuft, was die Vorgaben für Mailserver betrifft. Du kannst das auf www.dnsreport.com gut prüfen.
Das war eigentlich ok. Ein paar gelbe Bereiche, aber IMHO passt das schon, wenn dynam. IP-Adressen und A-Records verwendet werden. Es ist alles ziemlich individuell konfiguriert. Da man aber nie weiß, ob man nicht doch irgendwo schlecht konfiguriert hat, bin ich immer sehr vorsichtig, wenn da ein Mailserver-Mißbrauch verbunden sein könnte.
Nach deinen Erläuterungen scheint deine Konfig auch recht gut zuzutreffen. Wahrscheinlich kannst du noch ein paar Details ändern, um die Konfiguration robuster zu machen, aber das solltest du erst nach sorgfältiger Prüfung. Do not change a running system...
Siehe oben. Bei Problemen melde ich mich in ca. 1 Monat wieder :-) Ich denke, dass die amavisd-Konfiguration auch noch genau zu prüfen/korrigieren ist, wie Marco schon geschrieben hat. Ich habe nur noch nicht kapiert, warum bei _meinen_ Testmails mit einer Exe-Datei ich als Absender mit einer Freemailer-Adresse keine Warnung erhalte und alles so läuft wie ich es mir vorstelle. Vielen Dank für deine ausführlichen Erklärungen. Al
Al Bogner wrote:
Kürzlich erreichte mich u.a Mail vom lokalen Mailserver. Warum "Relay access denied" kommt, ist mir klar, Das hängt mit meiner restrikten Postfix-Konfiguration zusammen, aber ich verstehe nicht, wodurch da überhaupt vom System versucht werden konnte, ein Mail zu versenden. Vielleicht liegt es an /etc/amavisd.conf
Tippe ich auch. Nur mal so meine Vermutung: (bin kein Experte)
/var/log/mail:May 2 18:40:56 gw amavis[23330]: (23330-02) Blocked BANNED (multipart/mixed | application/x-msdos-program,.exe,Rechnung.exe), [200.21.212.31]
-> , quarantine: banned-ciBRaJRCssko, Message-ID: <4720648090.20060502102446@news.com>, mail_id: ciBRaJRCssko, Hits: -, 14814 ms
amavisd schickt hier mail in Quarantine (richtig) Die nächsten logzeilen sehen mir so aus, als ob amavisd eine DSN
/var/log/mail.info:May 2 18:40:27 gw postfix/qmgr[7649]: 94A68E0028A: from=
, size=36724, nrcpt=1 (queue active) ^^^^^^^^^^^^^^^^^^^ zurück
/var/log/mail.info:May 2 18:40:56 gw postfix/smtpd[24141]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554
: Relay access denied; from=<> to= proto=ESMTP helo=<localhost> zum Absender sendet. ^^^^^^^^^^^^^^^^^^^^ (Falsch, wir wollen kein MS OE verhalten) normal ist nur eine DSN für root
/var/log/mail.warn:May 2 18:40:56 gw amavis[23330]: (23330-02) SEND via SMTP: <> ->
, 554 5.6.0 Failed, id=23330-02, from ^^^^^^^^^^^^^^^^^^^^^^^^ MTA([127.0.0.1]:10025): 554 5.1.0 Failed, id=23330-02, from MTA([127.0.0.1]:10025): 554 : Relay access denied Hier nimmt Postfix dann den für diese DSN gesetzten Absender: <> ( von amavisd so gesetzt)
Wegen Deiner oben erwähnten:
restrikten Postfix-Konfiguration
Meckert der MTA hier wie er soll.
/var/log/mail.warn:May 2 18:40:56 gw amavis[23330]: (23330-02) NOTICE: UNABLE TO SEND DSN to
: 554 5.1.0 Failed, id=23330-02, from MTA([127.0.0.1]:10025): 554 : Relay access denied
wiederholte attempts folgen. ############################################### In SuSE /etc/amavisd.conf ist das default: $mydomain = 'local.site'; # a convenient default for other settings und das fehlt oft $myhostname = ; # must be YOUR FQDN Wichtig! Muß beides richtig gesetzt werden. "$mydomain" wird in der amavisd.conf als Variable mermals weitervervwendet. Auch mal schauen: $MYHOME = '/var/spool/amavis'; $db_home = "$MYHOME/db"; $TEMPBASE = "$MYHOME/tmp"; $QUARANTINEDIR = '/var/spool/amavis/virusmails'; # working directory, needs to be created manually ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Das ist auch schlimm in SuSE default:
@addr_extension_virus_maps = ('virus'); @addr_extension_spam_maps = ('spam'); @addr_extension_banned_maps = ('banned'); @addr_extension_bad_header_maps = ('badh'); Alle auf " = undef; " setzen oder in Postfix alles richtig anpassen :-(
Dann würde ich mal folgendes in die amavisd.conf setzen oder Existenz prüfen: $warnbannedsender = undef; $warnbadhsender = undef; $warn_offsite = undef; ############################################# Das hab ich irgendwo von den Seiten oder mliste vom amavisd Author: # Here is an overall picture (sequence of events) of how # pieces fit together: # # bypass_virus_checks set for all recipients? ==> PASS # no viruses? ==> PASS # log virus if $log_templ is nonempty # quarantine if $virus_quarantine_to is nonempty # notify admin if $virus_admin (lookup) nonempty # notify recips if $warnvirusrecip and (recipient is local or $warn_offsite) # add address extensions for local recipients (when enabled) # send (non-)delivery notifications # to sender if DSN needed (BOUNCE or ($warnvirussender and D_PASS)) # virus_lovers or final_destiny==D_PASS ==> PASS # DISCARD (2xx) or REJECT (5xx) (depending on final_*_destiny) # # Equivalent flow diagram applies for spam checks. # If a virus is detected, spam checking is skipped entirely. Hoffentlich umbruchmäßig lebar. Ciao Marco! -- Wer wehrt Not ab? Ich pack alles nach dev/null und wandle den Spam & CO in Wärme um. -- Michael Tabel, in News: netcologne.internet.support
participants (3)
-
Al Bogner
-
Marco Maske
-
Sandy Drobic