Setting up a secure Postfix server in 2019 - what to consider?

Postfix is great, and widely used, but freshly installed it's like a newborn child. Nowadays there's a lot of work required to get it to an acceptable level to face the wild west of the Internet.

NB: This is a living document and will probably change over time as I revise my own methods for managing my servers.

Running an MTA to an 'acceptable' standard now requires lots of additional config and tuning, but it's satisfying once done. Be prepared to learn lots about DNS, TLS, certificate structure, mail filtering (miltering), regular expression and monitoring - crucial once your system is operational.

Once you've had your fill of the RFCs (https://www.fastmail.com/help/technical/standards.html), there's plenty other stuff to learn. http://www.emailarchivestaskforce.org/documents/guide-to-email-standards/ is worth a read, and are you sure you know how to validate an email address? https://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/

For newcomers, important areas to cover are:

  • understanding quirks of different email clients, some of the odd scenarios with specific email services
  • familiarising oneself with the certificate process
  • how TLS is employed with email
  • Hands-on experience is crucial!
  • Doing dry runs with a dev system is invaluable - you must be able to make and break things without taking down customers' email 🙂

I administer shared Postfix servers for numerous clients. Some are newest releases of Postfix, and some, due to legacy requirements, are older. Nothing necessarily wrong with that, but some configuration options aren't always available.

If I was setting up a new Postfix server today, I'd go through these steps:

Continue reading "Setting up a secure Postfix server in 2019 - what to consider?"

Frameserving from Premiere Pro CC 2019 to FFmpeg

This article discusses how to set up frameserving from Adobe Premiere CC 2019 or later for great results with free software.

A while ago while working on batches of video edits, I came to the realisation that frameserving is simply the best, most flexible way to encode in some cases. Time marches on, and so did my software - eventually I came to a new machine, new Premiere Pro and - disaster - no apparent support for frameserving. Just when I needed it...

Cleverer people than me have solved the CC2019 problem - for those of you editing in Premiere it's once again fairly easy to frameserve encode. However, it did take a bit of sleuthing to figure out a few things; this tutorial should help you to avoid the same problems I encountered.

November 2019: Vouk's excellent Voukoder plugin for After Effects and Premiere can now accomplish some of what this article covers, and it has an active developer and user community. Vouk includes the FFmpeg/libav filters to enable things like bwdif deinterlacing. There are still some bugs but it's worth a test - it should integrate nicely into an AME or batch workflow. More complicated workflows may still benefit from frameserving, so it's still worthwhile to do.

July 2020: wangqr, the developer of the dfscPremiere.prm patch, informed me by email that he's not maintaining it any more as it's been merged into the main Debugmode Frameserver repository. Download v3.0 for use with CC2019 and above. Thank you for your hard work, Q!

Spoiler: it's a little bit of work, not very difficult, and the results are great

MaxMind GeoLite v1 databases discontinued - install GeoLite2

I noticed recently that a few web sites are miscategorising my ISP's static IP as being in the wrong country. I knew it was a recent reallocation of a new block and suspected the web sites were using a stale version of a GeoIP database - probably MaxMind's GeoLite v1 offering.

If you see stuff like this while surfing the web, your IP is probably in the same boat:

It's such a stupid problem, but it's all due to lazy server admins or designers

Getting Postfix working for outbound emails via SMTP and local relay for cron reports

I recently had to diagnose a couple of servers running Postfix which emailed results of rsync cronjobs when they returned a non-OK value. While Postfix was emailing the recipients on rsync failure, I noticed that the cronjob STDOUT was not being locally relayed correctly to the root mail.

I documented my fix on ServerFault, hopefully it's useful for someone else.

Having fixed local root cron reports, I then noticed on the CentOS7 box that the AIDE service was running, had been scanning for integrity checks against the original postfix install (subsequently upgraded to Postfix 3) and as such was throwing errors every night for no real reason, quite annoying.

To fix this I tried running aide --update but it didn't work (probably my fault from doing an --init first). I had to rm the /var/lib/aide/aide.db.gz and /var/lib/aide/aide.db.new.gz files, then run aide --init and rename the newly-made aide.db.new.gz to aide.db.gz. After that, it was happy.

I