Distributed Checksum Clearinghouses (DCC) is an anti-spam system based on content hash sharing across multiple servers. Be default, it is not enabled in SpamAssassin as well as requiring a relatively complex setup and is not packaged by several distributions.
DCC can be downloaded from the official website:
and then unpacked, say in /usr/src
:
tar -zxpvf dcc.tar.Z
and then install the required libraries:
aptitude install libmilter-dev
DCC must then be compiled and installed. Issue the following commands from inside the extracted directory:
./configure make install
to install DCC.
DCC uses UDP packets from port 6277
when replying which is blocked by most firewalls.
To allow DCC traffic add the following rules to the firewall:
allow udp local gt 1023 to remote 6277 allow udp remote 6277 to local gt 1023
Add the following rule to the firewall:
iptables -A INPUT -p udp -m udp --dport 1024:65535 --sport 6277 -j ACCEPT
Edit /etc/spamassassin/v310.pre
and enable or add the following line:
loadplugin Mail::SpamAssassin::Plugin::DCC
Next, open /etc/spamassassin/local.cf
and enable or add the following line:
# SpamAssassin DCC dcc_path /usr/local/bin/dccproc
somewhere at the top - note that you should not add the line within conditional if-endif
blocks belonging to some other plugin.
Provided that DCC was installed, issue:
cdcc info
which should query all DCC servers. In case the following message is displayed towards the end:
# 1 total, 0 working servers
then you may have a network issue and should check the firewall for allowing the DCC port.
If changes are made to the firewall, issue:
cdcc rtt
and then again:
cdcc info
to force a re-probe of all DCC servers.
Upgrading DCC to a newer version can be performed manually but the DCC package provides a script that makes the procedure much easier. Simply run the script:
/var/dcc/libexec/updatedcc
and the script should fetch a fresh DCC and upgrade the current install.