For example, something that is too complex for your comfort level, a security concern, or maybe your hardware can’t keep up with the service’s needs?
For example, something that is too complex for your comfort level, a security concern, or maybe your hardware can’t keep up with the service’s needs?
Hosting an email server is pretty sure a magnet for half the Chinese IP range… So I would refrain from hosting that myself.
I figured email would be a common theme. I’m just starting to dip my toes into all of this, so an email server is not on my to-do list (and may never be).
Google and other large scale providers have intentionally made it very difficult to self host your own email. It’s generally not considered a wise move these days and is very difficult to maintain.
Why do you say so? I’m not an expert in the fields, but isn’t a mail server pretty much the same as 20 years ago plus DKIM and SPF?
With DKIM and SPF, I’ve had zero problems in the last 15 years of selfhosting, most recently with Mailcow Docker on a residential IP. I don’t even have a reverse PTR to my mailserver hostname, just a PTR provided by the ISP that can be resolved.
I’ve added a few fresh, un-reputed domains to the server and had no issues.
I think many people’s problems with running email servers are self-inflicted. I remember even before there were things like blacklists, etc with large providers, many people had problems keeping mailservers running. It’s just not an easy task for a variety of reasons completely unassociated with the mega’s blacklisting you. I’ve been running mailservers at various scales for 20+ years so maybe it’s just second nature to me now.
Problem is, that most larger providers sort your mails to spam if the domain is not well known to them, which is not easy to achieve
Mmm…are you sure about that? I happen to buy some random domain and I’ve never had any problem sending email even right after the domain created.
There’s been a lot of write ups on this, such as this one: After self-hosting my email for twenty-three years I have thrown in the towel. The oligopoly has won.
But there are even people that still self host email server (have a look in the selfhosted subreddit for example). IP reputation is a thing, for sure, but I don’t feel that it’s been brought up by the big corp wickedly, it’s a good way to prevent spam to arrive to the server. There are thousands of email providers in the world that are not Google, Amazon, Microsoft or some other big corp. This means that is possible. Is it difficult? For me for sure!!! But I think that the rising difficulty has been a result of this fields over the years. Just my 2 cents.
I did host my email, but the problem wasn’t the spam but the bigger email providers. Best case was my mail was marked as spam. Worst case was that I was blocked until I jumped through hoops. Email hosting is unfortunately broken.
what’s that? a federated service isn’t immune from a corporate take over? colour me shocked.
Gladly, fail2ban exists. :) Note that it’s not just smtp anyway. Anything on port 22 (ssh) or 80/443 (http/https) get constantly tested as well. I’ve actually set up fail2ban rules to ban anyone who is querying
/
on my webserver, it catches of lot of those pests.CrowdSec has completely replaced fail2ban for me. It’s a bit harder to setup but it’s way more flexible with bans/statistics/etc. Also uses less ram.
It’s also fun to watch the ban counter go up for things that I would never think about configuring on fail2ban, such as nginx CVEs.
Edit: fixed url. Oops!
Thanks for mentioning it, I didn’t know about it. Protecting against CVEs sounds indeed awesome. I took a more brutal approach to fix the constant pentesting : I ban everyone who triggers a 404. :D Of course, this only work because it’s a private server, only meant to be accessed by me and people with deep links. I’ve whitelisted IPs commonly used by my relatives, and I’ve made a log parser that warns me when those IPs trigger a 404, which let me know if there are legit ones, and is also a great way to find problems in my applications. But of course, this wouldn’t fly on a public server. :)
Note for others reading this, the correct link is CrowdSec