Postfix Backup MX

From Frotmail Projects
Jump to navigation Jump to search

Dit is een alternatieve manier om een Backup MX te draaien op een lichtgewicht machine.

Een van de bronnen waar ik dit vandaan heb is Hier

Functie

De functie van een backup MX server, is om mail aan te nemen wanneer de primaire server onbereikbaar is. Omdat spammers steeds vaker de backup-mx gebruiken om hun mail op te dumpen (daar draait vaak een lichtere vorm van filtering) is het belangrijk dat je hiervoor maatregelen neemt. Een aantal maatregels beschrijf ik hier.

Postfix main.cf

Allereerst moet postfix mail gaan accepteren voor het domein:

relay_domains = frotmail.nl, $mydestination


Een optie is om ook alle users van je primaire mailserver hier te vermelden, als relay_recipient_maps. Dit voorkomt dat mail voor een niet-bestaande mailbox kan worden afgeleverd. Zie daarvoor deze manual. Ik gebruik dit niet omdat ik een wildcard mailbox heb en dus niets heb aan deze functie.

Dan willen we voorkomen dat iedereen spam kan sturen door wat sanity checks uit te voeren:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
  reject_non_fqdn_hostname,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unauth_destination,
  reject_unauth_pipelining,
  reject_invalid_hostname,
  reject_rbl_client zen.spamhaus.org
# helo required

smtpd_helo_required = yes
# disable vrfy command
disable_vrfy_command = yes

smtpd_data_restrictions =
            reject_unauth_pipelining,
            permit

Dit zorgt ervoor dat hij zen.spamhaus.org gebruikt als DNS blacklist provider. Dit houd al ERG veel SPAM tegen.

De volgende meldingen zie je dan in je logging

Mar  9 12:36:20 vps postfix/smtpd[7213]: NOQUEUE: reject: RCPT from wsip-70-167-198-206.ph.ph.cox.ne
t[70.167.198.206]: 554 5.7.1 Service unavailable; Client host [70.167.198.206] blocked using zen.spa
mhaus.org; http://www.spamhaus.org/query/bl?ip=70.167.198.206; from=<postmail-usid.4267@oakland.com>
to=<wperic@frotmail.nl> proto=SMTP helo=<oakland.com>

De volgende maatregel is het zgn Greylisten

postgrey

Om postfix te laten greylisten kunnen we het pakket postgrey installeren

apt-get install postgrey

Deze applicatie heeft erg weinig instellingen nodig en kan zonder aanpassingen gebruikt worden door Postfix.

Wel moeten we de main.cf van Postfix nog een keer aanpassen om deze extra check in te bouwen:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
  reject_non_fqdn_hostname,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unauth_destination,
  reject_unauth_pipelining,
  reject_invalid_hostname,
  reject_rbl_client zen.spamhaus.org,
  check_policy_service inet:127.0.0.1:10023

Als we dan postfix herstarten (postfix reload) zien we de volgende meldingen in de mail.log:

Mar  9 13:56:30 tweak postfix/smtpd[17956]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx]: 450 
4.2.0 <boeiend@frotmail.nl>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.
ch/help/frotmail.nl.html; from=<test@test> to=<boeiend@frotmail.nl> proto=ESMTP helo=<test.test.lan>

MX Prio's

Tenslotte zie je vaak dat SPAM bij voorkeur op je secundaire mailserver wordt afgeleverd. Ik heb daarom 3 mx records gemaakt:

Prio    Server                IP
10      mail.frotmail.nl      [mijn server]
20      mx02.frotmail.nl      [mijn backup MX]
30      mx01.frotmail.nl      [mijn server weer]

Zo zal hij de backup MX niet gebruiken als mijn server nog gewoon online is