8 ms·
Self hosting is hard. You need to take care of security, backups, software updates, software installation and so on. Even on something like a QNAP (which can b
by blenderdt 5y ago
Self hosting is hard. You need to take care of security, backups, software updates, software installation and so on.
Even on something like a QNAP (which can be compared to managed hosting) this can be hard. Flip the wrong switch and you expose something to the world. Missed a security update: your device is now vulnerable.
While I host a lot of things myself I can understand self hosting is not for everyone.
- brettermeier 5y agoI tried it but there are so many traps you can fall in, like security settings as mentioned by you. When i had my server online back then, it was hacked 1 week later :D
- macinjosh 5y agoI hear a lot of stories like this. I've been self-hosting for a few years out of my home. I have a symmetrical gigabit fiber connection. My IP changes very frequently (DDNS and a low TTL solves that problem for my use cases). _anyway_ I haven't been hacked.. yet. /me knocks on wood The precautions I take are basic: - Use unique and secure credentials on each service I expose. - I only expose ports 80 and 443 to the public. 80 HTTP redirects to HTTPS/443 - I keep my software updated (docker-compose pull) - Nightly backups to cloud storage and local disk - I "airgap" my home network from my hosting network. There is no shared hardware between them including firewalss/routers, switches, etc. I figure cloud services and SaaS get hacked anyway. I can't enumerate the breaches my data has been a part of. If my self-hosted stuff gets hacked at least I can do the forensics and actually see what happened and what was accessed. With a 3rd party all I can hope for is what their PR department lets out.
- sgarman 5y agoIMO separate hardware for your self-hosted network puts you into a whole new class of hosting at "home."
- macinjosh 5y agoNot necessarily. For my use case it’s one extra 4 port gigabit switch and a single pc that runs everything containerized including the NAS, firewall, and apps.
- aimor 5y agoI'm interested in how you set up your home and hosting networks without any shared hardware. I've been running my own websites from home for awhile on their own machines, but never considered they could be on a completely separate network all the way up to the modem.
- macinjosh 5y agoMy ISP provides me with PPPoE into my house. I have that Ethernet going into a small switch which both networks connect to via a firewall. Each network establishes its own PPPoE session and receives its own (dynamic) IP address.
- Gigachad 5y agoThe first hack I noticed was that someone had set a password on my redis server because the default was no password and I had accidentally exposed it to the wider internet. This was exposed for 6 months before this happened. Who knows what else was accessed without me knowing.
- account42 5y agoIt's pretty silly how many services are public by default when ideally they should only listen on a unix domain socket (or nothing) until you configure something else.
- mrmattyboy 5y agoI'd love to see a blog post that says, this is how to setup X (I dunno.. mediawiki, owncloud, whatever).. and then go fully in-depth into _everything_ surrounding it.. security, backups, logging, alerting, monitoring, backup testing/restoration etc.. a blog post that really covers everything for a well-protected 21st century hosted application that won't leave the owner in tears after a year! There's honestly so many posts that make it look so easy, but without everything else that would normally make it a job position in a company :)
- edgyquant 5y agoThese are called instruction manuals and no one likes to read them.
- unforswearing 5y agoI am certain you have spent the time to ask everyone if they indeed do not like to read these, but I disagree.
- Moru 5y agoI realy hate the part when they say "But this is outside of the scope of this manual."
- core-utility 5y agoI think the hard part is that would be largely dependent on specific implementation, which itself is very opinionated. I could write a post on how I run, maintain, and secure Docker Container X on Ubuntu Y using vSphere with Synology and get 100 comments on why CentOS is better and I'm wasting time/money with vSphere over Proxmox, etc. Cloud doesn't have quite this problem. Once you've chosen a cloud provider, you have significantly fewer options in each category, minimizing this option-overload.
- Moru 5y agoWrite your howto on your private blog and disable comments. Problem solved. You can thank me later :-)
- rsync 5y ago"Flip the wrong switch and you expose something to the world." One strategy for dealing with accidental misconfigurations is to employ a "network slug"[1]: "A Network Slug, or "Slug", is a transparent layer 2 firewall running on a device with only two interfaces. ... The purpose of a Slug is to reinforce a security policy or to block uninentional leaks of information." [1] https://john.kozubik.com/pub/NetworkSlug/tip.html https://john.kozubik.com/pub/NetworkSlug/tip.html
- egberts1 5y agoGot one of those. It is hard. Very hard. Absolutely freakin’ hard to make a bump-in-the wire dynamic 5-tuple blocking “hub”. It also does “waterfall” egress packet delaying.
- rsync 5y agoI'm not sure I understand what you're describing ... A slug should not need to be dynamic nor should it be complicated in any way ... in fact, it is one of the simpler systems I have ever deployed ...
- egberts1 5y agoDoes it do Suricata, Zeek, Snort, Transparent Squid (with valid signed CA cert), and a furtive SSH port in which to monitor and API to block ports?
- hosteur 5y agoI think all those are anti-features on a network slug. As I understand it, the device is intentionally simple because it is there to ensure some misconfiguration cannot expose some port that should not be exposed. I have implemented firewalls similar to this in the past. They typically had three network interfaces. Two of them were configured as bridges and then I use ebtables/iptables to filter traffic flowing through. These two interfaces would have no IP address and would not be visible on a traceroute, etc. The third interface would only be connected to a separate admin network. Or it might not even be plugged in. In the latter case, the admin needing to change anything on the device would have to be physically present and bring a "crossover" ethernet cable and plug their laptop directly into the third NIC of the firewall. From there, they would be able to ssh into the firewall and change config.
- Havoc 5y agoDocker has taken much of the pain out of it though. And if kept on local network safety is largely a non issue. Drop in replacement while outside LAN are admittedly a little harder and more at risk of mistakes
- dcchambers 5y ago> You need to take care of security Easiest solution is to just host stuff on a local network without access to the wider internet. E.g. running on an old laptop/raspberry pi/server in your basement. Sure, that means you can no longer access your self-hosted stuff when you're out of the house, but the tradeoff is peace of mind about your data leaking or worse.
- ngcc_hk 5y agoHow about add a remote apple host. Not for the world but just you?
- nirvdrum 5y agoSetting up a VPN is pretty easy these days. If you don't want to run it on your router, you can look at something like Tailscale for remote access.
- chaxor 5y ago*headscale If you care about privacy or self hosting, use headscale instead. You have no idea what tailscale is really doing.
- bbu 5y ago>You have no idea what tailscale is really doing. please elaborate...
- chaxor 5y agoWhat I mean is just the general statement that can be applied to any company or server. Even if they release all of their code as free and open source (not entirely true, as I understand it - their public servers that handle connecting your devices is not), there is no gaurantee that they are actually using that specific, unmodified code on their servers. They could add or remove whatever they like to the software before deploying it on their servers without you knowing. You have to trust whatever they may write on their blogs. Some people may not care, but the winds these days are shifting away from trusting companies with their private data.
- kjs3 5y agoI'm amused by the implications here that 1) the outsourced alternatives are better than you are at keeping up with the 'hard stuff', and 2) that in an outsourced scenario you can't "flip the wrong switch and you expose something to the world". This thinking is why I can't tell you how many incident post-mortems I've done where I have to once again hear "...but, but, but...we outsourced this to them so this couldn't happen...".
- treesknees 5y agoDepends on whether you're referring to a SaaS provider or something more like a MSP. I'd like to believe the engineers running Google Photos or iCloud are spending a lot more time on keeping my photos secure and available than I would be willing to put into a server running in my basement. In the case of a business hiring an MSP to manage something complex like firewalls, Active Directory, server patching, then sure it's reasonable to assume that if they made a mistake, the impact would be equivalent to you making the mistake yourself. It's possible you need to tell whomever you are reporting to for these post-mortems, they should be outsourcing to reputable service providers in order to free up time and man-hours, not necessarily just to save financially. I suspect that is the real problem.
- kjs3 5y agoThanks for the condescension about how my clients handle outsourcing. Not knowing anything about how they do it makes that sort of low intellect, zero content second guessing easy. Big Hint: AWS has had something like 5 times the downtime my biggest clients on-prem datacenters have had this year. So...no, the FAANG engineers aren't doing better than my clients.
- nirvdrum 5y agoTo the extent permitted by the hosted service, you should still backup your data. If you manage to accidentally delete all of your hosted photos or if your account is compromised, I wouldn't rely on most services going to their backups to restore your data. Unless it's a site-wide issue, most places will say "that's too bad" and send you directions on how to protect your account.
- aeturnum 5y agoI agree but I think about it in the reverse way: the hosting is easy, what you get when you use another company's service is the maintenance. Just like every other option where we choose who will maintain something there are trade-offs. You can maintain your own car if you want, but it'll involve things! We all look at our lives and decide which is best for us for each thing. Personally, I tend to self host the things whose maintenance I at least find satisfying, and hopefully enjoy. Otherwise I pay someone (through ads or my own money) to do it for me.
- edgyquant 5y agoI used to love running my own servers with all the services etc. I’d manually write beautiful bash scripts to keep it all nice and easy to rebuild on the fly. My first job had 10 Ubuntu servers (on site) and I was the only guy who used Linux at home and had experience with sql. I have never volunteered to maintain servers since, it was horrible and everything was always my fault (it kinda was, I was a hobbyist at best with no real production Linux experience.) I do still end up as the dev ops/infra guy at every place I’ve worked but at this point I’m probably one of those stubborn senior guys who wouldn’t like the way the juniors went about it.
- chousuke 5y agoSounds like you might've had an unusually bad experience. Might've also been the distro; I don't like Ubuntu much myself. :P Maintaining inherited environments is also much more painful than ones you get to design from the ground up. I work with varied environments, and one with ~250 RHEL / CentOS machines has approximately the same level of maintenance burden as another with a dozen or so Ubuntus because the first environment has had configuration management from the beginning and the second is a complete mess that I've slowly tried to reverse-engineer and clean up. When your change management works, maintaining a dozen servers isn't all that different from maintaining a thousand or more; and the need for change management and automation doesn't really go anywhere even when you don't self-host things.
- nerdyadventurer 5y agoWhat do you suggest as a maintainable distro?
- chousuke 5y agoI like RHEL and derivatives more for servers myself. It's probably just preference, but I find that RHEL-like distros step on my toes less often. In particular, I don't like debconf at all, and Ubuntu pushing snaps everywhere also leaves a bad taste in my mouth.
- Gigachad 5y ago
- cersa8 5y agoIt has also gotten much easier. For instance running your own full blown email server with docker-mailcow. There's a great UI tool that helps to setup the required DNS records. I remember doing the lengthy postfix + dovecot + SASL + MySQL + Auth + this + that guides. No need for it anymore.
- tormock 5y ago> Self hosting is hard. You need to take care of security, backups, software updates, software installation and so on. automation is not a thing? I'm pretty all cloud providers do it...
- UncleSam 5y ago> Even on something like a QNAP (which can be compared to managed hosting) this can be hard. Flip the wrong switch and you expose something to the world. Missed a security update: your device is now vulnerable. It doesn't even require actively flipping switches, but can be from not knowing a vulnerable feature was enabled by default. My QNAP got hit with ransomware because of a vulnerability in the cloud access software that I wasn't even using. I've since locked down all non-local traffic.
- khalilravanna 5y agoWanted to reply saying the same thing. I didn't really muck with the settings on my QNAP NAS and then checked into my files one day and everything was encrypted with some txt files telling me to send BTC to some address. I just formatted the disks, lamented not backing some stuff up, and moved on. I'd say the point being: I'm a software engineer who knows better about these sorts of things and still got caught with my pants down. You have to be very judicious with respect to security. You can't just plug and play and say "I'm too busy to worry about that." Another thing I'll add is the amount of software tools they have on these NAS machines strikes me as 1) very impressive for a company their size and 2) a huge surface area rife for being hacked. When it happened I wasn't surprised at all. I've since stopped using it because at the end of the day I'd rather pay Dropbox to have peace of mind.
- z3t4 5y agoYou can use a popular Linux dist and turn on automatic updates, and use Snap apps that update by themselves. But you still would not have control - apps could update with breaking changes. The only way to win is by choosing simple tools that are either considered "infrastructure", or simple to build and even patch yourself if needed.
- tuatoru 5y ago> apps that update by themselves Maybe I'm too old (experienced) and cynical, but I always read that as "apps that are going to brick themselves". No thanks.
- sdoering 5y agoThis one has bitten me hard on servers and desktop computers. And lately on mobile too. The last area were I still had automatic updates enabled. The problem is, that one can't reasonably wait a few days on every update and look online for breaking changes. Especially with mobile apps that have sometimes a really unreasonable update frequency. I still have not found a satisfactory solution for me personally.
- LAC-Tech 5y agoSelf hosting is hard. You need to take care of security, backups, software updates, software installation and so on. I'm pretty sure we all used to that and it was mostly fine. I get that the mainstream computer user has been lost to techno-infantilism. But why should we?
- IggleSniggle 5y agoFor me the issue is that I now have (let me count) 15 different devices in my household with unique configuration needs that it’s up to me manage. I could handle it when it was 1, 2, 3. Now it’s just too much. I recognize that this embarrassment of riches is in part my own fault. But this is my answer to your “why”
- asoneth 5y agoAs someone who used to have a server in my dorm room but switched to outsourcing it I stopped because the list of technologies I had to keep track of kept monotonically growing and I had no interest in making it my day job. If it becomes simple again I would gladly self-host.