Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

Problemy z Postfix z podpisywaniem DKIM i szybkością


13 odpowiedzi na ten temat

Problemy z Postfix z podpisywaniem DKIM i szybkością

#1 pietrovek

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 128 postów

Napisany 01 grudzień 2011 - 09:57

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.

#2 patrys

    Czarny charakter

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 2029 postów
  • Skąd:Słupsk
  • Imię:Patryk

Napisany 01 grudzień 2011 - 10:18

Pokaż konfiguracje ...
.

#3 pietrovek

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 128 postów

Napisany 01 grudzień 2011 - 10:24

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}

Ten post był edytowany przez pietrovek dnia: 01 grudzień 2011 - 10:25


#4 pietrovek

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 128 postów

Napisany 05 grudzień 2011 - 14:49

odświeżam temat...

#5 tom3kk

    Często na forum

  • Użytkownicy
  • 72 postów
  • Skąd:Oświęcim

Napisany 09 grudzień 2011 - 01:12

Piszesz ze wysylasz wiadomosci poprzez skrypt PHP, jakiej metody wysylania uzywa ten skrypt?
stary slackware'owiec

irc.freenode.net  @ #slackware.pl

#6 pietrovek

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 128 postów

Napisany 09 grudzień 2011 - 08:44

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...

#7 tom3kk

    Często na forum

  • Użytkownicy
  • 72 postów
  • Skąd:Oświęcim

Napisany 09 grudzień 2011 - 10:45

Zobacz postpietrovek, o 09 grudzień 2011 - 08:44, powiedział:

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.
stary slackware'owiec

irc.freenode.net  @ #slackware.pl

#8 diaraf

    Nowy użytkownik

  • Użytkownicy
  • 15 postów

Napisany 09 grudzień 2011 - 11:12

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.

#9 patrys

    Czarny charakter

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 2029 postów
  • Skąd:Słupsk
  • Imię:Patryk

Napisany 09 grudzień 2011 - 11:17

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 ?
.

#10 tom3kk

    Często na forum

  • Użytkownicy
  • 72 postów
  • Skąd:Oświęcim

Napisany 09 grudzień 2011 - 11:41

zasugeruj sie tym co kolega patrys napisal,
dodatkowo -> http://www.postfix.o...ING_README.html
stary slackware'owiec

irc.freenode.net  @ #slackware.pl

#11 pietrovek

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 128 postów

Napisany 09 grudzień 2011 - 12:12

Cytuj

korzystasz z dkim-filter

dokładnie...

Cytuj

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?

#12 patrys

    Czarny charakter

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 2029 postów
  • Skąd:Słupsk
  • Imię:Patryk

Napisany 09 grudzień 2011 - 12:39

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 ;)
.

#13 pietrovek

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 128 postów

Napisany 09 grudzień 2011 - 12:53

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...

Ten post był edytowany przez pietrovek dnia: 09 grudzień 2011 - 12:54


#14 centos

    Nowy użytkownik

  • Użytkownicy
  • 2 postów
  • Firma:CentOS.com.pl

Napisany 14 grudzień 2011 - 22:17

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





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników