Postfix, Rate Limiting Inbound Emails Using SenderScore And Memcache
I received email from someone fiew days ago, he directed me to an article about senderscore and and asked if I could make it usable. Actually, I’m not very familiar with how senderscore work. I’ve read the article and see the FAQ at https://senderscore.org/. I have found that senderscore can be queried with a format like this:
reversed.ip.address.score.senderscore.com
Ie, I want to know the score value of ip address 202.127.97.97, the format of the query would be like this:
$ dig a 97.97.127.202.score.senderscore.com +short 127.0.4.75
Look at the answers given by senderscore’s NS. last octet is the score of the ip address 202.127.97.97, which scored 75.
Excerpts from senderscore faq:
All scores are based on a scale of 0 to 100, where 0 is the worst, and 100 is the best possible score. A score represents that IP address’s rank as measured against other IP addresses, much like a percentile ranking.
Now back to the article, The authors make a perl module that can perform queries to senderscore ns, put a “reputation score” into memcache, at the same time, calculating how many times an ip address connected to our smtp.
Let’s begin, first of all download Policy::Memcache from this git repository
Create a working directory, and extract the tarball.
$ mkdir pol-mem && cd pol-mem $ tar --extract --file=petermblair-libemail-f73612c.tar.gz petermblair-libemail-f73612c/perl/senderscore/memcache/ $ mv petermblair-libemail-f73612c/perl/senderscore/memcache/* .