Documentation
From ASSPSMTP
Complete documentation for the current release is under construction. However, there is ample amounts of knowledge that can be found both on this wiki site and through the original http://assp.sourceforge.net/fom/cache/1.html. Although the original documentation found on sourceforge was originally written for the 1.1.x releases, it is still very applicable for the current release / development 1.2.x branches of ASSP. It is a very good place to start reading about ASSP if you are new to the project.
Note that the only sections that are outdated in the original documentation are the articles that discuss DNSBLs and Greylisting.
Currently (1.2.6) automated sharing of greylists is not supported, but will be in a future release. DNSBLs, however, are extremely relevant and quite effective in today's fight against spam.
On This Page |
Overview
The Anti-Spam SMTP Proxy (ASSP) server project is an Open Source platform-independent transparent SMTP proxy server that leverages numerous methodologies and technologies to both rigidly and adaptively identify spam.
Foremost amongst ASSP's features are: Bayesian analysis, Penalty Box (PB) trapping, RBL (Real-time Black-hole Listing, aka DNSBL), URIBL (aka Uniform Resource Identifier Black Listing), multi-level SPF (aka Sender Policy Framework) validation and blocking, SRS (aka Sender Rewriting Scheme) fix-up, Session Delaying (aka Greylisting) & connection response delaying, sender validation & recipient validation, multi-level attachment blocking (based on block lists or allow lists), as well as multiple RFC validation mechanisms.
ASSP is a project on SourceForge.net.
The audience of end-users may include anyone seeking to protect their SMTP traffic on a single-user-pc level up to, and through, multi-server-domain-level mail system admins.
ASSP shares many of the main characteristics (ideals, tennets, quality effective features) of another popular SourceForge.net Project, Fluffy the SMTP Guard Dog. While the two projects are completely exclusive and do not share any code, former users of Fluffy (which is only Windows friendly, written in VB, and is no longer developed or maintained) will find the migration to ASSP very pleasant! Configuration is slightly more difficult, although the added benefits and features (literally, hundreds) will prove more than worth the small amount of effort required. It is not that ASSP is difficult, as it is very intuitive actually. Rather, it is very robust and, in being so, is somewhat complex, whilst still retaining a very natural feel.
Requirements
ASSP is a Perl application, and can be run on most any platform that is capable of running Perl. Full hardware and software requirements for ASSP are detailed in this article.
Downloads
The current stable release version of ASSP is 1.3.3.8, release on 2007-10-16. Application versions, changelogs and download locations for ASSP are detailed in this article.
Installation
Check out the Getting Started section of the Documentation. Of course reading all the documentation is a great idea.
Configuration
... all of the good configuration tutorials available on the www aside, there is one key item that has been grossly ignored. Most users of ASSP are likely going to make it their first line of defense against hoards of spam bombarding their mail servers. That being said, ASSP must load at startup. Simply adding the following to /etc/rc.d/rc.local (in Linux) is not enough (although it is what has been suggested by various sources).
/PATH/perl /PATH/ASSP/assp.pl /PATH/ASSP
What will, undoubtedly, occur is that Linux will boot, and when the startup script comes to an end, it will lock up on ASSP. Your TTY's will not be available, and the program just plain will not work. Most of your other processes, which already loaded, will be allright, but you will not be able to log in.
The fix...
Instead, add the following to /etc/rc.d/rc.local (or wherever you are able to place bash commands so as to be added to your startup script):
/PATH/perl /PATH/ASSP/assp.pl /PATH/ASSP &
The differece...
The "&" switch, at the end of the command, tells Linux to load the process (program, whatever you would like to call it) into the background. This allows the rest of the startup script to continue without error. You will not (should not) experiene an error if you do it this way. Most servers boot into command line (rather than GUI) mode, so you'll see the ASSP output text glomming all over TTY1, but, you will be able to simply press "ALT+F2" and reveal a clean and clear TTY2. The same goes for TTY3, 4, 5, and 6.
Also, and most importantly, ASSP functions in this state, whereas previously, it would not.
Training
Maintenance
Supplemental Scripts & Tools
[01] Script to activate on boot: read instructions contained within file, edit to suit your needs. http://spinellicreations.com/download/scripts/assp_startup.sh
I've done a new script. Should work on any distro:
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="ASSP"
NAME=assp.pl
DAEMON=/usr/bin/$NAME
PERL=/usr/bin/perl
ARGS=
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
CONF=/etc/assp/assp.conf
[ ! -x $DAEMON ] && echo "ERROR: $DAEMON doesn't exist" && exit 0
# Read config file if it is present.
if [ -r $CONF ]; then
. $CONF
fi
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
PID=`cat $PIDFILE`
if [ "$PID" == "" ]; then
$PERL $DAEMON $ARGS &
PID=$!
echo "$PID" > "$PIDFILE"
echo " started with pid $PID"
else
echo " already running"
fi
;;
stop)
echo -n "Stopping $DESC: $NAME"
PID=`cat $PIDFILE`
if [ "$PID" == "" ]; then
echo " already stopped."
else
echo -n " ($PID)"
kill $PID
if [ "$?" == "0" ]; then
echo "" > "$PIDFILE"
echo " done."
else
echo " can't kill process $PID"
fi
fi
;;
#reload)
#;;
restart)
echo -n "Restarting $DESC: $NAME"
$0 stop
sleep 1
$0 start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 3
;;
esac
exit 0
Any feedback is wellcome. --Muzzol 04:06, 14 June 2007 (MDT)


