RSS

How to install Razor and Pyzor on CentOS6 (For Anti-spam & SpamAssasin)

11 Oct

1. Create /etc/yum.repos.d/epel.repo

[epel]
name=EPEL repository
baseurl=http://mirrors.kernel.org/fedora-epel/6/x86_64
enabled=1
gpgcheck=0

[root@mail] yum install pyzor perl-Razor-Agent

Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: centos.excellmedia.net
* extras: centos.excellmedia.net
* updates: centos.excellmedia.net
epel                                                     | 4.3 kB     00:00
epel/primary_db                                          | 5.9 MB     00:29
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
–> Running transaction check
—> Package perl-Razor-Agent.x86_64 0:2.85-6.el6 will be installed
–> Processing Dependency: perl(URI::Escape) for package: perl-Razor-Agent-2.85-6.el6.x86_64
–> Processing Dependency: perl(Net::DNS) for package: perl-Razor-Agent-2.85-6.el6.x86_64
—> Package pyzor.noarch 0:0.5.0-3.el6 will be installed
–> Running transaction check
—> Package perl-Net-DNS.x86_64 0:0.65-5.el6 will be installed
–> Processing Dependency: perl(Digest::HMAC_MD5) for package: perl-Net-DNS-0.65-5.el6.x86_64
—> Package perl-URI.noarch 0:1.40-2.el6 will be installed
–> Running transaction check
—> Package perl-Digest-HMAC.noarch 0:1.01-22.el6 will be installed
–> Processing Dependency: perl(Digest::SHA1) for package: perl-Digest-HMAC-1.01-22.el6.noarch
–> Running transaction check
—> Package perl-Digest-SHA1.x86_64 0:2.12-2.el6 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package                  Arch           Version             Repository    Size
================================================================================
Installing:
perl-Razor-Agent         x86_64         2.85-6.el6          epel         119 k
pyzor                    noarch         0.5.0-3.el6         epel          57 k
Installing for dependencies:
perl-Digest-HMAC         noarch         1.01-22.el6         base          22 k
perl-Digest-SHA1         x86_64         2.12-2.el6          base          49 k
perl-Net-DNS             x86_64         0.65-5.el6          base         232 k
perl-URI                 noarch         1.40-2.el6          base         117 k

Transaction Summary
================================================================================
Install       6 Package(s)

Total download size: 596 k
Installed size: 1.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): perl-Digest-HMAC-1.01-22.el6.noarch.rpm           |  22 kB     00:00
(2/6): perl-Digest-SHA1-2.12-2.el6.x86_64.rpm            |  49 kB     00:00
(3/6): perl-Net-DNS-0.65-5.el6.x86_64.rpm                | 232 kB     00:00
(4/6): perl-Razor-Agent-2.85-6.el6.x86_64.rpm            | 119 kB     00:00
(5/6): perl-URI-1.40-2.el6.noarch.rpm                    | 117 kB     00:00
(6/6): pyzor-0.5.0-3.el6.noarch.rpm                      |  57 kB     00:00
——————————————————————————–
Total                                           129 kB/s | 596 kB     00:04
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-URI-1.40-2.el6.noarch                                   1/6
Installing : perl-Digest-SHA1-2.12-2.el6.x86_64                           2/6
Installing : perl-Digest-HMAC-1.01-22.el6.noarch                          3/6
Installing : perl-Net-DNS-0.65-5.el6.x86_64                               4/6
Installing : perl-Razor-Agent-2.85-6.el6.x86_64                           5/6
Installing : pyzor-0.5.0-3.el6.noarch                                     6/6
Verifying  : perl-Digest-HMAC-1.01-22.el6.noarch                          1/6
Verifying  : perl-Net-DNS-0.65-5.el6.x86_64                               2/6
Verifying  : perl-Digest-SHA1-2.12-2.el6.x86_64                           3/6
Verifying  : perl-URI-1.40-2.el6.noarch                                   4/6
Verifying  : perl-Razor-Agent-2.85-6.el6.x86_64                           5/6
Verifying  : pyzor-0.5.0-3.el6.noarch                                     6/6

Installed:
perl-Razor-Agent.x86_64 0:2.85-6.el6        pyzor.noarch 0:0.5.0-3.el6

Dependency Installed:
perl-Digest-HMAC.noarch 0:1.01-22.el6   perl-Digest-SHA1.x86_64 0:2.12-2.el6
perl-Net-DNS.x86_64 0:0.65-5.el6        perl-URI.noarch 0:1.40-2.el6

Complete!

2. Configuring Pyzor

[root@mail ]# mkdir /opt/zimbra/amavisd/.pyzor -p
[root@mail ]# chown zimbra:zimbra /opt/zimbra/amavisd/.pyzor

As the zimbra user

[root@mail ]# su zimbra
[zimbra@mail ]$ pyzor –homedir /opt/zimbra/amavisd/.pyzor discover
downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x
[zimbra@mail ]$

Update /opt/zimbra/data/spamassassin/localrules/sauser.cf

# pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
pyzor_options –homedir /opt/zimbra/data/amavisd/.pyzor
# DNS lookups for pyzor can time out easily.  Set the following line IF you want to give pyzor up to 20 seconds to respond
# may slow down email delivery
pyzor_timeout 20

[root@mail localrules]# chown -Rf zimbra:zimbra sauser.cf

3. Configuring Razor

[root@mail /]# mkdir /opt/zimbra/amavisd/.razor
[root@mail /]# chown -Rf zimbra:zimbra /opt/zimbra/amavisd/.razor

As the zimbra user

[zimbra@mail /]$ razor-admin -home=/opt/zimbra/data/amavisd/.razor -create
[zimbra@mail /]$ razor-admin -home=/opt/zimbra/data/amavisd/.razor -discover
[zimbra@mail /]$ razor-admin -home=/opt/zimbra/data/amavisd/.razor -register -user postmaster@domain.com
Register successful.  Identity stored in /opt/zimbra/data/amavisd/.razor/identity-postmaster@domain.com

Update /opt/zimbra/data/spamassassin/localrules/sauser.cf

# razor
use_razor2 1

4. Update SpamAssassin scoring

Update /opt/zimbra/data/spamassassin/localrules/sauser.cf

ok_languages en es
ok_locales en es
trusted_networks 127. 192.168.
use_bayes 1
skip_rbl_checks 0

# pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor

# DNS lookups for pyzor can time out easily.  Set the following line IF you want to give pyzor up to 20 seconds to respond
# may slow down email delivery
pyzor_timeout 20

# razor
use_razor2 1

score URIBL_BLACK 4.250
score RAZOR2_CHECK 3.250
score PYZOR_CHECK 3.250
score RP_MATCHES_RCVD -0.000
score BAYES_00 -1.000
score BAYES_20 1.000
score BAYES_50 1.500
score BAYES_60 1.800
score BAYES_80 2.100
score BAYES_90 2.500
score BAYES_99 2.900
score BAYES_999 3.800

5. Add custom rules from Kevin McGrail to your scores

As zimbra user:

cd /opt/zimbra/data/spamassassin/localrules
wget -N https://www.pccc.com/downloads/SpamAssassin/contrib/KAM.cf
zmamavisdctl restart

6. Enable DCC

[root@mail localrules]# mkdir -p /opt/zimbra/dcc-1.3.158
[root@mail localrules]# chown zimbra:zimbra /opt/zimbra/dcc-1.3.158
[root@mail localrules]# cd /opt/zimbra/
[root@mail localrules]# ln -s dcc-1.3.158 dcc

As zimbra user:

[zimbra@mail]$ cd /tmp
[zimbra@mail]$ mkdir dcc
[zimbra@mail]$ wget https://www.dcc-servers.net/dcc/source/dcc.tar.Z
[zimbra@mail]$ tar xfz dcc.tar.Z
[zimbra@mail]$ cd dcc-1.3.158
[zimbra@mail]$ mv * /opt/zimbra/dcc-1.3.158/
[zimbra@mail]$ ./configure –homedir=/opt/zimbra/dcc-1.3.158 –disable-sys-inst –with-uid=zimbra –disable-server –disable-dccifd –disable-dccm –with-updatedcc_pfile=/opt/zimbra/data/dcc –with-rundir=/opt/zimbra/data/dcc/run –bindir=/opt/zimbra/dcc/bin

[zimbra@mail]$ make
[zimbra@mail]$ make install
[zimbra@mail]$ cd /opt/zimbra/data
[zimbra@mail data]$ mkdir -p dcc/run

Update /opt/zimbra/data/spamassassin/localrules/sauser.cf

use_dcc 1
dcc_path /opt/zimbra/dcc/bin/dccproc

Update /opt/zimbra/data/spamassassin/localrules/v310.pre

loadplugin Mail::SpamAssassin::Plugin::DCC  // Uncomment it

[zimbra@mail]$ zmamavisdctl restart

To see if it’s working with your spam .eml:

/opt/zimbra/zimbramon/bin/spamassassin -t -D < /tmp/sample_spam.eml

You should see the DCC_CHECK rule hit.

Install the SOUGHT rules:

cd /tmp
wget http://yerp.org/rules/GPG.KEY
su – zimbra
/opt/zimbra/zimbramon/bin/sa-update –import /tmp/GPG.KEY

Edit the file /opt/zimbra/libexec/zmsaupdate, and change the my $sa variable (~line 58) from:

my $sa=”/opt/zimbra/zimbramon/bin/sa-update -v –channel sought.rules.yerp.org –channel updates.spamassassin.org –gpgkey 6C6191E3 –allowplugins –refreshmirrors >/dev/null 2>&1″;

 
Leave a comment

Posted by on October 11, 2016 in Documents, Linux, Security, Spam Filter, Zimbra

 

Leave a comment