this post was submitted on 07 Jan 2024
48 points (92.9% liked)

Selfhosted

40347 readers
328 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

We are thrilled to announce the release of Stalwart Mail Server 0.5.2, which brings two significant advancements: the integration of the ACME protocol for automatic TLS certificate deployment and support for the HAProxy Protocol. These features mark a substantial step forward in our commitment to enhancing the security and efficiency of Stalwart Mail Server.

you are viewing a single comment's thread
view the rest of the comments
[–] ikidd@lemmy.world 2 points 10 months ago (2 children)

I wouldn't; it's a monolithic container and I wouldn't be comfortable putting an edge device up like that, with no separation of the backend from the front-facing services.

[–] ninjan@lemmy.mildgrim.com 2 points 10 months ago (1 children)

Another user pointed out that there is no webmail built in so all that is contained is stuff that would need to be on the edge, i.e. SMTP and I/JMAP. Those services need direct port communication to the internet. As for the true backend stuff it's not part of the setup since you need to provide your own storage backend and authentication backend. So I don't understand your concern, could you elaborate what they do wrong in your mind?

[–] ikidd@lemmy.world 2 points 10 months ago* (last edited 10 months ago) (1 children)

Your SMTP should relay to the IMAP server but not be part of the same system so only new mail in and out is compromised, not the old. Or the spam filter. Or the other relays.

The webmail is the least of it, but even that should be separated from the services since that can compromise the users browser. And vice versa, if the users browser is owned and can infect the webserver, then the infection spreads all the way across the mail server, not just isolated to the nginx server.

Do one thing, and do it well. Then put them together, securely.

[–] ninjan@lemmy.mildgrim.com 1 points 10 months ago (1 children)

Ok, I can understand your concern now but I feel like you're basically saying that mail and self-hosting in general shouldn't be streamlined at all and be super complex. Because your recommendation puts a lot of the security burden on the end user building their setup of various best-of-breed solutions. You would then yourself have to ensure all inter solution communication is secure as well as deploy every solution securely. Whereas with a all-in-one it's generally on the Developers and the larger FOSS community to ensure the package is secure internally and the end user is only responsible for the deployment (i.e. that they follow the instructions and have reasonable security on the server they deploy to). Theoretically if an end user is very bad at security then your recommendation doesn't end up with a more secure solution over all, it would be just as easy to compromise as the all in one, if not easier.

[–] ikidd@lemmy.world 2 points 10 months ago

Not even saying that. Mailcow-dockerized is as simple to set up but separates the functions by container, and lets you specify secrets for database access, etc outside the docker compose. Unfortunately, the other easy-to-set-up one, docker-mailserver is a monolithic container as well.

I would also point out that people that don't understand server security practices should probably stay way the hell away from self-hosting mail. When I did this professionally, I would compartmentalize the mail infra physically, then eventually by individual VMs. I now use unprivileged docker on it's own docker host separate from the rest of my infra, in fact on another virtualized DMZ, because mail is the #2 point of contact for penetration.

[–] ace@lemmy.ananace.dev 1 points 10 months ago (1 children)

You could also just run IMAP/JMAP/SMTP as separate components, I can't see any place in the Stalwart documentation - or in the Docker image itself - where monolith is the only option.

I haven't tested the setup myself yet, but me and another root are planning on testing a setup of Stalwart to replace a semi-broken IMAP/JMAP setup for a computer club, keeping the SMTP as is.

[–] ikidd@lemmy.world 1 points 10 months ago (1 children)

Out of curiosity, what JMAP client have you been using? There doesn't seem to be a lot yet and I've heard mixed reports about it with larger volumes, not that I'm working at scale anymore

[–] ace@lemmy.ananace.dev 1 points 10 months ago

Haven't really used any proper JMAP clients - since the setup is broken anyway, so mainly just curl.