0

I have some web applications (for example jupyter notebook) running on my home pc (ubuntu) that sometimes I would like to access remotely.

What would be an efficient and safe method to do it? I don't need to remotely access the computer, I just want to access web applications that run on it

The following are the options that I know:

  • remote desktop. I want to avoid it because I access from networks that are usually slow (for example from a cafe)
  • ssh tunnel. I also know about ddnsfree and with this I would not have to worry about the ip
  • vpn. In my house I have a raspberry pi that I have pi-hole installed, in which I could install a vpn server

But I have very little security knowledge and I am very concerned about exposing my personal computer to the internet. What would be the best option for this case? Are there other alternatives or software designed for this? What security considerations should i keep in mind?

user60108
  • 167
  • 4
  • get a vps,install latest linux distribution,run latest apache2 for web server.Thats pretty much it. – yeah_well Dec 20 '20 at 08:11
  • It's quite easy and relatively low-cost to rent server time from AWS, Azure, or Google and to provision a server that you can use to expose your work without allowing access to your home network. You can share your work between home and the cloud using a private github repo. – Software Engineer Dec 20 '20 at 10:55
  • thanks. but the cloud costs are not cheap for what I need, sometimes I do GPU processing for ML tasks. – user60108 Dec 20 '20 at 15:13

1 Answers1

1

The best solution for this problem would be renting a cloud server and host your applications on their site as you don't need to expose your home network and are personally secure if the server got hacked in some way.

If you still would like to host it local I would suggest an VPN tunnel if you need your PC connected to your whole network for many reasons. If you put your computer in a DMZ or make a own network for that and cut it off the other devices I would suggest a SSH server. Reasons for that are:

  • Both, VPN and SSH, are very robust and secure because the add some strong encryption. Anyway, it's easier for you to connect with OpenVPN or other software and you can use more features of your home network as you tunnel the whole traffic. These are coming in the future as you are surely expanding your solutions so better start with a full setup than always a short term solution.
  • As you are thinking of SSH or VPN you got the security problem with both solutions. If one get compromised they get your network (VPN connects you to a network and SSH to a particular PC but if this PC is in your local network it doesn't matter which one get compromised). So better start with a protocol that fits all your needs and more.
  • One big drawback will be that it's harder to setup and maintain a VPN Server than a SSH Server.
  • VPN offeres more privacy as it adds another layer and works as a direct connection to your own network.

So if you are thinking of these reasons you can select your needed protocol. If you just want to put one PC on the internet, which is cut off the network (Either DMZ or physically), SSH will be enough as it's easier to maintain and install. If this PC needs to be connected to your network you can use a VPN as it doesn't matter in security perspective and you can use the privacy point.

I know I missed RDP here but as you stated you don't like it I took it out off my considerations.

Cyberduck
  • 628
  • 4
  • 17