This tool verifies whether a give host correctly implements the new in-development MTA-STS standard for downgrade-resistant secure email. It is very new and not very well tested so don't rely on it's result too much.
Online version: https://aykevl.nl/apps/mta-sts/
License: BSD 2-clause license (see LICENSE.txt).
This guide has been written for Debian buster. It will work on stretch with minimal modifications (replace python3-flask-limiter with the pip3 package Flask-Limiter).
Install dependencies:
$ apt-get install uwsgi uwsgi-plugin-python3 python3-flask python3-flask-limiter python3-dnspython
Create a configuration file for uWSGI
(howto)
at /etc/uwsgi/emperor.ini
:
[uwsgi]
emperor = /etc/uwsgi/vassals
uid = www-data
gid = www-data
limit-as = 1024
logto = /tmp/uwsgi.log
Create a configuration for this app at /etc/uwsgi/vassals/mta-sts.ini
(create /etc/uwsgi/vassals
first):
[uwsgi]
socket = /tmp/mta-sts.sock
manage-script-name = true
mount = /=check:app
plugins = python3
chmod-socket = 666
pythonpath = /some/path/mta-sts
Enable and start uWSGI (check /tmp/uwsgi.log
for errors):
$ sytemctl enable emperor.uwsgi.service
$ sytemctl start emperor.uwsgi.service
Make sure a webserver redirects requests to /tmp/mta-sts.sock
. For
example, with nginx:
location = /apps/mta-sts/api {
include uwsgi_params;
uwsgi_pass unix:/tmp/mta-sts.sock;
}
Test the app with a browser.