Backup MX Konfiguration

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
Anonymous
 

Backup MX Konfiguration

Post by Anonymous »

Hallo,

ich möchte zu einem Mailserver einen Backupserver aufbauen, entsprechende DNS Einträge (MX mit höherer Priorität) sind erledigt. Die Backupkiste soll halt folgendes tun: annehmen aller Mails, die an ihn herangetragen werden (insofern auch zuständig, es handelt sich um mehrere Domains) und Ausliefern an Mailserver, ggf. vorhalten in der Queue bis Mailserver wieder verfügbar. Zudem sollen ein paar Spam-Abwehrmechanismen umgesetzt werden. Zusätzlich läuft auf der Kiste aber auch ein PHP-Projekt, welches über mail() Nachrichten verschicken soll, diese sollen aber nicht direkt vom Backup ausgeliefert werden, sondern über den richtigen Mailserver. Meine Vorstellung einer main.cf sieht dafür so aus:

Code: Select all

smtpd_tls_ask_ccert = yes
smtpd_tls_key_file = /etc/sslcerts/srv2_key.pem
smtpd_tls_cert_file = /etc/sslcerts/srv2_cert.pem
smtpd_tls_CAfile = /etc/sslcerts/cacert.pem
smtpd_tls_CApath = /etc/sslcerts
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_received_header = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = encrypt
smtp_tls_mandatory_ciphers = high
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password_maps
smtp_sasl_security_options = noanonymous

smtpd_helo_required = yes
smtpd_recipient_restrictions =
    check_recipient_access hash:/etc/postfix/check_recipient_access
    reject_invalid_helo_hostname
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname
    reject_non_fqdn_sender
    reject_unknown_sender_domain
    reject_non_fqdn_recipient
    reject_unknown_recipient_domain
    permit_mynetworks
    reject_unlisted_recipient
    reject_unauth_pipelining
#    reject_rhsbl_client rhsbl.sorbs.net
#    reject_rhsbl_sender rhsbl.sorbs.net
#    reject_rhsbl_recipient rhsbl.sorbs.net
    reject_rbl_client bl.spamcop.net
    reject_rbl_client zen.spamhaus.org
    reject_rbl_client sbl-xbl.spamhaus.org
    reject_rbl_client dnsbl.njabl.org
    check_policy_service inet:127.0.0.1:60000
    reject_unauth_destination

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = srv2.domain.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = srv2.domain.de, localhost
message_size_limit = 20480000
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# permit_mx_backup_networks = 123.123.123.123/32
relayhost = srv1.domain.de
relay_domains = domain.de, other-domain.de
relay_recipient_maps = hash:/etc/postfix/relay_recipient_maps
Mir ist bekannt, das ich durch die reject_non_fqdn_* einige aussperre, auch die RBL sind an dieser Stelle gleich sehr restriktiv. Die check_recipient_access lässt postmaster und abuse-Nachrichten durch. Der Policy-Daemon ist postgrey.
Der Backupserver selbst soll Clients TLS ermöglichen, sich aber auch am Mailserver per TLS und SASL authentifizieren (ist Pflicht). Dass PHP über den richtigen Mailserver verschickt, wird mit relayhost erzwungen. Nun habe ich zwar bereits gemerkt, dass ich mir SPF auf dem Mailserver dadurch kaputt mache, aber dann schalte ich das SPF halt ab.

Mich interessiert prinzipiell, ob ich hier irgendwas übersehen habe, die restrictions evtl. in der falschen Reihenfolge drin habe, oder was halt sonst noch so passieren kann...

Gruß