What is Vipul's Razor?
Vipul's Razor is a distributed, collaborative, spam detection and filtering network. Razor establishes a distributed and constantly updating catalogue of spam in propagation. This catalogue is used by clients to filter out known spam. On receiving a spam, a Razor Reporting Agent (run by an end-user or a troll box) calculates and submits a 20-character unique identification of the spam (a SHA Digest) to its closest Razor Catalogue Server. The Catalogue Server echos this signature to other trusted servers after storing it in its database. Prior to manual processing or transport-level reception, Razor Filtering Agents (end-users and MTAs) check their incoming mail against a Catalogue Server and filter out or deny transport in case of a signature match. Catalogued spam, once identified and reported by a Reporting Agent, can be blocked out by the rest of the Filtering Agents on the network.
Installing the perl modules the easy way.
As root run:
perl -MCPAN -e shell
If you have never run this it will prompt you to configure it, as with all perl scripts its easy.
you will end up at a prompt like this one,
once there just run this series of commands and all the required modules
for razor will be updated or installed.
Thats it, the cpan module will handle all the dirty work for you.
Setting razor up globally.
First download razor from here, razor 1.19
then just untar and do
After that we will need to create a global procmailrc file /etc/procmailrc
with the following contents
| razor-check -conf /etc/razor.conf
/home/<someuser to check>/mail/razor-caught
You can also use /dev/null on the last line if you trust razor to not false alarm.
next you need to run razor-discover to get a list of razor clearinghouse servers,
you will only have to do this manually once, it will be created in /root/.razor.lst,
just move this file to /etc/razor.lst as next we will create the razor.conf telling it
to use this file instead of ~/.razor.lst.
The final step is to create /etc/razor.conf, all that is really needed is this simple two
line config that allows us to keep everything in /etc.
The whitelist is to exclude addresses from ever being picked up by razor as spam
and should not be needed but is there just in case, details on it can be found in its man
page in the source tree, for some reason its not installed but it can be read with this command
or installed like this (as root)
pod2man man/razor-whitelist.pod > /usr/share/man/man5/razor.whitelist.5
The same also applies to the razor.conf man page as its not installed either but the others are