Hacker News new | ask | show | jobs
by nodesocket 2149 days ago
Why are internal employee tools publically accessible? Minimum they should require VPN access, but really go further with Zero Trust.
4 comments

AFIK, in a Zero Trust Architecture a VPN is considered a perimeter and therefore it becomes a vector of attack to access systems of authoritative decision.

Many security researchers have already established that the benefits of a VPN especially in the modern distributed world are marginal at best.

Basically, yes a VPN makes you a tiny bit safer but it also adds a lot of networking complexity and adds more friction to the job of your employees. It also becomes an attack vector for malicious parties, since once they get VPN access they can theoretically access at least the first layer of protected resources.

So in layman's terms an attacker just needs to phish for VPN credentials, maybe steal an OTP token and they will have access to a non-trivial amount of network protected resources.

On the other hand if every service you use has its own authentication then the attacker needs to target each service and to know what services to attack they need knowledge that is possibly contained in another system that also requires authentication and is definitely not guaranteed for the attacker that all the systems will have the same password and/or have 2FA disabled.

Honestly, in my opinion VPNs are just an excuse to monitor traffic. This is a bit of cynical take, but I'm convinced that companies that use VPNs are more interested in seeing what goes in and out their network than in protecting their resources.

Depends on what you're defending.

If your enterprise is a global network with millions of nodes operating a blend of modern and legacy systems accumulated through hundreds of acquisitions in 100+ countries over the course of the last 50 years, a VPN with hardware tokens isn't a bad additional layer. It isn't even mutually exclusive with zero trust, it's just another layer of auth and access.

Twitter? Largely a different story and commando zero trust might be a viable option. As observed many other places, this sounds like a poor authentication model and probably poor governance for highly privileged access. Presumably they will take a look at their authentication, which sounds like it's making some bad assumptions, and improve.

> On the other hand if every service you use has its own authentication...

This would be a nightmare for the people managing any nontrivial system. There are good reasons to use something like Active Directory and tie systems and applications to it for easier policy enforcement and management. There are good reasons to avoid this centralization for certain things too. Either extreme would be an exercise in frustration.

Certainly. That’s why things like Okta make sense. It allows people to use it as a Password Manager while keeping certain level of sanity in managing resources but without giving up individual authentication against services.

I’m not so sure that it works that well once it becomes the actual authentication middleware. But as a single sign on directory it definitely reduces the complexity for the employees and for IT departments.

Either way I think more than systems, people need training. I know there are sophisticated phishing attacks but someone who has been trained to understand and acknowledge these situations should be able to detect when someone is trying to steal information.

I think Twitter’s failure was to not properly train their employees especially when they are such a visible and juicy target for bad actors.

>Many security researchers have already established that the benefits of a VPN especially in the modern distributed world are marginal at best.

Yes, with the (wrong) assumption that after you have connected to a VPN, all other services are free for the taking, without any further authentication.

I have worked at companies that used VPNs. After you authenticated and logged with the VPN you had access to several resources with no further authentication. Granted I would always use the company issued computer so I don't know if there was another non-transparent authentication in the background but overall seemed that just being within the network was enough to access things.
There's a lot you can do with vpn to make it more secure.

On our vpn we require a non-exportable certificate in the tpm chip, normal user credentials, then we have a captive portal that forwards to our SSO that requires a yubikey.

Do you have a writeup describing your architecture in more detail?
The blog post is vauge but definitely implies that a vpn was in place.
What if the attackers phish the VPN credentials too? Does Zero Trust imply phishing-resistant credentials? What Twitter needed was phishing-resistant credentials (security keys, aka U2F).
Zero Trust != VPN. Zero Trust means that the network is not what determines trust.

Consider this: * You go to your office, connect to the network * Now you have access to internal services, by virtue of being on the network

In a Zero Trust network it does not matter what network you are on. Trust is handed out individually, based on the identity/ role of the user and the context of their session (is their os patched? running security tools?).

How does the site know the user's OS is patched? The User Agent? How about whether security tools are running?

The attacker can surely use a patched OS. Are the security tools secret? If not, then the attacker can run the security tools too.

> How does the site know the user's OS is patched? The User Agent?

User agent is a great place for a version 0, sure. 99% of your assets aren't compromised, so worrying about a bypass isn't important to most of them. For a v0 just knowing that most of your boxes are patched is a huge win.

Of course you'll want client certificates on devices, or some sort of TPM, which is how Chromebooks work. The attacker having a box is not enough - identity is a key principal of zero trust networks.

Another instance where zero-trust networking has utterly failed.

Security comes in layers. That first layer of requiring a VPN can stop many types of attacks from happening.

Next layer is requiring MFA for VPN access. Then for admin access, require MFA only from approved devices on the domain.

Large banks and the DoD have been doing this for years.

The "fail often and fail fast" crew are always reinventing the wheel after bad experiences. I honestly feel sorry for them.

? This definitely wasn’t a zero trust failure.