kolab_smtpdpolicy.1p

Langue: en

Version: 2009-05-13 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)

NAME

kolab_smtpdpolicy - Kolab SMTP policy

SYNOPSIS

kolab_smtpdpolicy [-v]

DESCRIPTION

kolabdelegated Postfix SMTPD policy server for Kolab. This server implements various policies for Kolab:

1) Only authenticated users can use sender <username>@$domain

2) Some distribution lists are only available to authenticated users

Logging is sent to syslogd.

How it works: each time a Postfix SMTP server process is started it connects to the policy service socket, and Postfix runs one instance of this PERL script. By default, a Postfix SMTP server process terminates after 100 seconds of idle time, or after serving 100 clients. Thus, the cost of starting this PERL script is smoothed out over time.

To run this from /etc/postfix/master.cf:

     policy  unix  -       n       n       -       -       spawn
       user=kolab-n argv=/usr/bin/perl /usr/libexec/postfix/kolab_smtpdpolicy
 
 

To use this from Postfix SMTPD, use in /etc/postfix/main.cf:

     smtpd_recipient_restrictions =
         ...
         reject_unauth_destination
         check_policy_service unix:private/policy
         ...
     smtpd_sender_restrictions =
         ...
         check_policy_service unix:private/policy
         ...
 
 

NOTE: specify check_policy_service AFTER reject_unauth_destination or else your system can become an open relay.

To test this script by hand, execute kolab_smtpdpolicy, optionally with the option -v to print debugging output. Example for OpenPKG based installations:

     # su - kolab
     $ /kolab/etc/kolab/kolab_smtpdpolicy -v
 
 

Each query is a bunch of attributes. Order does not matter, and the demo script uses only a few of all the attributes shown below:

     request=smtpd_access_policy
     protocol_state=RCPT
     protocol_name=SMTP
     helo_name=some.domain.tld
     queue_id=8045F2AB23
     sender=foo@bar.tld
     recipient=bar@foo.tld
     client_address=1.2.3.4
     client_name=another.domain.tld
     instance=123.456.7
     sasl_method=plain
     sasl_username=you
     sasl_sender=
     size=12345
     [empty line]
 
 

The policy server script will answer in the same style, with an attribute list followed by a empty line:

     action=DUNNO
     [empty line]
 
 

OPTIONS AND ARGUMENTS

-v
See AUTHORS file

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can view the GNU General Public License, online, at the GNU Project's homepage; see <http://www.gnu.org/licenses/gpl.html>.