Linux/Mailserver/Internet Site
< Linux | Mailserver
Requirements
- Ubuntu 16.04
- server with static ip
- control of dns entries
Spam filtering
Installation
- install
apt install postgrey postfix-policyd-spf-python spamassassin spamass-milter clamav-milter
- edit /etc/postfix/main.cf
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining, smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, smtpd_recipient_restrictions = permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_unknown_sender_domain, permit_mynetworks, reject_rbl_client zen.spamhaus.org, reject_rhsbl_reverse_client dbl.spamhaus.org, reject_rhsbl_helo dbl.spamhaus.org, reject_rhsbl_sender dbl.spamhaus.org, check_policy_service unix:private/policy-spf # check SPF of remote mail server check_policy_service inet:127.0.0.1:10023, # check with postgrey permit policy-spf_time_limit = 3600s
Postgrey
- edit /etc/default/postgrey
POSTGREY_OPTS="--inet=10023 --delay=60"
- restart
systemctl restart postgrey
Postfix-policyd-spf-python
- add to end of /etc/postfix/master.cf
policy-spf unix - n n - - spawn user=nobody argv=/usr/bin/policyd-spf
spamassassin
- add to /etc/postfix/main.cf
smtpd_milters = unix:/spamass/spamass.sock # spamassassin
clam-av
- add to /etc/postfix/main.cf
smtpd_milters = unix:/clamav/clamav-milter.ctl # clam-av virus scan milter_connect_macros="i j {daemon_name} v {if_name} _"
- change /etc/clamav/clamav-milter.conf
MilterSocket /var/spool/postfix/clamav/clamav-milter.ctl MilterSocketGroup postfix