Currently in my company, we're using VPN->Then RDP. And inside RDP, we access remote server. While some servers are directly accessible, some are not. We need to do tunneling for it. I'm failing to understand the point of tunneling. I've read articles after articles like this(https://www.gaia-gis.it/fossil/virtualpg/wiki?name=port-forwarding), but it's not entering my head.
Can't anyone who knows the server IP and has company VPN; tunnel and get access to that server? I know they can, but what's the point of that tunnel? They could've just filtered by requests coming via a particular IP say xx.xx.xx.xx to be allowed and reject everything else. What's the point of tunneling?
What's the problem that tunneling is trying to solve
Direct SSH connections from Internet-based clients to target hosts could be secured in principle if you believe in your SSH key management (perhaps even using some MFA strategy). An SSH tunnel is pretty analogous to an authenticated web or SOCKS proxy. You usually use such a thing to selectively work around firewall or routing obstacles, or to inject yet another layer of authn+authz+audit for different traffic classes.
So, working bottom-up, you can probably interpret your company's layer cake as:
- Presumably you are using SSH because it is the native protocol for your actual target systems' OS.
- Having a proxy tunnel for SSH helps when target hosts are in otherwise non-routed subnets.
- They believe in a virtual desktop strategy as a way to avoid trust in end-user client systems.
- They use RDP over VPN because they don't trust RDP over the Internet.
Different schools of thought will see some or all of these layers as necessary best practice or as delusional cargo culting.
As native user of SSH for almost 30 years, I think the whole virtual desktop approach is a travesty. I would not want to have any SSH credentials being stored in a virtual PC outside my physical control. But I know I am not going to convince a typical CIO of that.