pietrovek 19 Zgłoś post Napisano Grudzień 1, 2011 Witam! Mam skonfigurowany MTA postfix+antywirus+antyspam+dkim, problem w tym iż wysyłając cokolwiek przy użyciu php, wiadomości nie są podpisywane przez DKIM ani nie są skanowane przez antyspam i antywirus - zastanawiam się gdzie popełniłem błąd w konfiguracji że posftix nadane wiadomości lokalnie nie skanuje i nie podpisuje? wysyłając np. z Tunderbird (z innego IP niż serwera) wszystko jest pospisywane i skanowane. Druga sprawa, iż wysłanie 700 maili (php w pętli - przez stronę www) zajmuje serwerowi ok. 30min - wydaje mi się to za dużo - gdzie mogę szukać wąskich gardeł? Serwer dedykowany na i7, przy wysłaniu 700maili z www pracuje tylko w 10% więc to nie problem "wydajności sprzętu" Pozdrawiam. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Grudzień 1, 2011 Pokaż konfiguracje ... Udostępnij ten post Link to postu Udostępnij na innych stronach
pietrovek 19 Zgłoś post Napisano Grudzień 1, 2011 (edytowany) main.cf # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname 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 readme_directory = /usr/share/doc/postfix # TLS parameters smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = s1.domena.pl mydestination = localhost, localhost.localdomain mynetworks = 127.0.0.0/8 virtual_alias_domains = virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_mailbox_base = /home/vmail virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes #smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf, hash:/etc/postfix/transport virtual_create_maildirsize = yes virtual_maildir_extended = yes virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = "The user you are trying to reach is over quota." virtual_overquota_bounce = yes proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps virtual_transport = dovecot dovecot_destination_recipient_limit = 1 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth receive_override_options = no_address_mappings mime_header_checks = regexp:/etc/postfix/mime_header_checks.regexp smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_auth_only = no smtpd_tls_ask_ccert = yes smtpd_tls_mandatory_protocols = SSLv3, TLSv1 smtpd_tls_loglevel = 4 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_tls_cert_file = /etc/postfix/smtpd.cert smtpd_tls_key_file = /etc/postfix/smtpd.key #smtpd_tls_CAfile = /postfix/localhost.crt recipient_delimiter=+ default_rbl_reply = $rbl_code Service unavailable; $rbl_class #[$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason} smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, #RBL's reject_rbl_client zen.spamhaus.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client bl.spamcop.net, permit message_size_limit = 209715200 master.cf # # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master"). # # Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - - - - smtpd -o content_filter=scan:127.0.0.1:10025 -o milter_default_action=accept -o milter_protocol=2 -o smtpd_milters=inet:localhost:8891 -o non_smtpd_milters=inet:localhost:8891 submission inet n - - - - smtpd -o content_filter=scan:127.0.0.1:10025 -o milter_default_action=accept -o milter_protocol=2 -o smtpd_milters=inet:localhost:8891 -o non_smtpd_milters=inet:localhost:8891 smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o content_filter=scan:127.0.0.1:10025 -o milter_default_action=accept -o milter_protocol=2 -o smtpd_milters=inet:localhost:8891 -o non_smtpd_milters=inet:localhost:8891 #submission inet n - - - - smtpd # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - - - - smtpd # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - - - - qmqpd pickup fifo n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - - 300 1 oqmgr 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 # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix - - - - - smtp -o smtp_fallback_relay= # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 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 # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # 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} dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient} spamd unix - n n - - pipe user=vmail argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} # AV scan filter (used by content_filter) scan unix - - n - 32 smtp -o smtp_send_xforward_command=yes # For injecting mail back into postfix from the filter 127.0.0.1:10026 inet n - n - 32 smtpd -o content_filter=spamd -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8 vacation unix - n n - - pipe flags=Rq user=vacation argv=/var/mail/vacation/vacation.pl -f ${sender} -- ${recipient} Edytowano Grudzień 1, 2011 przez pietrovek (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
pietrovek 19 Zgłoś post Napisano Grudzień 5, 2011 odświeżam temat... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość tom3kk Zgłoś post Napisano Grudzień 9, 2011 Piszesz ze wysylasz wiadomosci poprzez skrypt PHP, jakiej metody wysylania uzywa ten skrypt? Udostępnij ten post Link to postu Udostępnij na innych stronach
pietrovek 19 Zgłoś post Napisano Grudzień 9, 2011 w kwestii podpisywania dałem sobie radę - właśnie poprzez zmianę sposobu wysyłania - nie metoda mail() tylko przez klasę PHPMailer i autoryzację SMTP. jednak problem wydajności nadal istnieje - 700maili w 30min - to niezbyt dobry wynik... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość tom3kk Zgłoś post Napisano Grudzień 9, 2011 w kwestii podpisywania dałem sobie radę - właśnie poprzez zmianę sposobu wysyłania - nie metoda mail() tylko przez klasę PHPMailer i autoryzację SMTP. No wlasnie, do tego zmierzalem. Zapewne w petli je wysylasz, zaobserwuj sobie kolejke postfixa i zobacz jak szybko maile z niej schodza. Udostępnij ten post Link to postu Udostępnij na innych stronach
diaraf 0 Zgłoś post Napisano Grudzień 9, 2011 Ja na swoim vpsie zainstalowałem sobie virtualmina który mi wszystko skonfigurował sam, antywirusa nie używam bo przychodzące maile mi lecą na google apps natomiast wysyłałem maile przez php mailera funkcją mail i wszystko ładnie podpisane przed dkim i wydajność ~150maili na minutę. Realizowałem tak klientowi mailing do 400k adresów. wszystko zeszło jedynie onet robił jaja bo maja limity i wisiało w kolejce. Najlepsze że wbrew ogólnym opiniom nie trafiłem na RBL itp. przez ilość maili w krótkim czasie. Konfig oczywiście z spf i dkim, skrypt phpmailera sobie przerobiłem troszkę pod siebie i dodałem skrypt ze statystykami do wysyłek tzn. obliczenia prędkości wysyłki, czas zakończenia mailingu itp. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Grudzień 9, 2011 Nie wiem czemu połączenie do dkima jets podane jako opcja w master.cf Daj to w main.cf: milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891 Jak już będziesz czyścił, wyrzuć też parametr połączenia do amavisa i sprawdź tą szybkość. Bo to ten deamon będzie tu wąskim gardłem. Tak w ogóle to powinno podpisywać wszystkie wychodzące maile, korzystasz z dkim-filter ? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość tom3kk Zgłoś post Napisano Grudzień 9, 2011 zasugeruj sie tym co kolega patrys napisal, dodatkowo -> http://www.postfix.org/TUNING_README.html Udostępnij ten post Link to postu Udostępnij na innych stronach
pietrovek 19 Zgłoś post Napisano Grudzień 9, 2011 korzystasz z dkim-filter dokładnie... Nie wiem czemu połączenie do dkima jets podane jako opcja w master.cf zasadniczo dlatego iż jak dałem to w main.cf to maile były podpisywane 3 razy... (3 naglowki DKIM w jednej wiadomości) co wydało mi się odrobinkę nieprawidłowe poobserwuję kolejkę przy wysyłaniu i zobaczę - może coś wywnioskuję...i dam znać jak mam wyłączyć amavisa to w jaki sposób skanować antywirusowo maile? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Grudzień 9, 2011 Konfiguracja dkim-filter jest dość prosta, jednak ją sprawdź. Używam tego na wielu serwerach/domenach i na pewno działa to poprawnie. Definicja połączenia w main.cf, jest też poprawna na pewno podpisze raz maila. Zastanów się czy jest potrzebne to skanowanie antywirusowe, używasz kilku odrzuceń sprawdzających smtp, dodatkowo masz sprawdzenie list rbl ( w sumie spamcop i spamhaus Ci starczy ). Wydajność po odłączeniu filtrowania na pewno się zwiększy Udostępnij ten post Link to postu Udostępnij na innych stronach
pietrovek 19 Zgłoś post Napisano Grudzień 9, 2011 (edytowany) konfiguracja dkim-filter jest w sumie standardowa...myślę że 3 krotne podpisywanie związane jest z "hop'ami" jaką przechodzi wiadomość 1. nadawca->serwer(postfix) 2. serwer(posftix)->amavis 3. amavis->serwer(posftix) gdy wiadomość "przychodzi do MTA" jest podpisywana - stąd 3 nagłówki... przemyślę sprawę antywirusa - w sumie jakiś czas już ten serwer działa a narazie antywirus nie przydał się ani razu... Edytowano Grudzień 9, 2011 przez pietrovek (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
centos 0 Zgłoś post Napisano Grudzień 14, 2011 Witam Co do podłączenia antywirusa do postfixa to polecałbym clamsmtp- wydajny i prosty, a zarazem spełnia swoje zadanie. Jeśli korzystasz z amavisa, niepotrzebny Ci dkim-milter. Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach