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

< Previous Next >
Follow Ups