I would like to set up a NAS/Home Server Combination. I am not particularly experienced with networking and this general area, although I can handle Linux well enough at the very least, so I have a few questions, particularly about security, but also other things.
So, here’s what I want, to provide a general idea of my plans:
I’d like
- Storage for my local network
- Nextcloud
- “Sync sources” for myself like a self-hosted RSS Reader and I guess Nextcloud counts for this too, with Calendars, Contacts, etc. (These should be available primarily to me, but indirectly through other apps)
- Collaborative tools also accessible to others (OnlyOffice, Etherpad, etc.)
- Plex/Jellyfin/Similar
- Factorio/Minecraft/Tf2 server for a handful of players (not all at once)
This isn’t a comprehensive list, but should provide a rough idea
So, my questions:
- Is it reasonable to combine a NAS and Home Server?
- How do I keep it secure, especially with potentially sensitive data on Nextcloud or in general storage, if I also want others to be able to access parts of it?
- What price range am I reasonably looking at if I want, let’s say, 8TB (is that normal?) of storage and enough performance to run all the above plus some extra things?
- What are some general best practices for hardware upkeep / preventing data loss?
- What are some best practices for security overall?
- Is there anything you’d like me to know, as a total novice in this field?
I am grateful for any tips, even if they’re not entirely related to my direct questions, so please feel free to dump all kinds of knowledge and tips on me, if it’s not too much of a bother for you!
Some security tips:
Firewall should block everything by default, and you start allowing incoming and outgoing connections when you need them or if something fails.
Disable passwords and root access in ssh daemon.
Use fail2ban or something similar to block bots failing to log-in.
Use random long passwords for everything (eg: like databases). And put then in a password manager. If you can remember the database password, it’s not strong enough. If you can remember the admin password for a public web service, it’s weak.
Don’t repeat the passwords. Everything should have its own random long password.
.env files and files with secrets should be readable only by its service user. Chmod them to 400.
Monitor logs from time to time to see if something funny is happening.