Habe einen Fehler in meiner main.cf von Postfix und brauch mal Hilfe

Dieses Thema im Forum "Server Administration" wurde erstellt von M. Zink, 8. Aug. 2009.

  1. M. Zink

    M. Zink New Member

    Hallo,

    ich habe nach einigem Lesen und hin und her jetzt meine main.cf von Postfix mal angepasst damit Spam so gut wie möglich vom Server fern gehalten wird. Nur leider habe ich da wohl irgendwas falsch verstanden oder zusammen gesetzt jedenfalls wenn ich die veränderte main.cf einsetze bekomme ich nur noch folgende Meldung im mail.log und niemand kann mehr Mails versenden.
    Die main.cf von mir sieht folgendermaßen aus.
    Und daraufhin bekomme ich wie oben geschrieben den Fehler.

    Ich hab jetzt noch nicht weiter getestet ob ich ansonsten noch Fehler habe alleine das ich keine Mail versenden kann und genau in dem Moment wo ich senden möchte die Fehlermeldung kommt sagt mir schon das da was nicht stimmt.

    Kann mir da einer helfen und sagen was die Fehlermeldung überhaupt bedeuten soll?
     
  2. Till

    Till Administrator

    Du hast ein Leerzeichen in reject _unauth_destination, es muss lauten: reject_unauth_destination
     
  3. M. Zink

    M. Zink New Member

    Mist das Leerzeichen muss irgendwie beim Kopieren entstanden sein. Hätte mich auch gewundert da dieser Teil schon vor meinem Eingriff vorhanden war. Ich glaub ich nehm mal ne original main.cf von Postfix und pack da Zeile für Zeile wieder rein bis der Fehler kommt. Vielleicht finde ich ja wenigstens die genaue Stelle die das verursacht dann hab ich was um in Google zu suchen ;)
     
  4. M. Zink

    M. Zink New Member

    Nach ewigem Lesen und Testen bin ich jetzt soweit, dass mein Postfix läuft und auch einiges blockt. Die Frage ist nun jedoch wie man den Spamfluß noch weiter einengt ohne ggf. dann wichtige Mails zu verlieren. Laut Auswertung werden 94% aller Mails ausgefiltert. Aber von 20 Mails die ich heute Morgen im Postkasten hatte waren 14 immer noch Spam. Macht es sinn noch mehr Blacklists aufzunehmen um noch mehr zu filtern oder ist dann irgendwann der Punkt erreicht wo auch richtige Mails gefiltert werden?

    Welche Blacklists sollte man wirklich verwenden? In dem HowTo zu Spam und Postfix sind Blacklists die es scheinbar nicht mehr gibt. Und die Liste die ich gefunden hab scheint zwar wahnsinnig viele zu enthalten aber 98% dieser sind auch "Eintagsfliegen" die paar Wochen funktionieren und dann weg sind oder die erst gar nichts taugen.

    Welche verwenden denn andere und haben Erfolge damit?

    Ach ja, was besagen folgende Meldungen im Mail Log?
    und
    Die Stellen in der main.cf von PF sieht folgendermaßen aus.
    Heißt das diese Stellen sollte ich umändern wie in der Meldung beschrieben und in dieser Form wie jetzt wirken sie gar nicht mehr?
     
  5. dexcom

    dexcom New Member

    Hallo M.Zink,

    Versuch mal Deine main.cf wie unten anzupassen. (Anti-Spam Sektion) Mit der bin ich mehr als zufrieden... Vielleicht sind dann auch Deine Fehler weg. Auf meinem Server kommen in der Woche grad mal 5 Spam-Mails durch. Kommt natürlich auch darauf an wie bekannt Deine E-Mail Adressen bei den Spammern sind :eek:

    Code:
    # See /usr/share/postfix/main.cf.dist for a commented, more complete version
    
    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    myhostname = mail.domain.de
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    #mydestination = server1.domain.de, localhost.domain.de, , localhost
    relayhost = 
    mynetworks = 127.0.0.0/8
    mailbox_command = 
    mailbox_size_limit = 0
    message_size_limit = 30720000
    recipient_delimiter = +
    inet_interfaces = all
    smtpd_sasl_local_domain = 
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    broken_sasl_auth_clients = yes
    #####--- In Anti-Spam enthalten. Kann nach entfernen der ---#####
    #####--- Anti-Spam Sektion wieder aktiviert werden...... ---#####
    #smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
    #####-------------------------------------------------------#####
    smtpd_tls_auth_only = no
    smtp_use_tls = yes
    smtpd_use_tls = yes
    smtp_tls_note_starttls_offer = yes
    smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
    smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
    smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
    smtpd_tls_loglevel = 1
    smtpd_tls_received_header = yes
    smtpd_tls_session_cache_timeout = 3600s
    tls_random_source = dev:/dev/urandom
    home_mailbox = Maildir/
    
    #####--- Anti-Spam start ---#####
    smtpd_helo_required = yes
    disable_vrfy_command = yes
    strict_rfc821_envelopes = yes
    invalid_hostname_reject_code = 554
    multi_recipient_bounce_reject_code = 554
    non_fqdn_reject_code = 554
    relay_domains_reject_code = 554
    unknown_address_reject_code = 554
    unknown_client_reject_code = 554
    unknown_hostname_reject_code = 554
    unknown_local_recipient_reject_code = 554
    unknown_relay_recipient_reject_code = 554
    unknown_sender_reject_code = 554
    unknown_virtual_alias_reject_code = 554
    unknown_virtual_mailbox_reject_code = 554
    unverified_recipient_reject_code = 554
    unverified_sender_reject_code = 554
    
    smtpd_sender_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_non_fqdn_sender,
        reject_unknown_sender_domain,
        permit 
    
    smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_invalid_hostname,
        reject_non_fqdn_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        reject_unauth_pipelining,
        reject_unauth_destination,
        reject_unlisted_recipient,
          reject_rbl_client ix.dnsbl.manitu.net,
          reject_rbl_client dnsbl.sorbs.net,
          reject_rbl_client bl.spamcop.net,
          reject_rbl_client zen.spamhaus.org,
          reject_rbl_client cbl.abuseat.org,
       permit
    
    smtpd_helo_required = yes
    smtpd_helo_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_non_fqdn_hostname,
        reject_invalid_hostname,
        permit
    
    #####--- Anti-Spam end ---#####
    
    
    virtual_maps = hash:/etc/postfix/virtusertable
    
    mydestination = /etc/postfix/local-host-names
    
    Und entferne mal bitte folgende Anweisungen aus Deiner main.cf. Die haben bei mir auch mal Stress gemacht.

    Code:
    smtpd_error_sleep_time = 1s
    smtpd_soft_error_limit = 10
    smtpd_hard_error_limit = 20                      
    
    cu

    dexcom
     
  6. M. Zink

    M. Zink New Member

    Hab grade mal deine main.cf durch geschaut und mit meiner verglichen. Folgendes hat bei mir dazu geführt, dass ich keine einzige Mail versenden konnte.
    Warum weiß ich allerdings nicht. Jedenfalls hab ich danach in Outlook immer eine Fehlermeldung bekommen von wegen need fully qualified Domainname oder sowas. Deshalb hatte ich den Teil erst mal wieder raus genommen.

    Was bewirkt denn das "permit" am Ende der Regel immer? Ist das wichtig?

    Ich denke auf 5 Mails pro Woche werd ich nicht kommen. Meine Mailadresse ist bekannt ohne Ende da die Domain halt geschäftlich genutzt ist und das sieht man auch in dem Log. Alleine die Latte an Mails die an einen fiktiven alias gehen ist unglaublich. Pro Tag etwa 500 bis 800 stück.
     
  7. dexcom

    dexcom New Member

    Was das permit bewirkt hätte mich auch interessiert... Google konnte mir da auch nicht so richtig weiterhelfen :confused:

    Vielleicht weiss es ja jemand anderes.

    Warum Outlook bei Dir einen Meckermeldung bringt kann ich Dir leider auch nicht sagen.

    Ein "/etc/init.d/postfix restart" hast Du sicherlich gemacht oder? Danach ein "tail -f -n 100 /var/log/mail.log" um zu sehen was abgeht?

    Ich habe meine main.cf nach dem Howto von Howtoforge und aus dem Hetzner Wiki angepasst. Danach habe ich noch andere RBL Listen genommen, die zum einen erreichbar sind und zum anderen eine große Wirkung zeigen.

    Es macht übrigends nach meiner Erfahrung keinen Sinn eine unmenge an RBL Listen einzubauen. Lieber eine kleine feine Auswahl. Denn meistens stoppt schon die erste RBL Liste den Spam ;)

    cu

    dexcom
     
  8. Till

    Till Administrator

    Outlook wird rummmeckern weil irgendwo im outlook setup eine nicht vollständige Domain steht. Outlook ist halt eher eine Intranet Software die mit exchange zusammen arbeitet und da werden öfters unvollständige Domains verwendet... Schau mal nach dass Du überall sog. FQDN, also Fully Qualified Domain Names drin stehen hast, sowas wie meinedomain.de und nicht nur meinedomain.
     
  9. M. Zink

    M. Zink New Member

    Nun ja, das stimmt tatsächlich. Der verwendet als Domain den Name meines PC. Was soll der Schwachsinn denn? Der müsste doch als Absendedomäne die Domäne der Mailadresse verwenden oder sehe ich das falsch? Der Empfänger braucht doch nicht zu wissen wie mein PC heißt und ohne Server mit Domäne wird mein PC auch nie ne vollwertige Domäne haben.

    Liegt das Problem denn rein an Outlook oder an meiner Rechnerkonfiguration?
     
  10. Till

    Till Administrator

    Ich vermute, dass es an outlook liegt. Hast Du denn für das Senden die SMTP Authentifizierung eingeschaltet, dann sollte postfix das ignorieren.
     
  11. M. Zink

    M. Zink New Member

    Jep die ist an. Ich werd heut Abend mal schauen wenn ich zuhause bin. Hier im Büro hab ich ja nen Exchange laufen und der macht absolut keine Zicken. Mal sehen was da los ist vielleicht find ich das Problem ja ganz in Ruhe.
     
  12. Lonesome Walker

    Lonesome Walker New Member

    Ich weiß, daß es eine alte Frage ist, aber für alle, die hier mal drüberstolpern:

    JA, das is enorm wichtig, denn wenn man eine restriction macht, dann gewinnt immer die regel zuerst, die greift.
    Wenn die Kette abgearbeitet ist, und kein permit (erlaubt) da steht, bedeutet das:

    smtpd_sender_restrictions =
    permit_sasl_authenticated -> wenn er sasl-authentifiziert ist, dann okay
    permit_mynetworks -> wenn er aus dem mynetworks kommt, auch okay
    reject_non_fqdn_sender -> wenn kein fqdn vorliegt, tschüss
    reject_unknown_sender_domain -> wenn sender-domain unbekannt ist -> tschüss
    permit -> ansonsten ausliefern ;)
     

Diese Seite empfehlen