2015-03-31 15:27:54 +00:00
|
|
|
#
|
|
|
|
# Postfix master process configuration file. For details on the format
|
|
|
|
# of the file, see the master(5) manual page (command: "man 5 master" or
|
|
|
|
# on-line: http://www.postfix.org/master.5.html).
|
|
|
|
#
|
|
|
|
# Do not forget to execute "postfix reload" after editing this file.
|
|
|
|
#
|
|
|
|
# ==========================================================================
|
|
|
|
# service type private unpriv chroot wakeup maxproc command + args
|
2017-05-22 07:28:32 +00:00
|
|
|
# (yes) (yes) (no) (never) (100)
|
2015-03-31 15:27:54 +00:00
|
|
|
# ==========================================================================
|
2015-03-31 20:21:56 +00:00
|
|
|
|
Introducing Postscreen (#799)
* Introduced Postscreen
cheaper, earlier and simpler blocking of zombies/spambots.
From http://postfix.cs.utah.edu/POSTSCREEN_README.html :
As a first layer, postscreen(8) blocks connections from zombies and other spambots that are responsible for about 90% of all spam. It is implemented as a single process to make this defense as cheap as possible.
Things we need to consider:
- Do we need a whitelist/backlist file? (http://postfix.cs.utah.edu/postconf.5.html#postscreen_access_list)
- Via introducing an optional config/postfix-access.cidr
- The only permanent whitelisting I could imagine are monitoring services(which might (still?) behave weird/hastely) or blacklisting backup servers(since no traffic should be coming from them anyway)
- Do we need deep inspections? They are desireable, but these tests are expensive: a good client must disconnect after it passes the test, before it can talk to a real Postfix SMTP server. Considered tests are:
- postscreen_bare_newline_enable (http://postfix.cs.utah.edu/postconf.5.html#postscreen_bare_newline_action)
- postscreen_non_smtp_command_enable (http://postfix.cs.utah.edu/postconf.5.html#postscreen_non_smtp_command_action)
- postscreen_pipelining_enable (http://postfix.cs.utah.edu/postconf.5.html#postscreen_pipelining_action)
- Do we need to make the blacklisting via dnsblocking configurable? It's currently set and weighted as follows, where a score of 3 results in blocking, a score of -1 results in whitelisting:
(*: adds the specified weight to the SMTP client's DNSBL score. Specify a negative number for whitelisting.)
(http://postfix.cs.utah.edu/postconf.5.html#postscreen_dnsbl_sites)
- zen.spamhaus.org*3
- bl.mailspike.net
- b.barracudacentral.org*2
- bl.spameatingmonkey.net
- bl.spamcop.net
- dnsbl.sorbs.net
- psbl.surriel.com
- list.dnswl.org=127.0.[0..255].0*-2
- list.dnswl.org=127.0.[0..255].1*-3
- list.dnswl.org=127.0.[0..255].[2..3]*-4
- What to do when blacklisting? I currently set it to drop. We could
- ignore: Ignore the failure of this test. Allow other tests to complete. Repeat this test the next time the client connects. This option is useful for testing and collecting statistics without blocking mail.
- enforce: Allow other tests to complete. Reject attempts to deliver mail with a 550 SMTP reply, and log the helo/sender/recipient information. Repeat this test the next time the client connects.
- drop: Drop the connection immediately with a 521 SMTP reply. Repeat this test the next time the client connects.
In the end I think we could drop postgrey support. Postscreen replaces postgrey in its entirety, while being more selective and not delaying mail. Especially if we consider using the deep inspection options of postscreen.
Hope that wasn't too much to read! ;)
* main.cf got misformatted..
Don't know how, should be ok now.
* fixed malformatted main.cf & repaired master.cf
* reenabled rbl stuff.. It's cached, therefore doesn't hurt
* fixed tests
* added tests, repaired tests, added info, introduced new Variable POSTSCREEN_ACTION, fixes
2018-02-04 20:31:08 +00:00
|
|
|
smtp inet n - n - 1 postscreen
|
|
|
|
smtpd pass - - n - - smtpd
|
|
|
|
tlsproxy unix - - n - 0 tlsproxy
|
|
|
|
dnsblog unix - - n - 0 dnsblog
|
2015-03-31 15:27:54 +00:00
|
|
|
submission inet n - n - - smtpd
|
|
|
|
-o syslog_name=postfix/submission
|
|
|
|
-o smtpd_tls_security_level=encrypt
|
|
|
|
-o smtpd_sasl_auth_enable=yes
|
2016-04-07 12:20:51 +00:00
|
|
|
-o smtpd_sasl_type=dovecot
|
|
|
|
-o smtpd_sasl_path=private/auth
|
2015-03-31 15:27:54 +00:00
|
|
|
-o smtpd_reject_unlisted_recipient=no
|
|
|
|
-o smtpd_sasl_authenticated_header=yes
|
|
|
|
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
|
|
|
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
|
|
|
|
-o milter_macro_daemon_name=ORIGINATING
|
2017-08-09 21:19:00 +00:00
|
|
|
-o cleanup_service_name=sender-cleanup
|
2017-09-07 16:08:25 +00:00
|
|
|
|
|
|
|
smtps inet n - n - - smtpd
|
|
|
|
-o syslog_name=postfix/smtps
|
|
|
|
-o smtpd_tls_wrappermode=yes
|
|
|
|
-o smtpd_sasl_auth_enable=yes
|
|
|
|
-o smtpd_sasl_type=dovecot
|
|
|
|
-o smtpd_sasl_path=private/auth
|
|
|
|
-o smtpd_reject_unlisted_recipient=no
|
|
|
|
-o smtpd_sasl_authenticated_header=yes
|
|
|
|
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
|
|
|
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
|
|
|
|
-o milter_macro_daemon_name=ORIGINATING
|
2017-08-09 21:19:00 +00:00
|
|
|
-o cleanup_service_name=sender-cleanup
|
2017-09-07 16:08:25 +00:00
|
|
|
|
2017-05-22 07:28:32 +00:00
|
|
|
pickup fifo n - y 60 1 pickup
|
2015-03-31 15:27:54 +00:00
|
|
|
-o content_filter=
|
|
|
|
-o receive_override_options=no_header_body_checks
|
|
|
|
|
2017-05-22 07:28:32 +00:00
|
|
|
cleanup unix n - y - 0 cleanup
|
2015-03-31 15:27:54 +00:00
|
|
|
qmgr unix n - n 300 1 qmgr
|
2017-05-22 07:28:32 +00:00
|
|
|
tlsmgr unix - - y 1000? 1 tlsmgr
|
|
|
|
rewrite unix - - y - - trivial-rewrite
|
|
|
|
bounce unix - - y - 0 bounce
|
|
|
|
defer unix - - y - 0 bounce
|
|
|
|
trace unix - - y - 0 bounce
|
|
|
|
verify unix - - y - 1 verify
|
|
|
|
flush unix n - y 1000? 0 flush
|
2015-03-31 15:27:54 +00:00
|
|
|
proxymap unix - - n - - proxymap
|
|
|
|
proxywrite unix - - n - 1 proxymap
|
2017-05-22 07:28:32 +00:00
|
|
|
smtp unix - - y - - smtp
|
|
|
|
relay unix - - y - - smtp
|
|
|
|
showq unix n - y - - showq
|
|
|
|
error unix - - y - - error
|
|
|
|
retry unix - - y - - error
|
|
|
|
discard unix - - y - - discard
|
2015-03-31 15:27:54 +00:00
|
|
|
local unix - n n - - local
|
|
|
|
virtual unix - n n - - virtual
|
2016-10-24 13:03:08 +00:00
|
|
|
lmtp unix - - n - - lmtp
|
2017-05-22 07:28:32 +00:00
|
|
|
anvil unix - - y - 1 anvil
|
|
|
|
scache unix - - y - 1 scache
|
2015-03-31 20:21:56 +00:00
|
|
|
|
2015-03-31 15:27:54 +00:00
|
|
|
maildrop unix - n n - - pipe
|
|
|
|
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
|
|
|
|
uucp unix - n n - - pipe
|
|
|
|
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
|
|
|
|
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}
|
2017-08-09 21:19:00 +00:00
|
|
|
sender-cleanup unix n - - - 0 cleanup
|
|
|
|
-o syslog_name=postfix/sender-cleanup
|
|
|
|
-o header_checks=pcre:/etc/postfix/maps/sender_header_filter.pcre
|
2015-03-31 15:27:54 +00:00
|
|
|
|
2017-03-14 16:21:17 +00:00
|
|
|
#
|
|
|
|
# SPF configuration
|
|
|
|
#
|
|
|
|
policyd-spf unix - n n - 0 spawn
|
|
|
|
user=policyd-spf argv=/usr/bin/policyd-spf
|
2015-03-31 15:27:54 +00:00
|
|
|
|
|
|
|
#
|
2016-04-28 06:57:50 +00:00
|
|
|
# Amavis configuration
|
2015-03-31 15:27:54 +00:00
|
|
|
#
|
|
|
|
|
2017-05-22 07:28:32 +00:00
|
|
|
smtp-amavis unix - - n - 2 smtp
|
2015-03-31 15:27:54 +00:00
|
|
|
-o smtp_data_done_timeout=1200
|
|
|
|
-o smtp_send_xforward_command=yes
|
|
|
|
-o disable_dns_lookups=yes
|
|
|
|
-o max_use=20
|
2016-02-20 02:14:04 +00:00
|
|
|
-o smtp_tls_security_level=none
|
2015-03-31 15:27:54 +00:00
|
|
|
|
2016-01-12 00:02:47 +00:00
|
|
|
127.0.0.1:10025 inet n - n - - smtpd
|
2015-03-31 15:27:54 +00:00
|
|
|
-o content_filter=
|
|
|
|
-o local_recipient_maps=
|
|
|
|
-o relay_recipient_maps=
|
|
|
|
-o smtpd_restriction_classes=
|
|
|
|
-o smtpd_delay_reject=no
|
|
|
|
-o smtpd_client_restrictions=permit_mynetworks,reject
|
|
|
|
-o smtpd_helo_restrictions=
|
|
|
|
-o smtpd_sender_restrictions=
|
|
|
|
-o smtpd_recipient_restrictions=permit_mynetworks,reject
|
|
|
|
-o smtpd_data_restrictions=reject_unauth_pipelining
|
|
|
|
-o smtpd_end_of_data_restrictions=
|
|
|
|
-o mynetworks=127.0.0.0/8
|
|
|
|
-o smtpd_error_sleep_time=0
|
|
|
|
-o smtpd_soft_error_limit=1001
|
|
|
|
-o smtpd_hard_error_limit=1000
|
|
|
|
-o smtpd_client_connection_count_limit=0
|
|
|
|
-o smtpd_client_connection_rate_limit=0
|
2016-10-25 06:57:08 +00:00
|
|
|
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
|
2016-02-20 02:14:04 +00:00
|
|
|
-o smtp_tls_security_level=none
|