1

I'd like to make a solution that let's me offer a single Linux GUI app of my choice, e.g an emulator, to be controlled by basically anyone on the internet, trough e.g browser-based VNC.

So, i'd like to ask generally what my options are, and also for any recommendations.

Some points of importance to me:

  • The user(s) can't be able to run any other app than the one(s) i've set it to run.
  • The user(s) can't be able to kill any other processes. (the ability of quitting the app itself i guess would be impossible to prevent)
  • If a user quits the app, either deliberate or accidental, it and only it, must restart automatically. Alternatively, restarting the session.
  • The user(s) can't be able to drop to shell in any way.
  • The user(s) can't be able to end the session.
  • The user(s) can't be allowed to write to any files or dirs, other than the ones necessary for the chosen app.
  • Remote gamepad control would be nice.

Main safety concern would really be to prevent the solution from being used for any nefarious internet activities, since it will be running on a VPS. And i'd rather not have my VPS provider get a reason to yell at me.

I'm guessing disabling certain key and keystroke combinations would be part of the solution. Or rather, enabling only certain inputs while disabling all other input that are not necessary for operating the app, throughout the running session. In some way or another. (any tips on how to best do that are appreciated)

Love to hear anything what you guys can come up with as to how it could be done.

Just some possibly related/useful notes:

DhP
  • 131
  • 7
  • Hi. When you say 'safely', what do you mean? The safest option would be to put this gui app on a dedicated machine, that doesn't do anything else or contain important data. Failing that, perhaps a virtual machine? – Time4Tea Apr 20 '20 at 11:16
  • @Time4Tea By safely i basically meant it adheres to my bulletpoints. And yeah, docker, qemu or virtualbox are something i already plan on using to do it. And will be running it on a tiny VPS that i rent, not a computer that i use day-to-day per se. – DhP Apr 20 '20 at 11:23
  • @Time4Tea I guess my main concern would be to prevent the user(s) from being able to use it to do nefarious things. Things that my VPS provider wouldn't be too happy about. – DhP Apr 20 '20 at 11:46
  • Have you taken a look at apparmor? – Hermann Apr 20 '20 at 12:57
  • @Hermann No, but i will now :) – DhP Apr 20 '20 at 12:59

0 Answers0