Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Security question: can peer information be queried without the public key? #44

Open
ijustlovemath opened this issue Sep 30, 2022 · 2 comments

Comments

@ijustlovemath
Copy link

I just found this project, and it looks like it solves an important problem for me (fully open source tail scale alternative). However, I didn't understand from the post how peer information is secured. Could an adversary theoretically connect to the registry and then directly to a peer just by issuing the registry a DNS query from the open internet?

If so, you'd basically be able to scan the entire IPv4 space for registries, and connect to internal mesh networks that the owners thought were secure.

@jwhited
Copy link
Owner

jwhited commented Sep 30, 2022

The registry distributes public keys over DNS, and the DNS server can be secured however you want (obvious and easiest being to restrict it to only be accessible over the registry's WireGuard interface via CoreDNS config or firewall).

If you find a random DNS server returning public keys that does not enable you to establish a WireGuard tunnel to any of the peers contained, those peers would also need to be configured with your public key.

I am a Tailscale employee and wgsd existed before my knowledge of Tailscale, but if you feel like sharing any Tailscale-specific feedback please do.

@escape0707
Copy link

escape0707 commented Dec 7, 2022

Amazing, but at the first time when I read your blog and realized you need to install a wgsd-client to at least a peer, I thought about "why not just use the already configured wireguard tunnel to the registry for the other peer's endpoint info transition."

I think it can be possible if it's a http server which only serve the requested peer's endpoint with html? This way it's even easier and possible to manually configure mobile peer's to connect (it's harder to do dns query on them).

For example a dynamic webpage only hosts through registry's wireguard interface and serve the output of sudo wg? Maybe in json form, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants