Postfilter README
Introduction
postfilter is an antispam filter for InterNetNews, a widely used NNTP server. Unlike cleanfeed - which checks remote articles, those messages sent through other sites - postfilter scans local posts and tries to reject spam and various abuses. Even if it's designed for large sites, notably USENET servers, postfilter can be safety used also by small or private hosts that need a less strong protection against abuses.
Requirements
INN >= 2.4.0 compiled with perl support. It's recommended to use INN >= 2.4.4. Everybody should note that postfilter is fully compatible with INN 2.5 even if some new feature of INN isn't still used.
A relatively recent version of Perl, 5.6 is enough, 5.8 is much better for postfilter
The following perl modules:
- Date::Parse
- Net::DNS
- Digest
- Digest::HMAC
- Digest::MD5
- DBI
Features
A higly configurable banlist (see banlist.conf(5))
DNSBL, URIBL and TOR support
The maximum number of
- Messages
- Bytes
- Groups
- Followups
- Identical messages
- Rejected messages before being banned
can be limited per
- UserID
- Domain
- IP address
and per two units of time (by default: 1 Day and 10 Minutes)
Headers can be deeply modified
Builtin log system for data that need to be kept for legal reasons (notably sender's IP address of each locally posted message) with an expernal script (postlegal that is included in this package) which handles these logs (expiration of old logs and searches)
A simple and fast dictionary of forbidden words (see badwords.conf)
Easy to customize
Installation
Automatic installation: Run as root
$ rc.news stop # Stop INND $ ./postfilter-install -c # Check dependacies $ ./postfilter-install -i # Install postfilter $ rc.news start # Start INND
Installation by hands
Read ./doc/tutorials/how_to_install_postfilter_by_hands.txt
Troubleshooting
Enable news.debug syslog facility adding the following line in syslog.conf
#----------------------------------------------------------------- news.debug -/var/log/news/news.debug #-----------------------------------------------------------------
Check whether postfilter is correctly installed:
$ perl -wc [pathfilter]/postfilter/postfilter.pl
$ postfilter-installer -c
$ su root
$ postfilter-installer -vRestart INND. Please restart it instead of reloading the configuration settings.
$ su root
$ rc.news stop
$ rc.news startTry to post a test message
$ telnet localhost 119
>>> Trying 127.0.0.1...
>>> Connected to localhost.
>>> Escape character is '^]'.
>>> 200 aioe.org InterNetNews server INN 2.4.5 ready
<<< MODE READER
>>> 200 localhost InterNetNews NNRP server INN 2.4.5 ready (posting ok).
<<< POST
>>> 340 Ok, recommended ID <ha550k$be9$1@aioe.org>
<<< Newsgroups: local.test
<<< From: Aioe <estasi@aioe.org>
<<< Subject: test
<<<
<<< This is a test, only a test
<<<.
>>> 240 Article posted <ha550k$be9$1@aioe-casa.aioe.org>Read all news.debug informations related with postfilter
$ tail -f /var/log/news/news.debug | grep " filter: "
If postfilter complaints about configuration errors, read
$ man postfilter $ man postfilter.conf $ man banlist.conf
Those who need help can ask for assistance using:
- news://news.software.nntp (an USENET newsgroup)
- news://nntp.aioe.org/aioe.news.helpdesk (a local group)