<?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[Post-quantum TLS (X25519MLKEM768) for app domains on port 443]]></title><description><![CDATA[<p dir="auto">Connections to app domains on port 443 currently use classic X25519. I checked one of my app domains: TLS 1.3 negotiated X25519. The host nginx is 1.24.0 with OpenSSL 3.0.13 (Ubuntu 24.04), which has no ML-KEM support.</p>
<p dir="auto">This matters because of "harvest now, decrypt later": recorded traffic (logins, session tokens, API calls, secrets shown in dashboards) could be decrypted later by a quantum computer — or AI math attacks on current encryptions.</p>
<p dir="auto">Inside an app container, nginx 1.28.3 with OpenSSL 3.5.5 already serves TLS 1.3 with the hybrid X25519MLKEM768 group. My <a href="https://forum.cloudron.io/topic/11045/netbird-wireguard-based-vpn/">NetBird package</a> does this on its dedicated client port. App packages can't change port 443, though, because that's the host nginx.</p>
<p dir="auto">Request: build or ship the host nginx against OpenSSL 3.5+, and offer hybrid post-quantum key exchange with classic fallback, e.g. ssl_ecdh_curve X25519MLKEM768:X25519:prime256v1:secp384r1;. Current Chrome, Edge, Firefox and Safari would use it automatically, and older clients would keep using X25519. An admin toggle would be fine too.</p>
<p dir="auto">Happy to help test.</p>
]]></description><link>https://forum.cloudron.io/topic/16135/post-quantum-tls-x25519mlkem768-for-app-domains-on-port-443</link><generator>RSS for Node</generator><lastBuildDate>Sun, 18 Oct 2026 18:18:38 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/16135.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Oct 2026 21:37:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Post-quantum TLS (X25519MLKEM768) for app domains on port 443 on Sat, 17 Oct 2026 21:49:31 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/robi" aria-label="Profile: robi">@<bdi>robi</bdi></a> <a href="/post/131154">said</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/marcusquinn" aria-label="Profile: marcusquinn">@<bdi>marcusquinn</bdi></a> <a href="/post/131117">said</a>:</p>
<p dir="auto">On 26.04, follow the guide's MySQL 8.4 step (stop box, install mysql-server, re-run the box setup script, start box). After that, cloudron-support --troubleshoot passed cleanly and every app came back with the same state</p>
</blockquote>
<p dir="auto">Can you expand to include the path/to/the/box/setup-script?</p>
</blockquote>
<p dir="auto"><a href="https://docs.cloudron.io/guides/upgrade-ubuntu-26#post-upgrade" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/guides/upgrade-ubuntu-26#post-upgrade</a></p>
]]></description><link>https://forum.cloudron.io/post/131167</link><guid isPermaLink="true">https://forum.cloudron.io/post/131167</guid><dc:creator><![CDATA[necrevistonnezr]]></dc:creator><pubDate>Sat, 17 Oct 2026 21:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to Post-quantum TLS (X25519MLKEM768) for app domains on port 443 on Sat, 17 Oct 2026 17:33:16 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/marcusquinn" aria-label="Profile: marcusquinn">@<bdi>marcusquinn</bdi></a> <a href="/post/131117">said</a>:</p>
<p dir="auto">On 26.04, follow the guide's MySQL 8.4 step (stop box, install mysql-server, re-run the box setup script, start box). After that, cloudron-support --troubleshoot passed cleanly and every app came back with the same state</p>
</blockquote>
<p dir="auto">Can you expand to include the path/to/the/box/setup-script?</p>
]]></description><link>https://forum.cloudron.io/post/131154</link><guid isPermaLink="true">https://forum.cloudron.io/post/131154</guid><dc:creator><![CDATA[robi]]></dc:creator><pubDate>Sat, 17 Oct 2026 17:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to Post-quantum TLS (X25519MLKEM768) for app domains on port 443 on Fri, 16 Oct 2026 18:26:05 GMT]]></title><description><![CDATA[<p dir="auto">Follow-up with measured results, now that I've moved three Cloudron servers to Ubuntu 26.04, for anyone finding this post and wondering...</p>
<p dir="auto"><strong>Short version:</strong> upgrading the host OS to Ubuntu 26.04 makes Cloudron's own port-443 nginx negotiate hybrid post-quantum key exchange (<code>X25519MLKEM768</code>) by default. Cloudron needs no config change, and classic clients still connect.</p>
<p dir="auto"><strong>What I measured</strong> (<code>openssl s_client -groups &lt;group&gt;</code> against each dashboard and app domain on 443, before and after the upgrade):</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Host OS</th>
<th>OpenSSL</th>
<th>nginx</th>
<th>X25519MLKEM768</th>
<th>SecP256r1MLKEM768</th>
<th>X25519</th>
<th>P-256</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ubuntu 24.04</td>
<td>3.0.x</td>
<td>1.24</td>
<td>refused</td>
<td>refused</td>
<td>accepted</td>
<td>accepted</td>
</tr>
<tr>
<td>Ubuntu 26.04</td>
<td>3.5.5</td>
<td>1.28.3</td>
<td><strong>accepted (negotiated by default)</strong></td>
<td>refused</td>
<td>accepted</td>
<td>accepted</td>
</tr>
</tbody>
</table>
<ul>
<li>Same result on Cloudron 10.0.5 and 10.1.5.</li>
<li>Cloudron's generated nginx config has no <code>ssl_ecdh_curve</code> directive, so it inherits OpenSSL 3.5's default group list. That list prefers <code>X25519MLKEM768</code>.</li>
<li>With no group forced, a modern client now negotiates <code>X25519MLKEM768</code>. Older clients fall back to X25519/P-256 as before.</li>
</ul>
<p dir="auto">So for anyone asking how to get PQ TLS on the Cloudron dashboard and apps, the answer today is to upgrade the host to 26.04 following the official guide (<a href="https://docs.cloudron.io/guides/upgrade-ubuntu-26" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/guides/upgrade-ubuntu-26</a>). This needs no packaging or app changes.</p>
<p dir="auto"><strong>Upgrade notes from doing three servers (Hetzner Cloud, 22.04/24.04 → 26.04)</strong>, in case they save someone time:</p>
<ol>
<li>Take a fresh Cloudron backup and a provider snapshot first. Hetzner snapshots <strong>do not include attached Volumes</strong>, so the Cloudron backup is what covers data stored on them.</li>
<li>If an earlier <code>dpkg</code> run hung in <code>shim-signed</code>/GRUB configuration, compare <code>debconf-show grub-pc grub-efi-amd64</code> with <code>/dev/disk/by-id/</code>. Stale device IDs make the GRUB prompt loop even in noninteractive mode.</li>
<li>Hetzner Cloud x86 guests boot via BIOS. Before each reboot, I ran <code>grub-install --target=i386-pc /dev/sda &amp;&amp; update-grub</code>.</li>
<li>Older Hetzner images can have both a cloud-init ifupdown config and netplan defining the same interface. After the upgrade, <code>networking.service</code> failed with "address already assigned". The netplan config was correct, so I backed up and disabled the duplicate ifupdown file.</li>
<li>On 26.04, follow the guide's MySQL 8.4 step (stop box, install <code>mysql-server</code>, re-run the box setup script, start box). After that, <code>cloudron-support --troubleshoot</code> passed cleanly and every app came back with the same state and health as my pre-upgrade baseline, including four Nextcloud instances.</li>
<li>Check whether <code>sudo-rs</code> was installed and switch back to classic <code>sudo</code> if needed (the guide covers this).</li>
<li>During the package phase, SSH may be unreachable for a while, but apps kept serving. On the server where I watched, Nextcloud still returned 200 the whole time.</li>
</ol>
<p dir="auto">Port 443 is the host's nginx, so this is the only way an app package can get PQ there. App-specific listeners on their own ports (for example a NetBird native gRPC port) still need their own TLS config.</p>
]]></description><link>https://forum.cloudron.io/post/131117</link><guid isPermaLink="true">https://forum.cloudron.io/post/131117</guid><dc:creator><![CDATA[marcusquinn]]></dc:creator><pubDate>Fri, 16 Oct 2026 18:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to Post-quantum TLS (X25519MLKEM768) for app domains on port 443 on Fri, 16 Oct 2026 15:00:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/huehner" aria-label="Profile: huehner">@<bdi>huehner</bdi></a> thanks — just discovered that shortly after posting. We're all good then, and safe from the future <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=263cb8b0dfa" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://forum.cloudron.io/post/131105</link><guid isPermaLink="true">https://forum.cloudron.io/post/131105</guid><dc:creator><![CDATA[marcusquinn]]></dc:creator><pubDate>Fri, 16 Oct 2026 15:00:17 GMT</pubDate></item><item><title><![CDATA[Reply to Post-quantum TLS (X25519MLKEM768) for app domains on port 443 on Fri, 16 Oct 2026 10:11:51 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/marcusquinn" aria-label="Profile: marcusquinn">@<bdi>marcusquinn</bdi></a> ,<br />
you should be able to that much easier by updating your Ubuntu 24.04 host OS to 26.04  (LTS)</p>
<p dir="auto">26.04 ships recent enough openssl + nginx build against that.<br />
Also mentioned / explained here:<br />
<a href="https://documentation.ubuntu.com/release-notes/26.04/summary-for-lts-users/#post-quantum-cryptography-support" target="_blank" rel="noopener noreferrer nofollow ugc">https://documentation.ubuntu.com/release-notes/26.04/summary-for-lts-users/#post-quantum-cryptography-support</a><br />
<a href="https://discourse.ubuntu.com/t/post-quantum-support-in-the-upcoming-26-04-lts/76840" target="_blank" rel="noopener noreferrer nofollow ugc">https://discourse.ubuntu.com/t/post-quantum-support-in-the-upcoming-26-04-lts/76840</a></p>
<p dir="auto">On a <a href="http://cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">cloudron.io</a> running on 26.04 that is enough to get PQ key-exchange out of the box.</p>
<p dir="auto">If <a href="http://cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">cloudron.io</a> wants to fork + maintain both openssl + nginx packaging to get same on older 24.04 LTS is topic for them <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=263cb8b0dfa" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">But personally i don't think that might be a very good idea. As that would be lots of work to do + get stable + keep updated constantly (!).<br />
Especially if you continue thinking  to do that work more fully and not 'just' the external nginx<br />
But probably also</p>
<ul>
<li>host openssh</li>
<li>haraku + dovcecot (mail-server incoming + outgoing)</li>
<li>probably more things to check and test</li>
</ul>
]]></description><link>https://forum.cloudron.io/post/131092</link><guid isPermaLink="true">https://forum.cloudron.io/post/131092</guid><dc:creator><![CDATA[huehner]]></dc:creator><pubDate>Fri, 16 Oct 2026 10:11:51 GMT</pubDate></item></channel></rss>