<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mail app fails the internet.nl mail test on cipher suites]]></title><description><![CDATA[<p dir="auto">The <a href="https://en.internet.nl" target="_blank" rel="noopener noreferrer nofollow ugc">https://en.internet.nl</a> mail test fails the "Secure mail server connection (STARTTLS and DANE)" category on all three of my Cloudron servers — 9.2.0, mail app 3.18.2 — with identical findings on each, which suggests a platform default rather than local configuration.</p>
<p dir="auto">Cipher suites offered that the NCSC guidelines (2025-05) rate <em>insufficient</em>:</p>
<pre><code>TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
</code></pre>
<p dir="auto">And rated <em>phase out</em>:</p>
<pre><code>TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
</code></pre>
<p dir="auto">Cipher suite order fails as well — the server prefers <code>ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384</code> over suites rated good. Lower severity in the same test: SHA-224 for the key exchange hash (separate topic, it applies to nginx too) and client-initiated renegotiation reported as unlimited.</p>
<p dir="auto">Everything else passes — IPv6, DNSSEC, DKIM/SPF/DMARC, DANE and RPKI — so the failed category comes down entirely to the cipher list. Each server scores 97%.</p>
<p dir="auto">With v10 in progress: worth including?</p>
]]></description><link>https://forum.cloudron.io/topic/15794/mail-app-fails-the-internet.nl-mail-test-on-cipher-suites</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 07:30:43 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15794.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Aug 2026 10:37:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mail app fails the internet.nl mail test on cipher suites on Sat, 08 Aug 2026 09:53:11 GMT]]></title><description><![CDATA[<p dir="auto">The opportunistic-TLS point is fair and I'll concede it — on port 25 a weak cipher beats a plaintext fallback, and <a href="http://internet.nl" target="_blank" rel="noopener noreferrer nofollow ugc">internet.nl</a>'s model implicitly assumes an enforcing world (DANE, MTA-STS) that doesn't match how inbound mail actually works.</p>
<p dir="auto">One correction on the Node side though, because it affects the "we track Node's defaults" reasoning. Read off the running mail container:</p>
<pre><code># node -p 'require("tls").DEFAULT_CIPHERS'
...:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA
</code></pre>
<p dir="auto">That list names 12 suites explicitly and then ends with the <code>HIGH:</code> catch-all, which expands it to 58. Every flagged suite arrives through the catch-all — not one of them is named in Node's own list:</p>
<pre><code>                                 with HIGH:   without
ECDHE-ECDSA-AES256-CCM8             yes         no
ECDHE-ECDSA-ARIA256-GCM-SHA384      yes         no
ECDHE-ECDSA-AES256-SHA              yes         no
</code></pre>
<p dir="auto">So upgrading Node doesn't move this. The list has had the same shape for years, and Node 24 in Cloudron 10 will produce the same test result that Node 22 does today.</p>
<p dir="auto">And the compatibility argument, while true, covers a narrower set than the whole list. The long tail of old MTAs lives on the CBC-SHA1 suites. ARIA is a Korean national standard and CCM_8 is a short-tag variant from the IoT world — no MTA in the wild speaks only those. Just noting where the observation stands; the trade-off is yours to make.</p>
]]></description><link>https://forum.cloudron.io/post/127934</link><guid isPermaLink="true">https://forum.cloudron.io/post/127934</guid><dc:creator><![CDATA[imc67]]></dc:creator><pubDate>Sat, 08 Aug 2026 09:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to Mail app fails the internet.nl mail test on cipher suites on Sat, 08 Aug 2026 09:24:12 GMT]]></title><description><![CDATA[<p dir="auto">The last time I touched all these ciphers, they started failing left and right in production. In fact, we had to whitelist even TLS 1.1 for a big german provider. The reality is if you want to accept mail, you have to be as open as possible and people get very upset when they are unable to get mail and they get no notification about this. Since this is all at the connection level, it is incredibly hard to surface all this information to the admin and users in some meaningful way. So yeah, best not to touch all this. These are the nodejs defaults (which we keep upgrading. Cloudron 10 has 24.19.0).</p>
<pre><code>$ node -e 'console.log(require("tls").DEFAULT_CIPHERS)'
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA
</code></pre>
]]></description><link>https://forum.cloudron.io/post/127931</link><guid isPermaLink="true">https://forum.cloudron.io/post/127931</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Sat, 08 Aug 2026 09:24:12 GMT</pubDate></item></channel></rss>