I am running:
rest-server version rest-server 0.13.0 compiled with go1.22.5 on linux/amd64
My CERT finds the fault the server is accepting TLS 1.0 and 1.1 and also the ciphers
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA and TLS_RSA_WITH_3DES_EDE_CBC_SHA
which are not allowed any more at our site.
There’s no option exposed by the rest-server to influence the TLS ciphers.
What’s weird is that go1.22 should by default already disable TLS before 1.2:
But I just gave it a try using testssl.sh and apparently TLS 1.0 is still offered.
The 3DES ciphers should be disable with go 1.23 (see crypto/tls in the release notes ), but that yields the same unexpected behavior. Based on a quick glance at the rest-server code, I don’t see why that is happening.I guess I’ll need to have a closer look.
Ah, setting the environment variable GODEBUG=tls10server=0,tls3des=0 does the trick. tls3des only works when rest-server is compiled with go 1.23.
rest-server still has go 1.18 in its go.mod file. This lets the GODEBUG options match the behavior of that go version. That is, both TLS options are by default enabled.