@mad_ady, super thank you for security concern and your advice...I would like to learn more and apply all your idea to here. It's a shame that I am not that qualified.
When the ODROID Bench idea comes, we only concerned about how the device can be recovered whenever the device is messed up by using a command like
rm -rf /, that's the reason why we use Docker container in ODROID which gives more flexibility to manage the devices at the same time it leads us to have different experience to set up the services and configurations which is fun but a headache as well. The good thing is the network for
ODROID Bench is completely isolated from our internal network since we are also afraid of being hacked by a malicious user.
1. I haven't success to spawn a docker per a user logged in, technically I've failed and I didn't invest much time for this since it would be a little bit hard to run multiple containers in a small device with limited memory. It's worth to try, but I push back to do later. Also, we've reached that there would be an extra overhead to manage the login account per request and schedule the usage, this would be less worth to do...so we have only one account
odroid anybody can use.
2. That's a good point, to prevent spamming. I haven't reached this idea before I read your post. Thank you again, I just applied to XU4-20 and will apply the same to others. So
PermitTunnel no will be applied to all devices.
3. Logging of
ufw is just disabled, I couldn't find the solution to prevent showing them to
dmesg. The easiest way is just disabled it.
4. I've installed
netdata to monitor the system resources, but they are not showing to the public network yet since there no reverse proxy server yet. The browser in a client that access
Netdata getting
invalid response with
https://maze.odroid.com:9920,
9920 is mapped to
19999 of XU4-20,
netdata support
http not
https, correct me if I am wrong,
http://maze.odroid.com:9920 is not properly working because of
https://maze.odroid.com for NextCloude. So currently it's only accessable from internal network, considering to put a reverse proxy later which is in the plan to put more devices and running services.
5. This is the most difficult part that I wanted to figure out before launching
ODROID Bench. As you described to store bash shell logging into a system, at least I wanted to isolate the bash shell history per connection. I've tried to store the logging to a remote system, not in a local storage since local storage also can be corrupted and space is also limited. Also as you pointed out, the logging in a local storage can be removed or changed by one for fun. Maybe I am overthinking, maybe storing in the local storage would be just fine.
Even though I know the security solutions, obviously very poor, it's not always working in a docker container due to different resource management and some limitations. Also, difficulties to manage the containers in a different hardware although I only have 5 devices today...trying to set up a script or batch command set to manage them like installing, rebooting or more. If I become good at this, I would be able to start my own business to host the bunch of ODROID hardware.
Thank you for your advice again, and let me get back to fix ODROIDs on the bench.
Please keep giving your idea and advice, sir.
