Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
Ayy, nice work getting started down the selfhosting route! Start by remembering that security is a maturity process. To find out if you're doing the right things at the right time, ask yourself:
If you're just one person and it's a self-hosted home setup, remember you can't patch all the things all at once. Asking yourself regularly if you maturing your environment over time is essential. Do a little work each week and you'll make good progress.
When I think of security, I think of a few things
Authentication & Access - each system should have just enough accounts with just enough permissions to get work done. Change default passwords. Make them long and unique. Use MFA whenever possible (often impractical for self-hosted; cut yourself slack when this is the case!). A note on logging - if you can, while you're doing this homework, check how long it saves logs. Shoot for keeping logs longer if possible; I like 30 days, but you might want more. Also make sure you have a time server, or at least that you're getting accurate time stamps. If something weird happens and you're investigating, having timestamps on logs that line up and make sense helps you recreate what happened, so you can decide if you need to wipe something and reload it.
Patching - automated scanning of your stuff for vulns would be fantastic if you're interested in going that route, but a Saturday morning checklist to run updates on everything works too.
Attack Surface Management - if you're not sure you're exposed, scanning externally can be a big help. I have a Racknerd server ($40/yr, it's amazing) in San Diego and I periodically run scans of my home network to see what's forwarded. This is using nmap, although I could also use a free version of Nessus Essentials on there. This gives me an idea of what I look like from outside my network.
Inventory - do you know what you have, and what's it doing? Even a pencil drawing of your network, IP addresses, and services they have can come in super handy. While big orgs have an index of critical data and where it's stored, just knowing what containers are running on which VM or physical box can help if stuff goes sideways. I redraw mine periodically, yes it's hand drawn because it's fast and does the job lol. Do what works for you, though, to keep an inventory of your stuff. You need to know what you have, what it does, and where it's supposed to be going.