Skip to content

Conversation

@bwbroersma
Copy link
Collaborator

@bwbroersma bwbroersma commented Oct 3, 2025

diff --git a/docker/webserver.Dockerfile b/docker/webserver.Dockerfile
index 4aded1fe..dc488004 100644
--- a/docker/webserver.Dockerfile
+++ b/docker/webserver.Dockerfile
@@ -3,6 +3,8 @@ FROM nginx:1.29.1-alpine3.22
 RUN apk add \
   # for random quic host key
   openssl \
+  # install GNU sed which has -z support instead of busybox sed
+  sed \
   # for htpasswd
   apache2-utils \
   # for gixy and certbot install
diff --git a/docker/webserver/nginx_templates/smtp.mail-conf.template b/docker/webserver/nginx_templates/smtp.mail-conf.template
index 42a1f1bb..268721d4 100644
--- a/docker/webserver/nginx_templates/smtp.mail-conf.template
+++ b/docker/webserver/nginx_templates/smtp.mail-conf.template
@@ -7,6 +7,7 @@ include conf.d/letsencrypt.conf;
 
 ssl_protocols TLSv1.2 TLSv1.3;
 ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
+ssl_ecdh_curve SecP384r1MLKEM1024:X25519MLKEM768:SecP256r1MLKEM768:secp521r1:brainpoolP512r1:x448:brainpoolP384r1:secp384r1:x25519:secp256r1:brainpoolP256r1;
 
 server {
     listen        25;
docker exec -ti $(docker ps --filter name=internetnl-develop-webserver-1 -q) openssl s_client -starttls smtp -connect 127.0.0.1:25 -servername internet.test -groups X25519MLKEM768 |grep group
Negotiated TLS1.3 group: X25519MLKEM768

@bwbroersma bwbroersma force-pushed the gh1883-add-nginx-smtp-dummy branch from 8837a9a to 387d7ac Compare October 3, 2025 20:56
@mxsasha mxsasha requested a review from aequitas October 7, 2025 08:36
@aequitas
Copy link
Collaborator

aequitas commented Oct 9, 2025

@bwbroersma I'm currently reviewing, we might consider upstreaming a mail block implementation like how its done for streams: https://github.com/nginx/docker-nginx/blob/master/entrypoint/20-envsubst-on-templates.sh#L13 for the long term.

Copy link
Collaborator

@aequitas aequitas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a test, fixed the template variable substitution and simplified the template inclusion. 7220138

@beatquantum
Copy link

These are the curves I am using on nginx (without errors) and can be merged with your list above should you wish to future proof with pure PQC in addition to hybrids.

ssl_ecdh_curve MLKEM1024:MLKEM768:MLKEM512:SecP384r1MLKEM1024:SecP256r1MLKEM768:X25519MLKEM768:secp521r1:secp384r1:x448:secp256r1:x25519;

@bwbroersma
Copy link
Collaborator Author

@beatquantum: NCSC-NL 2025-05 advise internet.nl follows is to only use hybrid PQC. Of course deviations from that can still be configured in a self hosted instance or fork.

bwbroersma referenced this pull request Oct 9, 2025
- Add test for dummy smtp
- Fix propagating and rendering of variables for mail templates
- Simplify mail template inclusion code
@bwbroersma
Copy link
Collaborator Author

bwbroersma commented Oct 9, 2025

Todo:

@bwbroersma bwbroersma marked this pull request as draft October 9, 2025 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Reverse mail server check on IP

3 participants