Mailinglist Archive: opensuse-de (1402 mails)
| < Previous | Next > |
Re: Postfix, amavis und uucp
- From: Sandy Drobic <suse-linux@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 24 Apr 2007 20:13:36 +0200
- Message-id: <462E48D0.6000401@xxxxxxxxxxxxxxxxxxxxxxx>
Andreas Koenecke wrote:
> Hallo Sandy.
>
> * Dienstag, 24. April 2007 um 19:17 (+0200) schrieb Sandy Drobic:
>> Andreas Koenecke wrote:
>>> -------------------------------------------------------------------------
>>>
>>> Und noch ein "Durchlauf" einer eingehenden Mail aus "/var/log/mail:
>>>
>>> -------------------------------------------------------------------------
>>> Apr 24 14:00:22 PinguinII postfix/pickup[24687]: E524521956A: uid=10
>>> from=<MAILER-DAEMON>
>> Okay, alles klar. rmail liefert die Mail über das Kommandozeilen-Binary
>> /usr/sbin/sendmail ein. Das zeigt die Zeile mit "pickup".
>>
>> Die Lösung ist damit recht einfach:
>>
>> Ändere in /etc/postfix/master.cf folgende Zeile ab:
>>
>> #von:
>> pickup fifo n - n 60 1 pickup
>>
>> #nach:
>> pickup fifo n - n 60 1 pickup
>> -o content_filter=smtp-amavis:[127.0.0.1]:10024
>>
>> Beachte bitte das die Einrückung mit Tab oder Leerzeichen am Anfang der
>> content_filter-Zeile.
>>
>> Führe danach ein "postfix reload" aus und schaue ins Log, ob es Meldungen
>> bezüglich Schreibfehler gibt. Wenn nicht, werden künftig die Mails über
>> Amavis gescannt.
>
> OK, das wäre eine Lösung, die ich auch als "einfach" bezeichnen würde. Wenn es
> funktioniert, haben Falk und du ein Getränk bei mir frei...
Sollte funktionieren. Ich habe es gerade bei mir noch einmal getestet. Du
kannst als Test einfach eine Mail von der Kommandozeile schicken.
echo "test"|mail user@xxxxxxxxxxxxxxx
Dann siehst du in /var/log/mail, wie die Mail durch Amavis wandert.
Wie gesagt, auch alle anderen Mails von der Kommandozeile wandern dann
durch Amavis. Gerade, wenn das von Cron generierte Berichte über Spams
sind, können diese dann auch als Spam klassifiziert werden.
Das sind dann die Nebenwirkungen. (^-°)
>
>
>> Dabei dürfte es auch nicht zu einer Mailschleife kommen, da die
>> Rücksendung normalerweise auf einen Port von Postfix geschieht, der den
>> content_filter explizit abgeschaltet hat.
>>
>> Poste doch sicherheitshalber mal die /etc/postfix/master.cf. Poste bitte
>> auch mal die Ausgabe von "postconf -n", dort können auch globale Filter
>> angegeben werden.
>
> Siehe unten.
>
>> Caveat:
>> Damit werden alle Mails gescannt, die über die Kommandozeile gehen, also
>> auch die von cron und Konsorten geschickten. Dies lässt sich leider nicht
>> auseinandertrennen.
>
> Das wäre kein Problem.
Dann kannst du das testen wie oben erwähnt.
>> Wenn du andere Filter hast, welche die Mails über /usr/sbin/sendmail
>> einliefern, könnte es passieren, dass sie durch den Filter von amavis
>> gekapert werden. Ein Blick in die master.cf sollte das klären.
>
> OK, hier die master.cf:
> ------------------------------------------------------------------------
> #
> # Postfix master process configuration file. For details on the format
> # of the file, see the Postfix master(5) manual page.
> #
> # ==========================================================================
> # service type private unpriv chroot wakeup maxproc command + args
> # (yes) (yes) (yes) (never) (100)
> # ==========================================================================
> smtp inet n - n - 10 smtpd
> -o content_filter=smtp:[127.0.0.1]:10024
> #submission inet n - n - - smtpd
> # -o smtpd_etrn_restrictions=reject
> # -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> #smtps inet n - n - 2 smtpd -o
> smtpd_tls_wrappermode=yes -o content_filter=smtp:[127.0.0.1]:10024
Das hier ist nur der Umbruch durch die Mail, nicht wahr? diese Zeile
sollte auskommentiert sein.
> #submission inet n - n - - smtpd
> # -o smtpd_etrn_restrictions=reject
> # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
> #628 inet n - n - - qmqpd
> pickup fifo n - n 60 1 pickup
-o content_filter=smtp:[127.0.0.1]:10024
Hier gehört dann die Ergänzung rein.
> cleanup unix n - n - 0 cleanup
> qmgr fifo n - n 300 1 qmgr
> #qmgr fifo n - n 300 1 oqmgr
> #tlsmgr unix - - n 1000? 1 tlsmgr
> 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
> # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
> relay unix - - n - - smtp
> -o fallback_relay=
> # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
> 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= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
Sehr schön, dann sollte es keine Probleme geben.
>
> und die Ausgabe von 'postconf -n':
> ------------------------------------------------------------------------------
> alias_maps = hash:/etc/aliases
> biff = no
> canonical_maps = hash:/etc/postfix/canonical
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> debug_peer_level = 2
> default_transport = uucp:shuttle
> defer_transports =
> disable_dns_lookups = no
> disable_mime_output_conversion = no
> html_directory = /usr/share/doc/packages/postfix/html
> inet_interfaces = 127.0.0.1 192.168.100.200 192.168.0.101
Das sind die (lokalen) IP-Adressen, auf denen Postfix lauscht. Am
einfachsten ist es, hier zu setzen:
inet_interfaces = all
Dies ist auch Default. Dies sind nicht die IP-Adressen, welche berechtigt
sind, Mails einzuliefern. Dies wird in mynetworks festgelegt.
> inet_protocols = all
> mail_owner = postfix
> mail_spool_directory = /var/mail
> mailbox_command =
>
> (BTW: Bei meiner 10.0 steht hier "mailbox_command=/usr/bin/procmail"
> Bedeutet das leere "mailbox_command", dass 'procmail' nicht benutzt wird?)
So ist es. Als Default wird die Mail dann von dem Local Delivery Agent
(LDA) "local" abgelegt. Dieser legt sie dann ab unter
/var/spool/mail/username.
> 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 = meine.mail.domain
> masquerade_exceptions = root
> message_size_limit = 10240000
> mydestination =
> $myhostname,$mydomain,localhost.$mydomain,meine.mail.domain
> myhostname = pinguinii.meine-interne.domain
> mynetworks_style = subnet
Okay, das gibt dem lokalen Netzwerk das Recht, den Server zum Relayen zu
verwenden. Ich nehme an, du hast ein lokales Netzwerk?
> newaliases_path = /usr/bin/newaliases
> queue_directory = /var/spool/postfix
> readme_directory = /usr/share/doc/packages/postfix/README_FILES
> relocated_maps = hash:/etc/postfix/relocated
> sample_directory = /usr/share/doc/packages/postfix/samples
> sender_canonical_maps = ldap:/etc/postfix/ldap-sender_canonical.cf
> 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 = permit_mynetworks,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
> virtual_alias_domains = hash:/etc/postfix/virtual
> virtual_alias_maps = hash:/etc/postfix/virtual
> -----------------------------------------------------------------------
>
> Bevor ich deinen Vorschlag am "lebenden" System ausprobiere, wäre es gut, wenn
> du mal einen Blick auf die Ausgaben werfen würdest...
Sieht gut aus. Teste es mal.
Ändere die master.cf und führe "postfix reload" aus wie beschrieben.
--
Sandy
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
> Hallo Sandy.
>
> * Dienstag, 24. April 2007 um 19:17 (+0200) schrieb Sandy Drobic:
>> Andreas Koenecke wrote:
>>> -------------------------------------------------------------------------
>>>
>>> Und noch ein "Durchlauf" einer eingehenden Mail aus "/var/log/mail:
>>>
>>> -------------------------------------------------------------------------
>>> Apr 24 14:00:22 PinguinII postfix/pickup[24687]: E524521956A: uid=10
>>> from=<MAILER-DAEMON>
>> Okay, alles klar. rmail liefert die Mail über das Kommandozeilen-Binary
>> /usr/sbin/sendmail ein. Das zeigt die Zeile mit "pickup".
>>
>> Die Lösung ist damit recht einfach:
>>
>> Ändere in /etc/postfix/master.cf folgende Zeile ab:
>>
>> #von:
>> pickup fifo n - n 60 1 pickup
>>
>> #nach:
>> pickup fifo n - n 60 1 pickup
>> -o content_filter=smtp-amavis:[127.0.0.1]:10024
>>
>> Beachte bitte das die Einrückung mit Tab oder Leerzeichen am Anfang der
>> content_filter-Zeile.
>>
>> Führe danach ein "postfix reload" aus und schaue ins Log, ob es Meldungen
>> bezüglich Schreibfehler gibt. Wenn nicht, werden künftig die Mails über
>> Amavis gescannt.
>
> OK, das wäre eine Lösung, die ich auch als "einfach" bezeichnen würde. Wenn es
> funktioniert, haben Falk und du ein Getränk bei mir frei...
Sollte funktionieren. Ich habe es gerade bei mir noch einmal getestet. Du
kannst als Test einfach eine Mail von der Kommandozeile schicken.
echo "test"|mail user@xxxxxxxxxxxxxxx
Dann siehst du in /var/log/mail, wie die Mail durch Amavis wandert.
Wie gesagt, auch alle anderen Mails von der Kommandozeile wandern dann
durch Amavis. Gerade, wenn das von Cron generierte Berichte über Spams
sind, können diese dann auch als Spam klassifiziert werden.
Das sind dann die Nebenwirkungen. (^-°)
>
>
>> Dabei dürfte es auch nicht zu einer Mailschleife kommen, da die
>> Rücksendung normalerweise auf einen Port von Postfix geschieht, der den
>> content_filter explizit abgeschaltet hat.
>>
>> Poste doch sicherheitshalber mal die /etc/postfix/master.cf. Poste bitte
>> auch mal die Ausgabe von "postconf -n", dort können auch globale Filter
>> angegeben werden.
>
> Siehe unten.
>
>> Caveat:
>> Damit werden alle Mails gescannt, die über die Kommandozeile gehen, also
>> auch die von cron und Konsorten geschickten. Dies lässt sich leider nicht
>> auseinandertrennen.
>
> Das wäre kein Problem.
Dann kannst du das testen wie oben erwähnt.
>> Wenn du andere Filter hast, welche die Mails über /usr/sbin/sendmail
>> einliefern, könnte es passieren, dass sie durch den Filter von amavis
>> gekapert werden. Ein Blick in die master.cf sollte das klären.
>
> OK, hier die master.cf:
> ------------------------------------------------------------------------
> #
> # Postfix master process configuration file. For details on the format
> # of the file, see the Postfix master(5) manual page.
> #
> # ==========================================================================
> # service type private unpriv chroot wakeup maxproc command + args
> # (yes) (yes) (yes) (never) (100)
> # ==========================================================================
> smtp inet n - n - 10 smtpd
> -o content_filter=smtp:[127.0.0.1]:10024
> #submission inet n - n - - smtpd
> # -o smtpd_etrn_restrictions=reject
> # -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> #smtps inet n - n - 2 smtpd -o
> smtpd_tls_wrappermode=yes -o content_filter=smtp:[127.0.0.1]:10024
Das hier ist nur der Umbruch durch die Mail, nicht wahr? diese Zeile
sollte auskommentiert sein.
> #submission inet n - n - - smtpd
> # -o smtpd_etrn_restrictions=reject
> # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
> #628 inet n - n - - qmqpd
> pickup fifo n - n 60 1 pickup
-o content_filter=smtp:[127.0.0.1]:10024
Hier gehört dann die Ergänzung rein.
> cleanup unix n - n - 0 cleanup
> qmgr fifo n - n 300 1 qmgr
> #qmgr fifo n - n 300 1 oqmgr
> #tlsmgr unix - - n 1000? 1 tlsmgr
> 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
> # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
> relay unix - - n - - smtp
> -o fallback_relay=
> # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
> 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= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
Sehr schön, dann sollte es keine Probleme geben.
>
> und die Ausgabe von 'postconf -n':
> ------------------------------------------------------------------------------
> alias_maps = hash:/etc/aliases
> biff = no
> canonical_maps = hash:/etc/postfix/canonical
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> debug_peer_level = 2
> default_transport = uucp:shuttle
> defer_transports =
> disable_dns_lookups = no
> disable_mime_output_conversion = no
> html_directory = /usr/share/doc/packages/postfix/html
> inet_interfaces = 127.0.0.1 192.168.100.200 192.168.0.101
Das sind die (lokalen) IP-Adressen, auf denen Postfix lauscht. Am
einfachsten ist es, hier zu setzen:
inet_interfaces = all
Dies ist auch Default. Dies sind nicht die IP-Adressen, welche berechtigt
sind, Mails einzuliefern. Dies wird in mynetworks festgelegt.
> inet_protocols = all
> mail_owner = postfix
> mail_spool_directory = /var/mail
> mailbox_command =
>
> (BTW: Bei meiner 10.0 steht hier "mailbox_command=/usr/bin/procmail"
> Bedeutet das leere "mailbox_command", dass 'procmail' nicht benutzt wird?)
So ist es. Als Default wird die Mail dann von dem Local Delivery Agent
(LDA) "local" abgelegt. Dieser legt sie dann ab unter
/var/spool/mail/username.
> 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 = meine.mail.domain
> masquerade_exceptions = root
> message_size_limit = 10240000
> mydestination =
> $myhostname,$mydomain,localhost.$mydomain,meine.mail.domain
> myhostname = pinguinii.meine-interne.domain
> mynetworks_style = subnet
Okay, das gibt dem lokalen Netzwerk das Recht, den Server zum Relayen zu
verwenden. Ich nehme an, du hast ein lokales Netzwerk?
> newaliases_path = /usr/bin/newaliases
> queue_directory = /var/spool/postfix
> readme_directory = /usr/share/doc/packages/postfix/README_FILES
> relocated_maps = hash:/etc/postfix/relocated
> sample_directory = /usr/share/doc/packages/postfix/samples
> sender_canonical_maps = ldap:/etc/postfix/ldap-sender_canonical.cf
> 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 = permit_mynetworks,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
> virtual_alias_domains = hash:/etc/postfix/virtual
> virtual_alias_maps = hash:/etc/postfix/virtual
> -----------------------------------------------------------------------
>
> Bevor ich deinen Vorschlag am "lebenden" System ausprobiere, wäre es gut, wenn
> du mal einen Blick auf die Ausgaben werfen würdest...
Sieht gut aus. Teste es mal.
Ändere die master.cf und führe "postfix reload" aus wie beschrieben.
--
Sandy
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
| < Previous | Next > |