I’d be curious about your thoughts too…I don’t have a good concise TLDR but I’ll try and break into half-readable paragraphs. Everything has pros and cons, and its a big balancing act because more secure usually means less plug-and-play.
I don’t know if its “impressive”, but I’ve done a lot to try and just limit attack surfaces. I’ve got a whitebox PC running router software (there are many…pfSense, OPNSense, etc) and a used enterprise L2 managed switch, with enterprise grade access points that also support VLANs and multiple SSIDs and PoE from the switches.
VLANs…if stuff doesn’t require internet, it can’t access internet at all. My cameras for example are isolated and only the DVR/NVR server is allowed to one-way access into them, they can’t access back out. Similarly VLANs for guest access like work PCs that has no business being able to talk to my personal NAS.
Along similar lines…be choosy about what stuff you get. Does your vacuum cleaner REALLY need to be internet connected? Or your TV, just because it can, do you actually need to connect it vs using it as a big monitor? Is there another alternative product with local control? I much prefer Z-Wave smart switches/thermostats/sensors, Zigbee or ESPHome flash-able devices if I can’t get it in Z-Wave. All those can stay on-prem radio, and Home Assistant which can run 100% within my house vs 100 different random devices phoning home to who-knows-where. Also that means I’m less likely to have the company shut down and brick my stuff, and my home automation keeps working if my ISP goes down as long as my local server has power to run.
Firewalls running on all the LAN machines too, allowing only the explicitly required services thru.
When possible, IPS software…I’m mostly Linux and I have found Fail2Ban simple and effective at blacklisting IPs when something tries to log in too many times…and learning how to write rules so stuff like hitting my personal webserver for nonexistant admin pages (e.g. I don’t run webmin, but if something is hammering looking for webmin admin pages, its blocked in the firewall automatically). And recursive rules so repeat offenders get blocked for weeks/months vs hours/days.
Just not running services exposed if it isn’t needed…and limiting authentication. Don’t use passwords for SSH if you can help it, use strong public/private key encryption for a client to connect.
Review stuff you’re installing that it sets up and runs as non-admin user. Make sure you set up any service accounts so they can’t be logged into with a password externally…least privilege access. If something doesn’t need to access a directory, set permissions so it is not able to.
Lear how to use other audit and control tools in your OS…in the case of Fedora/RHEL/CentOS/similar figure out how to configure selinux (and now there’s fapolicyd too) to whitelist only things you need vs turning it off and allowing any random executable/read/write. Yes, it can be a pain to debug, but you only have to do it once usually.
Backups…RAID isn’t a backup. Online backups (not as in cloud, but as in regular connected/accessible) are convenient for accidental loss but offline (as in unplugged, in a drawer) rotated backups so if you get hit with something that wipes/encrypts you can restore data. And then there’s offsite backup (either cloud/remote server or carry-a-brick-to-another-building) that can help protect against fire, flooding, and physical theft data loss of backups.
I’ve not dived into fancy stuff at home like Splunk or similar tools to review stuff, but I do periodically use some simple grep and other lines to evaluate logs…and for curiosity see who’s been trying to log in as what user how many times. Its amazing how many SSH root login attempts you get on a public facing system…upward of 10s of thousands an hour before implementing fail2ban.
Its also a fine line between making things more limited when possible, but not pissing off too many people because now its too hard to access something. At the end of the day, my random photo libraries or movie collection or whatever at home isn’t a very good target for attack, but I hope to avoid my smart-plug becoming leveraged as a botnet attack on something. It would be /nice/ to further limit some stuff like isolating the “normal PCs” from streaming devices, but that makes the user experience worse with some…or certain appliance devices sometimes have non-customizable rules of their own and will refuse to talk to your phone/computer if its not on the same subnet, so pick and choose when you need that convenience weighed against security.
I had been looking at a more severe restrictive firewall with pfBlockerNG but quickly found I was spending more time debugging my stuff and my roomates’ stuff being broken and decided that was more effort than was worth it at this time. At the end of the day, its probably a bigger risk some teen will smash a window and break in to grab some computers/tablets/whatever looks expensive to flip at a pawn shop.