policyd-weight(8)policyd-weight(8)NAMEpolicyd-weight - weighted SMTP policy daemon
STATUS
Beta, Documentation incomplete
SYNOPSISpolicyd-weight [-option] [-option2 <arg>] command
DESCRIPTIONpolicyd-weight(8) is a SMTP policy daemon written in perl(1) for post‐
fix(1). It evaluates based on RBL/RHSBL results, HELO and MAIL FROM
domain and subdomain arguments and the client IP address the possibil‐
ity of forgery or SPAM. It is designed to be called before the SMTP
DATA command at the RCPT TO stage. This way it is a) possible to
reject a mail attempt before the body has been received and b) to keep
multirecipient mail intact, i.e. provide the functionality of selective
usage based on recipients.
To make policyd-weight(8) work with postfix(1), it is required to add a
system account for $USER (default: polw)
Policyd-weight can operate in master.cf or daemon mode. In master.cf
mode it uses postfix' spawn(8), which results in number of simultanous
requests perl instances. In daemon mode it uses shared memory and forks
on load, and only if all childs are busy.
At the time of writing the man-pages for policyd-weight assume a post‐
fix installation. It has been reported that policyd-weight works with
other MTAs like Exim, too.
SETUPmaster.cf mode:
master.cf:
policy unix - n n - - spawn user=polw
argv=/usr/bin/perl /usr/local/bin/policyd-weight
main.cf:
smtpd_recipient_restrictions =
permit_mynetworks,
... authenticated permits ...
reject_unauth_destination,
... whitelists, role accounts, clients ...
check_policy_service unix:private/policy
daemon mode:
start the daemon with policyd-weight start. Poliyd-weight then listens
on $TCP_PORT (default: 12525) for policy requests. To make postfix
talk to that port do following changes to main.cf:
main.cf:
smtpd_recipient_restrictions =
permit_mynetworks,
... authenticated permits ...
reject_unauth_destination,
... whitelists, role accounts, clients ...
check_policy_service inet:127.0.0.1:12525
It is possible to have more than one postfix server talk to the daemo‐
nized policyd-weight by configuring each postfix machine to query the
policy server with check_policy_service inet:IP:12525 where IP is the
host on which policyd-weight runs.
Please note that check_policy_service should come at last, or at least
after reject_unauth_destination, or else you may become an open relay.
COMMANDS
Following commands exist and are reserved for daemon mode only:
start start the policy server
stop stop the policy server
restart restart the policy server
reload tells the policy server to reload its configuration
defaults prints the default settings to STDOUT and exits
OPTIONS-d operate in debug mode
Not for use in master.cf. In debug mode everything is reported
on STDOUT instead of syslog(3). Also an own debug cache daemon
will be spawned. The socket-file is named after the value of
$SPATH with ".debug" as suffix.
-f /path/to/file
Pass a configuration file to policyd-weight-h show help
-k kill cache daemon
Not for use in master.cf. Together with -d this kills the debug
cache daemon. Without -d it kills the global running cache dae‐
mon.
-s show cache entries
Not for use in master.cf.
-v show version
LOGGING
Logging is done via syslog(3) with facility "mail" and priority "info".
For a complete list of log entries and their correspondending configu‐
ration parameters refer to policyd-weight.conf(5).
BUGS
Please report bugs to r.felber@ek-muc.de
HISTORY
March 2005
Ralf Hildebrandt (Author of the Book of Postfix) is the spiri‐
tual father of policyd-weight. It was his idea to have a scored
RBL evaluation, I've added the weighted MAIL FROM/HELO DNS-eval‐
uation. For that purpose I used Meng Wong's spf.pl which was
shipped with the postfix source as example.
FILES
/etc/policyd-weight.conf, Policyd-weight configuration file
/etc/postfix/main.cf, Postfix configuration parameters
/etc/postfix/master.cf, Postfix daemon processes
SEE ALSOpolicyd-weight.conf(5), Policyd-weight configuration file
master(5), Postfix master.cf file syntax
postconf(5), Postfix main.cf file syntax
access(5), Postfix SMTP access control table
LICENSE
GNU General Public License
AUTHOR
Robert Felber <r.felber@selling-it.de>
PC & IT Services Selling-IT
85560 Ebersberg, Germany
Aug 25th, 2006 policyd-weight(8)