OK, I've been using Postfix for, um, years. In fact, the current server has been running -- and is *still* running -- on CentOS 4 for more than a decade -- a distribution that's been moribound since early 2012. Still on PostFix 2.2.10, which is WAYYYYY past the sell-by date.

I'm so far into the past, frankly, that I'm thinking it would be smarter to start from scratch than trying to perform some magical update. This coincides with the installation of fiber service, so the old setup can run in parallel while I update everything.

My plan: put together a CentOS 7 server on a tower with a laptop motherboard and SSD, to limit power consumption, running with the latest Postfix from that distribution, and copy over only those things that are unique to my mailserver. Like, just the existing mail, not much else. (I use IMAP extensively).

So, a question: is there a best-practices guide, manual, or book that describes how to set up all the modern goodies like DKIM and TLS? What I found thus far:

1. https://linux-audit.com/postfix-hardening-guide-for-security-and-privacy/
2. 
https://security.stackexchange.com/questions/81944/perfectly-secure-postfix-mta-smtp-configuration
3. https://mecsa.jrc.ec.europa.eu/en/postfix
4. https://www.linuxtechi.com/configure-domainkeys-with-postfix-on-centos-7/

I'm open to buying an up-to-date book; my PostFix library has books with publish dates of 2001, 2004, and 2005. Recommendations from Wietse and Viktor in particular are welcome, but others feel free to chime in.

===

TL;DR: reduce the size of the attack surfaces exposed to the public by the mail server, including "sneak" channels

Other hardening: I'm putting the mail server in a separate DMZ channel, using VLAN tagging, with VLAN-unaware devices running through a port on a HP ProCurve gigaswitch port. For the mail server, these are the only ports being forwarded from a single public IP address, terminating in the edge router, via DNAT to the mail server: 25, 465, and 587. The Dovecot ports are *not* being forwarded from the public IP address, but only from "inside" or by VPN or SSH tunnel: 118, 995, 143, and 993. SSH (22) is also restricted likewise -- no direct public access.

N.B.: the VLAN channels are
     local LAN
     NTP appliance TM1000A
     Mail server
     Web servers
     (future) WiFi Access Point

all on separate VLANs and with all packet forwarding curated by the edge router's custom IPTABLES configuration. Adding a VLAN is easy if I add other servers.

The intent is (1) to reduce the size of the broadcast domain and control packet volume on each channel, (2) in particular protect the TM1000A appliance which shares the tendency of most embedded TCP/IP stacks to be a little fragile in the face of heavy packet traffic, and (3) erect high walls between VLANs in case of a breech of a server or appliance in an otherwise public-facing device.

Reply via email to