Postfix: Status Quo current development an overview



Similar documents
policyd-weight and some unorthodox approaches to eliminating spam

Postfix Configuration and Administration

CipherMail Gateway Quick Setup Guide

Postfix. by Rod Roark

Spam fighting with Postfix

debops.postfix documentation

one million mails a day: open source software to deal with it Charly Kühnast Municipal Datacenter for the Lower Rhine Area Moers, Germany

Mail Avenger. David Mazières New York University

Configure a Mail Server

Enhanced Spam Defence

Collateral Damage. Consequences of Spam and Virus Filtering for the System. Peter Eisentraut 22C3. credativ GmbH.

Objective This howto demonstrates and explains the different mechanisms for fending off unwanted spam .

Fighting Spam: Tools, Tips, and Techniques

Mail system components. Electronic Mail MRA MUA MSA MAA. David Byers

POP3 Connector for Exchange - Configuration

Internet Security [1] VU Engin Kirda

Math SMTP Server Configuration

Ficha técnica de curso Código: IFCAD241

Emacs SMTP Library. An Emacs package for sending mail via SMTP. Simon Josefsson, Alex Schroeder

# Constructors $smtp = Net::SMTP->new('mailhost'); $smtp = Net::SMTP->new('mailhost', Timeout => 60);

Migration Project Plan for Cisco Cloud Security

Exim4U. Server Solution For Unix And Linux Systems

. Daniel Zappala. CS 460 Computer Networking Brigham Young University

security

Domains Help Documentation This document was auto-created from web content and is subject to change at any time. Copyright (c) 2016 SmarterTools Inc.

sendmail Cookbook Craig Hunt O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Introduction of the S25R anti-spam system

The basic groups of components are described below. Fig X- 1 shows the relationship between components on a network.

WaveWare Technologies, Inc. We Deliver Information at the Speed of Light

QMAIL & SMTP: A Secure Application for an Unsecure Protocol. Orr Dunkelman. orrd@vipe.technion.ac.il. January 27, 2004 SMTP and QMAIL Slide 1

Security perimeter white paper. Configuring a security perimeter around JEP(S) with IIS SMTP

ing from The E2 Shop System address Server Name Server Port, Encryption Protocol, Encryption Type, SMTP User ID SMTP Password

Setting up and controlling

Implementing a SPAM and virus scanning mail server using RedHat Linux 8.0

Ciphermail Gateway Administration Guide

# Constructors $smtp = Net::SMTP->new('mailhost'); $smtp = Net::SMTP->new('mailhost', Timeout => 60);

Configuring Security for SMTP Traffic

OpenSMTPD : We deliver!

Celframe - Easy Linux - Lesson 8 - Server

Security 7.4 Administrator s Guide

Security 8.0 Administrator s Guide

Implementing a SPAM and virus scanning mail server using RedHat Linux 8.0

SpamPanel Level Manual Version 1 Last update: March 21, 2014 SpamPanel

SonicWALL Security Appliance Administrator Guide

Using WinGate 6 . Concepts, Features, and Configurations.

OpenSMTPD: we deliver

MDaemon Vs. Microsoft Exchange Server 2013 Standard

Basic Exchange Setup Guide

Kaseya Server Instal ation User Guide June 6, 2008

Government of Canada Managed Security Service (GCMSS) Annex A-5: Statement of Work - Antispam

Advanced Settings. Help Documentation

Installation Guide For Choic Enterprise Edition

EMB. Basics. Goals of this lab: Prerequisites: LXB, NET, DNS

Spam, Spam and More Spam. Spammers: Cost to send

Protected Trust Setup Guide for Brother MFC Devices

XGENPLUS SECURITY FEATURES...

Configuration Information

A D M I N I S T R A T O R V 1. 0

Anti Spam Best Practices

PostfixAdmin 3.0. Mailserver administration made easy. Christian Boltz

Greylisting has been around since 2003 when Evan Harris wrote the original whitepaper on it as a spam filtering mechanism.

F-Secure Messaging Security Gateway. Deployment Guide

Using TLS Encryption with Microsoft Outlook 2007

How to Build an Effective Mail Server Defense

1 Accessing accounts on the Axxess Mail Server

Frequently Asked Questions

eprism Security Appliance 6.0 Release Notes What's New in 6.0

OCS Training Workshop LAB14. Setup

Barracuda Spam Firewall User s Guide

Understanding SMTP authentication and securing your IBM Lotus Domino 8 server from spam

Filtering Mail with Milter. David F. Skoll Roaring Penguin Software Inc.

CHARTER BUSINESS custom hosting faqs 2010 INTERNET. Q. How do I access my ? Q. How do I change or reset a password for an account?

USHA. Notification Setting. User Manual

Analysis of Spam Filter Methods on SMTP Servers Category: Trends in Anti-Spam Development

Change is Coming: z/os Mail Overview and Futures

Configuring Notification for Business Glossary

8.6. NET SatisFAXtion Gateway Installation Guide. For NET SatisFAXtion 8.6. Contents

Libra Esva. Whitepaper. Glossary. How Really Works. Security Virtual Appliance. May, It's So Simple...or Is It?

SPAMfighter SMTP Anti Spam Server

Spamfilter Relay Mailserver

Technical Note. ISP Protection against BlackListing. FORTIMAIL Deployment for Outbound Spam Filtering. Rev 2.2

Postfix Anti-Spam Workshop

Content Scanning with Exim 4

INSTALLATION AND CONFIGURATION GUIDE (THIS DOCUMENT RELATES TO MDAEMON v ONWARDS)

Standard Guide. Standard Guide. Standard Guide

Owner of the content within this article is Written by Marc Grote

To install the SMTP service:

ScavengerEXA. An open source program To fight spam at the source. Thomas Mangin Exa Networks UKNOF /02/13

Ciphermail Gateway Administration Guide

Eiteasy s Enterprise Filter

Sophos for Microsoft SharePoint startup guide

SESA Securing with Cisco Security Appliance Parts 1 and 2

Networking Applications

Frequently Asked Questions

ESET Mail Security 4. User Guide. for Microsoft Exchange Server. Microsoft Windows 2000 / 2003 / 2008

ADMINISTRATORS GUIDE v6.00 Page 1

How To Block Ndr Spam

Transcription:

Postfix: Status Quo current development an overview LinuxForum 2006 Copenhagen, 04. March 2006

About T-System Business Services I just work there, I don t sell stuff I reckon we do sailing stuff strategic platform: Microsoft http://www.t-systems.de

About state of mind I own the place we do digital communication http://www.state-of-mind.de

the way development works stable version, changes every year or the other development happens in the snapshot versions fear not: snapshots are stable enough for everyday use if they re good enough for me, they re good enough for you :)

so whats up, Doc? 1 what are the new features? 2

enhanced status code support enhanced status codes according to RFC 3463 This allows answers in access(5) like: REJECT 5.7.1 You can t go here from there, which (hopefully) can be translated by the user s MUA (Outlook, Mozilla, etc.) into human-understandble format.

DSN support DSN support according to RFC 3461-3464 The sender of a message can specify how and if he/she wants to be notified about an (un)successful delivery. MUAs support that!

limit on the number of TLS sessions per timeperiod limit on the number of TLS sessions per timeperiod TLS-handshakes are computationally intensive. The new limit smtpd_client_new_tls_session_rate_limit (disabled by default) reduces the implications of a DoS attack.

improved, but still not customizable logging improved, but still not customizable logging delay=n transformed into delays=a/b/c/d, where: a: the time before the queue manager (qmgr, including the time it took to transfer the mail b: the time inside the queue manager c: the time it took to establish the connection, incl. DNS, HELO and TLS-handshake d: the time it took to transfer the mail All times have sub-second precision. conn_use=n shows how often a connection has been re-used. relay= now also shows, which port has been connected to on a host

improved, but still not customizable logging log example from my machine: Feb 1 15:13:49 mail postfix/smtp[14123]: 94A06221600: to=<recipient@charite.de>, relay=127.0.0.1[127.0.0.1]:10025, conn_use=2, delay=3.4, delays=2.8/0.05/0/0.56, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=15344-04-2, from MTA([127.0.0.1]:10026): 250 2.0.0 Ok: queued as AEC2222155B)

configurable bounce templates configurable bounce templates Everybody complained about the lack of foreign-language (read: non-english) bounce messages within Postfix: Now you can write your own bounce-messages Achtung baby german HOWTO: http://postfix.state-of-mind.de/bounce-templates

sender-dependent relayhost settings sender-dependent relayhost settings A feature for the home-user: The relayhost is chosen in dependency of the envelope sender-address. Postfix will use the proper credentials, too (user and password for SMTP-AUTH: sender_dependent_relayhost_maps = hash:/etc/postfi smtp_sender_dependent_authentication = yes

shared code-base for LTMP and SMTP clients shared code-base for LTMP and SMTP clients The smtp-client now also implements the LMTP-protocol. This shared code-base introduces many new lmtp_*-parameters, which already existed as smtp_*-parameters. less redundancies better code-reuse consolidation of the system as a whole

new authentication plugin support new authentication plugin support This is part of a greater plugin-plan. Support for different authentication frameworks in the combined smtp/lmtp-client and smtpd-server Cyrus-SASL Dovecot-SASL (maybe!) Peter Bieringer s simple-auth Cyrus-SASL is generally considered problematic, since nobody understands it. We don t understand dovecot-authentication either, no questions please!

No MoRe CaptiLiZaTiOn No MoRe CaptiLiZaTiOn Postfix keeps the case when rewriting addresss using canonical, virtual, relocated and generic maps even when using $number-style replacement operations in maps with regular expressions (pcre and regexp). local(8) and virtual(8) still downcase the key!

Refined TLS stuff Refined TLS stuff Lutz s patch had some errors. Nobody noticed. It s amazing what you can get away with :) a new per-site TLS policy-mechanism works better against DNS-spoofing attacks (I don t want to go into details here!).

strict checks for privileged/non-privileged daemons strict checks for privileged/non-privileged daemons daemons that don t need root-privileges are not allowed to run with those privileges they must be configured (in master.cf) to run unprivileged.

Non-antique versions of Postfix may delegate the decision whether to accept or reject a message during a SMTP session to an external program. Postfix hands over a set of META-data to the external program; the META-data consist of information gathered before the DATA stage.

What is a (SMTP-)Policy? During the SMTP session Postfix must decide what to do with the email: reject permanently reject with temporary error accept and maybe bounce later delegate decision to external program (policy server) and execute decision

What is a (SMTP-)Policy? smtpd_*_restrictions This example configures Postfix without policy delegation. SMTP session restrictions are handled using smtpd_*_restrictions: smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated check_client_access hash:/etc/postfix/client_acce reject_unauth_destination

policy delegation example: Greylisting policy delegation example: Greylisting RFC-compliant MTAs re-queue mail when they experience temporary errors on the receiving server side and will retry later. Concept: Reject mail first with a temporary error! Real MTAs will attempt a (second) delivery. Current Spambots have no mail queue - they drop the delivery attempt (and never come back).

policy delegation example: Greylisting input from the mail system Input from the mail system: Client s IP address Envelope Sender Address Envelope Recipient Address

policy delegation example: Greylisting results This results in the following policy: If the policy server does not know the triplet made of the client s IP address, envelope sender address and envelope recipient address, Postfix s smtpd should be rejected with a temporary error code. Postfix cannot do this on its own, but policy delegation can implement a policy service that does the trick.

policy service interface Since version 2.1 Postfix smtpd daemon may delegate decision to external applications. Why use an external process?

policy service interface reasons complexity of implementation and configuration Mail::SPF::Query makes up 64KB Perl-Code policies may be long and complex security no dependency on external libraries strict security boundary between Postfix and decision maker high flexibility free to choose any scripting language Perl, Python,... decision can be delegated to a remote server performance may still be well

Implementation policyd protocol The policyd protocol is rather simple: The client send a query consisting of name=value pairs, separated by new lines and terminated by an empty line. The server answers with a name=value pair, terminated by an empty line.

Implementation policyd protocol, client side Postfix (client): 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= ccert_subject=solaris9.porcupine.org

Implementation policyd protocol, server side Server (policy server): Greylisted action=defer_if_permit emptyline The policy server may respond any action defined in smtpd access(5) maps.

Implementation policyd protocol, possible responses OK Number (like OK) 4xx Text (temporary error) 5xx Text (permanent error) REJECT optional Text (error) DEFER_IF_REJECT optional Text DEFER_IF_PERMIT optional Text restriction (execute this restriction or smtpd_restriction_class) DISCARD optional Text DUNNO FILTER transport:nexthop HOLD optional Text PREPEND Headername: Headerwert REDIRECT user@domain

Implementation policyd protocol, possible responses policy servers may not tell Postfix about problems; they must log a warning instead and terminate connection. Postfix will then reply a generic, temporary error to the client. Upon retry by the client Postfix will contact the policy server again. policy server may run together with Postfix on the same machine. Postfix may use either TCP- or Unix-domain-sockets to communicate with the policy server.

Implementation policyd protocol, examples Examples: check_policy_service inet:127.0.0.1:9998 check_policy_service unix:/some/where/policy check_policy_service unix:private/policy

Implementation policyd protocol, examples 2 Delegation to a policy service is configured adding the service in smtpd_*_restrictions. The following example configures a policy service at the end: smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated check_client_access hash:/etc/postfix/client_access reject_unauth_destination check_policy_service inet:127.0.0.1:10023

Implementation Ready to use implementations Michael Tokarev wrote a template for a policy server http://www.corpit.ru/mjt/smtpdpolicytemplate.pl in PERL. There are other, specialized policy servers focussing on specific tasks:

Implementation Ready to use implementations 2 gld by Salim Gasmi Greylisting http://www.gasmi.net/gld.html policy weight by Norbert Felber Kind of a SpamAssassin replacement that weights RBLs, RHSBLs and HELO, but doesn t use an emails content to decide what to do. http://www.policyd-weight.org Policyd by Cami Policyd is an anti-spam plugin for Postfix (written in C) that does Greylisting, Sender-(envelope, SASL or host / ip)-based throttling (on messages and/or volume per defined time unit), Recipient rate limiting, Spamtrap monitoring / blacklisting, HELO auto blacklisting and HELO randomization preventation.