Globalrestart required
The web monitor is a separate program (pmtahttpd) on the port from http-mgmt-port. This line sets below which protocol version it will not go. The default is tlsv1.2.
One port, two kinds of conversation. The monitor looks at the first bytes of a connection and understands both a plain request and a TLS handshake. We checked this on a fleet node: the same port answered both a simple request and a TLS 1.3 handshake. So encryption on the monitor is always available — the only question is whether the client uses it.
There are none of the compatibility arguments mail has. When sending, there are thousands of receivers, and some of them are ancient; the monitor has a browser and our own clients on the other end. Raising the floor here is cheaper than anywhere else.
The setting is read by a different process than mail. pmta reload rereads the sending configuration and does not touch the monitor — the new bound takes effect only after pmtahttpd is restarted.
The Hub already restarts the monitor after applying the configuration — PmtaConfigApplier::restartMonitor — so unlike many others, nothing in the apply order gets in this directive’s way.
The default is already reasonable, and lowering it is almost always wrong:
| Value | When |
|---|---|
| tlsv1.2 (default) | always |
| tlsv1.3 | all monitor clients are your own and modern |
| tlsv1.1 and below | only for an old client that cannot be updated |
The difference from mail is the price. There, lowering the bound saves a message’s delivery; here, it opens up the management interface.
# the node's management interface http-mgmt-port 1000 http-tls-min-version tlsv1.2http-redirect-to-https true
what people get wrong and how it ends3 mistakes▶
our experience
our experience
§ 3.3.1.58.13
4 relations
openssl-security-levelGlobalThe OpenSSL security level may refuse a version this bound allows. inferencehttp-redirect-to-httpsGlobalWhile plain connections are also accepted, the whole set of TLS settings decides nothing: the client simply will not encrypt. inference
http-tls-allow-sslv3GlobalIt sets the monitor’s lower bound; separate switches are no longer needed. inferencehttp-tls-allow-tlsv1GlobalReplaced the whole set of five switches: the monitor’s version range is set by a pair of bounds. § 3.3.1.58.9http-tls-allow-tlsv1.1GlobalReplaced the whole set of five switches: the monitor’s version range is set by a pair of bounds. § 3.3.1.58.10http-tls-allow-tlsv1.2GlobalReplaced the whole set of five switches: the monitor’s version range is set by a pair of bounds. § 3.3.1.58.11
openssl s_client -connect NODE:1000 -tls1_2 -brief </dev/null
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇The group that grants management rightsMembership in the pmta group gives an unprivileged user the right to call the node’s commands and use submission.◇How the node selects a source and combines its settingsA connection falls under all source blocks whose addresses cover it, and they act merged — the narrow one overrides the wide one; named blocks are attached only by direct reference.