control:
domain = ( linux-magazin.com )
access = ( root )
Schedule = ( Min00_05 Min15_20 Min30_35 Min45_50 )
actionsequence = ( packages copy directories editfiles files tidy shellcommands )
masterfiles = ( /var/lib/cfengine/masterfiles/files )
AddInstallable = ( RELOAD_SPAMASSASSIN RELOAD_POSTFIX RESTART_SASLAUTHD )
DefaultPkgMgr = ( dpkg )
DPKGInstallCommand = ( "/usr/bin/apt-get install -q -y --force-yes %s" )
groups:
MailServers = ( mail01 mail02 aptest )
packages:
MailServers::
sasl2-bin action=install
libsasl2-modules action=install
postfix action=install
spamassassin action=install
spamc action=install
cyrus-imapd-2.2 action=install
directories:
MailServers::
/var/spool/postfix/var/run/saslauthd mode=710 owner=root group=sasl
/home/spamd mode=750 owner=108 group=nogroup
copy:
MailServers::
(masterfiles)/spamassassin/ dest=/etc/spamassassin/
mode=644
server=$(policyhost)
define=RELOAD_SPAMASSASSIN
recurse=inf
editfiles:
MailServers::
{ /etc/postfix/main.cf
AppendIfNoSuchLine "smtpd_sasl_auth_enable = yes"
BeginGroupIfNoLineContaining "smtpd_recipient_restrictions"
Append "smtpd_recipient_restrictions = permit_sasl_authenticated, reject"
EndGroup
DefineClasses "RELOAD_POSTFIX"
}
{ /etc/passwd
AppendIfNoSuchLine "spamd:x:108:65534::/home/spamd:/bin/false"
}
{ /etc/postfix/master.cf
LocateLineMatching "^smtp.*smtpd$"
AppendToLineIfNotContains " -o content_filter=spamassassin
-o myhostname=$(fqhost)
-o receive_override_options=no_address_mappings"
AppendIfNoSuchLine "spamassassin unix - n n - - pipe
user=spamd
argv=/usr/bin/spamc -f
-e /usr/sbin/sendmail -oi -f ${sender} ${recipient}"
}
{ /etc/postfix/sasl/smtpd.conf
AutoCreate
AppendIfNoSuchLine "pwcheck_method: saslauthd"
AppendIfNoSuchLine "log_level: 3"
AppendIfNoSuchLine "mech_list: plain login"
}
{ /etc/default/spamassassin
LocateLineMatching "^ENABLED=0$"
ReplaceLineWith "ENABLED=1"
}
{ /etc/default/saslauthd
LocateLineMatching "^START=no$"
CatchAbort
ReplaceLineWith "START=yes"
CommentLinesMatching '^OPTIONS="-c"'
AppendIfNoSuchLine 'OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"'
DefineClasses "RESTART_SASLAUTHD"
}
{ /etc/spamassassin/local.cf
UnCommentLinesContaining "rewrite_header Subject"
}
{ /etc/group
LocateLineMatching "^sasl.*"
AppendToLineIfNotContains ",postfix"
}
alerts:
MailServers.smtp_in_high_anomaly::
"High SMTP incoming rate at $(host) value: $(value_smtp_in) average: $(average_smtp_in)"
ShowState(incoming.smtp) ifelapsed=60
shellcommands:
MailServers.Hr03_Q1::
"/usr/bin/sa-update && /etc/init.d/spamassassin reload"
MailServers.RELOAD_SPAMASSASSIN::
"/etc/init.d/spamassassin restart" ifelapsed=10
MailServers.RESTART_SASLAUTHD::
"/etc/init.d/saslauthd restart"
MailServers.RELOAD_POSTFIX::
"/etc/init.d/postfix reload"