Links to Implementations and Information
To contact me about this project, you may send email to me at
eharris@puremagic.com.
But, if the contact concerns using software implementing the idea,
or ways of enhancing the method, the mailing lists might be more
appropriate.
If you are aware of any implementations not listed here, please contact me at
the above email address with a url and a short description, so it can be included
here.
Whitepaper Translations:
French - http://www.ba-cst.com/technique/Greylisting/
French - http://sebastien.nameche.fr/spam/greylisting/french.html
Sendmail:
My (Evan Harris') example implementation (also used for the inital testing) is called relaydelay, and is
available from the Downloads link.
Development snapshots of relaydelay are also available from cvs at
http://cvs.puremagic.com/viewcvs/greylisting/.
Morris Maynard has written some very helpful installation instructions for the relaydelay sendmail milter. His pages are at
http://www.maynidea.com/sendmail/relaydelay.html.
Ian Ballantyne has written a very informative installation guide for the relaydelay sendmail milter. His docs are at
http://midori.shacknet.nu/OpenSourceProjects/Setting_up_Greylisting_with_Sendmail_v1.2.html.
Chris Paul has notes about using the example implementation under OpenBSD 3.4 at
http://www.sfobug.org/meeting_notes/chris_paul/greylist_openbsd.html
Jose Marcio Martins da Cruz has written a native sendmail milter (in C) that uses a modified version of Greylisting that is
designed to reduce the required resources to scale for higher mail volumes. More info at
http://j-chkmail.ensmp.fr/.
Emmanuel Dreyfus has written an implementation of greylisting in standalone C/sendmail
milter that does not require perl or an external database.
His project is at http://hcpnet.free.fr/milter-greylist/.
Anthony Howe has an alternative Sendmail C based milter that supports
the Sendmail access database (Berkeley DB) for white-listing. Further
details at http://www.snert.com/Software/milter-gris/
Also from Anthony Howe is a Sendmail C based call-back milter
that uses Greylisting as a secondary technique for inconclusive call-backs. Details at
http://www.snert.com/Software/milter-sender/
S. Moonesamy has written a milter called scam-grey which uses passive OS fingerprinting to detect windows based hosts,
and if so, to subject the sending hosts to greylisting. The scam-grey milter webpage is at
http://www.elandsys.com/scam/
smf-grey is a C-based Sendmail milter that uses the QDBM database for whitelisting and greylisting.
More info at http://smfs.sourceforge.net/smf-grey.html
Exim:
Martin Dempsey has developed a Greylisting implementation for Exim 4.x. It is available at
http://www.digitaleveryware.com/projects/greylisting/
William Blunn has developed an implementation in C++ using a MySQL database backend.
It was developed for use with Exim 4 using an ACL rule rather than local_scan() and therefore works with the
vanilla build of Exim 4 and does not require any special patches or extensions. But since it is implemented
as a freestanding executable, it should be able to be used with any MTA that supports calling out to an external program.
The implementation also includes outgoing message processing. See:
http://sourceforge.net/projects/bagley/
Roman Festchook is also working on an implementation for Exim. It is at
http://llab.zhitomir.net/?greylist
Tor Slettnes has developed a python implementation that is self contained and does not depend on an external database.
It works with any version of Exim and does not require any special patches or extensions to Exim. It is invoked via
a Exim ACL rule rather than local_scan() or other interface. There is not yet a project page, but it is a package
in Debian. See http://packages.debian.org/unstable/mail/greylistd
Marc Merlin has a new implementation using Spamassassin with Exim. There's documentation for it at
http://marc.merlins.org/linux/exim/files/sa-exim-cvs/README.greylisting.
The base link is here
and a diff is here.
Alun Jones has created a perl filter for Exim that is in use at the University of Wales. His page at
http://users.aber.ac.uk/auj/spam/ has links to source and
a nice Powerpoint presentation that has a graph of the method's effectiveness.
Tollef Fog Heen has an in-Exim implementation using PostgresSQL. Information on it is at
http://raw.no/personal/blog/tech/Debian/2004-03-14-15-55_greylisting
Johannes Berg has an implementation for Exim 4 at
http://johannes.sipsolutions.net/Projects/exim-greylist
An unidentified person has another implementation for Exim and Mysql, based on Tollef's implementation. Info is at
http://theinternetco.net/projects/exim/greylist
Qmail:
Martin Dempsey has developed a Greylisting implementation for Exim 4.x that should also work with Qmail. It is available at
http://www.digitaleveryware.com/projects/greylisting/.
Peter Conrad has an alpha-level implementation available at
http://www.unix-ag.uni-kl.de/~conrad/greylisting/README.html
Jon Atkins has a simplified perl implementation at
http://www.jonatkins.com/qgreylist/.
Rob Bos has adapted Jon Akins qgreylist to use a mysql backend. More info at
http://novylen.net/~rbos/qgreylist/.
Sirko Zidlewitz has enhanced a version of Jon Atkins implementation. It is available at
http://www.datenklause.de/en/software/qgreylistrbl.html.
Zaid Amireh has developed a C-based implementation of a sender-IP only version of Greylisting that is targeted at higher
volume servers. Information on it is available at
http://oss.albawaba.com/cqgreylist.html.
Guenther Mair has developed a patch for Qmail called qmail-greylist-pgsql that implements Greylisting using a PostgreSQL database.
More info at http://qgreylist-pgsql.sourceforge.net/.
Thomas Mangin has made a new implementation for Qmail.
More info at http://thomas.mangin.me.uk/software/qmail-greylist.html.
Qpsmtpd:
Gavin Carr has implemented a greylisting plugin for Qpsmtpd
(a perl based replacement for qmail-smtpd). The plugin is available at
http://www.openfusion.com.au/labs/dist/denysoft_greylist.
Postfix:
Wietse Venema (author of Postfix) has made modifications to Postfix to support a form of Greylisting. Information
on it is available at http://www.postfix.org/SMTPD_POLICY_README.html#greylist.
David Schweikert has written a perl based enhancement for the Postfix policy server. Information is available from
http://isg.ee.ethz.ch/tools/postgrey/
Salim Gasmi has written a C based implementation of Greylisting for Postfix. It is available from
http://www.gasmi.net/gld.html
Michael Moritz has another Postfix implementation, written in C/C++ and using DBI/Mysql. It is available from
http://mimo.gn.apc.org/gps/
Sean Reifschneider has released tumgreyspf, an external policy checker for Postfix, implementing both greylisting checks
and spf checks, and using the local filesystem for the database rather than having an external dependency. More info
is available at
http://www.tummy.com/Community/software/tumgreyspf/
Mattias Amnefelt has written a high performance policy server for Postfix in Python using MySQL/PgSQL. It is available from
http://www.stacken.kth.se/~mattiasa/projects/grappy/
Squirrelmail:
Jason Frisvold has written a plugin for Squirrelmail. It is available from
http://www.godshell.com/toaster/
Microsoft Exchange/IIS:
Chris has written Greylist, a free plugin for Microsoft Exchange 2003 (should work on 2000 as well).
It also has limited support for IIS SMTP. More info at http://www.grynx.com/projects/greylist/
Mail Proxies:
Graham Toal is working on a man-in-the-middle mail relay daemon implementing Greylisting
(among other things). The code is at
http://www.gtoal.com/spam/smtpfilter.c.
A nice html version is here.
David Parsons has written a simple mailserver and client using greylisting. His page is at
http://www.pell.portland.or.us/~orc/Code/postoffice/.
David Given has written a mail proxy called spey. It is hosted at sourceforge. Here is the
spey homepage.
Others:
Vernon Schryver has added a form of Greylisting to the Distributed Checksum Clearinghouse (DCC). More info is at
http://www.rhyolite.com/anti-spam/dcc/greylist.html
Jonas Eckerman has modified MIMEDefang to include a form of Greylisting. More info at
http://whatever.frukt.org/mimedefang-filter.shtml
OpenBSD 3.5 appears to support greylisting "out of the box" with the use of spamd. Here is the
online manual page for spamd.
Davide Libenzi has a C-based implementation using GDBM called GLST that works with XMail or with other MTA's.
More info is available at http://www.xmailserver.org/glst-mod.html
Articles on Greylisting
Greylisting has a Wikipedia entry.
David Schweikert has an article on Greylisting that was published in the November 2004 issue of the swiss magazine InfoWeek.ch.
A PDF of the article is available here.
(Article is in German)
Articles and Howto's including Greylisting
James has written a HOWTO on setting spamd up under OpenBSD 3.5 at
http://www.elwood.net/greyspamd.html
Tor Slettnes has created a paper titled "Spam Filtering for Mail Exchangers" which covers several methods of
spam blocking in addition to Greylisting. The page is at
http://slett.net/spam-filtering-for-mx/
Greylisting Papers and Research
A group from HP Labs in Bristol produced and presented a paper at Usenix 2004 that takes some of the ideas
from Greylisting and turns it into a mail prioritization scheme. Although some of the statistics in the
paper regarding false positives of Greylisting are significantly inflated due to neglecting to exempt the data
during the training phase from the analysis, it still presents some interesting information.
The paper is available here:
http://www.hpl.hp.com/techreports/2004/HPL-2004-5R1.html
Links to commercial products
Commercial products incorporating varying forms of the greylisting method are becoming pretty widespread. Here are links
to products known to implement some form of Greylisting (please let me know of any corrections or additions).
Please keep in mind that even though commercial products may use some form of Greylisting, there is no requirement
for them to contribute anything back to this project. However, some have been kind enough to do so. Those that are
known to have made a significant donation to this project have been moved to the top of the list.
Contributing Commercial Products
Mirapoint offers a range of ready-to-go email appliances that offer many advanced filtering techniques.
For technical or sales information, please visit their website at
http://www.mirapoint.com/
Spam-Zapper offers software incorporating the greylisting method in
several products aimed at different market segments.
Here is their Features List
Other Commercial Products
CanIt Mail Server Software Release Info
Isode Press Release
AutumnTECH E-Mail Appliances
Aloaha E-Mail Software
Tummy.com has a mail server integration product called vPostMaster that is free for non-commercial use. Here is
the vPostMaster product page
DerbyTech sells a hardware based product called CipaFilter that includes greylisting as
an important component on their Features Page
Vamsoft ORF is a commercial server-side spam filter for the
Windows 2000/2003 IIS SMTP Service and Microsoft Exchange 2000/2003.
no.Spam.java is a commercial java based smtp proxy filter
with anti-spam capabilities.
trimMail sells the trimMail Inbox email security appliance, which incorporates
a form of Greylisting.
MDaemon is a mail server product that incorporates several anti-spam techniques,
including Greylisting. Here is a list of features.
XWall is a firewall/spamfilter product for Microsoft Exchange.
Links to other spam blocking/filtering projects
The DSPAM Project
|