Working Notes: SEC440: Redundant Infrastructure - eliminmax/cncs-journal GitHub Wiki
Problem 1
GlusterFS is designed to be run on isolated infrastructure, which it was not in my setup. It would be fairly easy for a bad actor to gain read/write access to the files stored on it directly.
Solution 1
GlusterFS has a system to restrict clients by IP address, which would be perfect for this.
Problem 2
While I did have multiple network segments, there were no firewall rules in place to isolate them from one another. Without firewall rules, it defaults to allowing anything.
Solution 2
Figure out what needs to be allowed, and switch to a deny-be-default paradigm.
Problem 3
The Nextcloud servers had no encryption enabled for either the front-end web UI or the back-end file storage
Solution 3
Investigate ways to use HTTPS with HAProxy or an alternative, and look into ways to encrypt Nextcloud's files. There is built-in support for file encryption on Nextcloud, so maybe look into that. Another possibility is to encrypt the underlying partitions that the GlusterFS cluster was using.