FreeNAS (well TrueNAS now) with snapshots.
Disable SMB (sucks though if on Windows).
Not connected to the WAN, LAN only (that also includes the computers that can "see" the NAS, why I also disable SMB because even if the drives aren't mapped on a specific computer, it is possible for it to still be "seen" by the computer and and thus can still be attacked if said computer has WAN access, although script kiddies are relatively low threat in this method).
I am not fan of online storage. Yes it is cheap compared to running your own server, yes it does have very much a convenience compared to running/maintaining your own server, I actually despise having my files on someone else's computer. Keeping everything offline is definitely a pain in the ass, but I have far more piece of mind then using any online provider (and there have been cases where online backup providers have been hit and their software that does the backups between host and client have been used as a vector to infect not only the backup files on the online backup provider,but their client's computers as well).