Postgrey

From Linuxintro

Postgrey is greyListing software for the postfix MTA.

How to get it

Download postgrey from http://postgrey.schweikert.ch/

How to set it up

  • Extract your postgrey package
  • Copy postgrey_whitelist_clients to /etc/postfix/
  • Copy postgrey_whitelist_recipients to /etc/postfix/
  • Add a user named postgrey:
useradd -m postgrey
  • start postgrey
./postgrey --inet 127.0.0.1:60000
  • make sure postgrey is listening on port 60000:
$ nmap localhost -p59998-60002

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-08-10 07:44 CEST
Interesting ports on lvps87-230-12-146.dedicated.hosteurope.de (127.0.0.1):
PORT      STATE  SERVICE
59998/tcp closed unknown
59999/tcp closed unknown
60000/tcp open   unknown
60001/tcp closed unknown
60002/tcp closed unknown

Nmap finished: 1 IP address (1 host up) scanned in 0.049 seconds
  • Make sure there is a line like this in /etc/postfix/main.cf:
smtpd_recipient_restrictions = permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_unauth_destination,
                                check_policy_service  inet:127.0.0.1:60000
  • restart postfix
/etc/init.d/postfix restart

Check if it is running

To check if postgrey is running you can use this command:

# ps -A | grep postgrey
1020 pts/1    00:00:00 postgrey

To check if it listens on port 60000 you can use this command:

# nmap localhost -p59998-60002

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-08-10 07:44 CEST
Interesting ports on lvps87-230-12-146.dedicated.hosteurope.de (127.0.0.1):
PORT      STATE  SERVICE
59998/tcp closed unknown
59999/tcp closed unknown
60000/tcp open   unknown
60001/tcp closed unknown
60002/tcp closed unknown

Nmap finished: 1 IP address (1 host up) scanned in 0.049 seconds

See also

http://www.debuntu.org/postfix-and-postgrey-a-proactive-approach-to-spam-filtering