News for hackers. Stuff that matters.
Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by c7DJTLrn on Friday October 01, 2021 @07:26PM (#28724538)
Anyone know of good tools for using WireGuard in large server fleets? I'm currently trying to pitch an alternative to OpenVPN at work, paid solutions being pretty much out of the question. ZeroTier (w/ open license network controller) might work but it doesn't look like mutual authentication is supported. Ideally we'd like to use X509 auth which OpenVPN is already capable of...
Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by tptacek on Friday October 01, 2021 @09:41PM (#28725259)
This is a big part of the problem Tailscale solves. If I was managing a large fleet and already had an auth infrastructure, I'd almost certainly just use it. (Tailscale is WireGuard, plus NAT traversal, plus user management, plus OIDC, plus UI. It's pretty magical.)
Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by c7DJTLrn on Saturday October 02, 2021 @10:23AM (#28728786)
I would imagine it's too costly. We have thousands and thousands of machines and we're really not willing to pay anything to solve this, as nice as Tailscale would be.

Frustratingly there's no real "Enterprise" plan on their site, it's another one of those "get in touch" plans that I don't have the energy or time for. Guys at Tailscale, please just list an actual damn enterprise option so I can get an idea of how much it's going to cost if I push for this at work.

Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by dadrian on Tuesday October 05, 2021 @01:19PM (#28762432)
Tailscale charges by user, not by machine. As does nearly every piece SaaS software today.
Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by jamal-kumar on Friday October 01, 2021 @07:41PM (#28724633)
A quick google search for mutal authentication and wiregurd comes up with the whitepaper[1]:

“It uses a single round trip key exchange, based on NoiseIK, and handles all session creation transparently to the user using a novel timer state machine mechanism. Short pre-shared static keys—Curve25519 points—are used for mutual authentication in the style of OpenSSH. The protocol provides strong perfect forward secrecy in addition to a high degree of identity hiding. Transport speed is accomplished using ChaCha20Poly1305 authenticated-encryption for encapsulation of packets in UDP. An improved take on IP-binding cookies is used for mitigating denial of service attacks, improving greatly on IKEv2 and DTLS’s cookie mechanisms to add encryption and authentication”[13]

Furthermore the email it's introduced with[2]:

`Second, WireGuard uses something based on the Noise Protocol Framework (in Noise_IK) for key agreement and handshake, rather than, say, relegating to a userspace daemon. The reason, again, is massive simplicity and security savings. The Noise_IK handshake is extremely simple, and tight integration between the handshake and the transport layer allows WireGuard itself to handle all session-state and connection-state and so-forth, making the whole process appear "stateless" to the administrator (you set it up with `wg`, and then it _just works_). There is no x509, no ASN.1, no huge complexity; the user configures the public keys, and then the rest is taken care of. Other configuration frameworks (based on x509 or SSL or LDAP or whatever you want) can then build on top of this in userspace, if that sort of thing is desired. But the basic handshake fundamentals are left to WireGuard. This is more or less similar to SSH, which cares about the authorized_keys file.`

It looks like some solutions for key management have sprouted up, check trustgrid[3] and locksmith [4]

[1] https://www.wireguard.com/papers/wireguard.pdf [2] https://lwn.net/Articles/693015/ [3] https://trustgrid.io/wireguard-for-the-enterprise/ [4] https://github.com/the-maldridge/locksmith

Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by isaack on Saturday October 02, 2021 @09:05AM (#28728260)
Have you looked into https://github.com/slackhq/nebula? It uses X509 cert for auth.

Although for my home lab, using X509 is more of a minus than a plus due to complexity involved.

Re:Wg-access-server: An all-in-one WireGuard VPN solution wi... by psanford on Saturday October 02, 2021 @09:57AM (#28728598)
Nebula uses public key certificates, but they are not x509. The nebula certificate format uses protobuf for its encoding.