Website with public discosrv database

Discovery server is just a map of where stuff is, no data is moved over it.

I’m afraid I don’t understand your reasoning @Eddy2909. On the one hand you’re touting the vulnerability of the discovery server and fretting over what would happen if it was compromised. On the other hand, you’re suggesting letting anyone host a discovery server and allowing members of the community to easily find them, thus allowing a very easy way of luring people into using compromised discovery servers… So, which is it? :smile:

2 Likes

Let me write up what’s (probably) happening with the disco protocol in v0.12, as its kind of relevant. Basically, it’s spoken over HTTPS (TLS) instead of raw udp. The reason for this isn’t mostly security, but compatibility1, but it does buy us some extra security:

  • The server authenticates the client using its certificate, same as sync connections. This means you can only “announce” your own device ID, not anyone else’s.

  • The client authenticates the server using its certificate, normal HTTPS style. This removes the possibility of faking or man-in-the-middling a discovery server.

  • The client does queries against the server over HTTPS, so it’s not visible from the outside what device IDs are queried for.

However I don’t see any real possibilities of keeping this information from the server, as seems the concern here.

A DHT (for example) would buy us decentralization (protection against the normal discovery servers going down), but it would do nothing to protect you from prying eyes and would more easily allow manipulation.

1: With firewalls and whatnot. The end game here is that as long as you can make outgoing tcp connections to port 443, you can speak to both discovery and relays, and thus anyone else in the same situation.

3 Likes

would you give your ids to me?

I know

they wouldnt be - even if - data would be unreadable

the point is to get the best of “both worlds”: Encrypted id:ip db (if its possible) and decentralization

did not get that :frowning:

some other ideas:

is the discosrv kind of ddos-secured or could this be done by lets say fail2ban?

was already discussed: random device invitation / device spamming

They’re in many screenshots I’ve posted, but here’s a pasteable version:

4OODCIS-RBMFWYK-2NNWTGG-5JQTOQJ-QIGM5CE-2UMYWIP-N6TVOVR-INAN3Q5
P56IOI7-MZJNU2Y-IQGDREY-DM2MGTI-MGL3BXN-PQ6W5BM-TBBZ4TJ-XZWICQ2
AFQDMYL-2JNH6RL-V4I5KLX-M7RFGEJ-ASQDZWA-TWGEP3Z-KAQINKM-WTNYIAH

Wow that was annoying to do on mobile. Note that is more info than you’d get from the server - the server wouldn’t tell you they’re mine, just that they exist.

Not really. It handles what it can, but hit me with a few gbps and its offline. Please don’t, there’s other stuff on that connection.

If it happens, we’ll handle it. I think we’re still some way away from $randomdevice wants to share the folder "Cheap V1agra - call 1-555-1234" with you, and when we are we’ve obviously won at something. :wink:

You keep saying that but I still don’t understand what that means.

:smile:

I couldn’t :slight_smile:

Neither I do :frowning: whatever it could mean: it keeps curious eyes away :slight_smile:

btw: the idea came up, when my rpi was offline for some reasons (I think it was a vulerable bind9 instance)

You keep throwing this word encrypted like it’s salt without understanding how the internals work. If you encrypt the device id, how does some other device know what to ask for if everything is encrypted?

Did I do suggested that? Don’t think so… And I dont know much bout the internals…now everyone knows :smile:

Cant tell you Im not a developer - but maybe there is a way for you :wink:

Thinking about this over dinner, a compromised / malicious discovery server could quite happily map out networks of devices, by looking at who’s asking after who. Someone could find the ip of the server hosting my website, figure out the device network which included that server, and figure out e.g. who my employer is. That’s not a problem right now: I trust the syncthing devs or I wouldn’t be running their software in the first place.

I’m not entirely sure how this could be mitigated, or even if it’s worth mitigating for the vast majority of users. Certainly saying “Add encryption!.. You can figure out the details” isn’t going to help much!

I would instantly, if I was able to…

I do too :wink:

Did I do that? hopefully not :neutral_face:

I’ll say this one last time. Encryption WILL NOT HELP because the information being transferred has to be understood by both server and client: there’s no way to hide its “true meaning” from either.

By all means state your concerns, but if you don’t understand how things work you cannot make suggestions on how those issues are solved (if they are issues at all…).

??? I’ll better leave this uncommented. Means this forum is only for developers and NOT for ideas? well then :worried: I’m out…

By all means you can have ideas, but it’s a bit like if you were driving a car and I suggested removing the fuel tank because they’re known to cause fires… It’s not helpful. Everyone who understands that cars need fuel to work knows that it’s unhelpful.

We can tell you straight away that it’s an unworkable suggestion: that’s the point at which you stop suggesting it :wink:

By all means state problems (“fuel tanks explode” or “discovery servers can be compromised”), but you are not qualified to tell the devs what the solutions are (“remove the fuel tank” or “add encryption”).

Anyway, there are some imo interesting things being discussed in this thread: let’s concentrate on those… Although the topic has changed somewhat from “let’s create a network of unofficial discovery servers” to “let’s restrict what discovery servers can know”.

whatever. just wanted to throw in the idea of decentralized discos and securing them - but not to let me piss off before going to bed…

Again, by all means state problems (“discovery is centralised and that might be a bad thing…”), but listen to us when we try and explain that it’s more complex that “go distributed” and “add enceyption”.

Well I do listen to you. But I can’t figure out what you insuniate by saying “go distributed” and “add encryption”. Didn’t do that - if so: sorry. I just spoke about enryption without having a closer look. for your comparison: would you remove you tank? no you wouldn’t right? and thats fine if there is no reason…

and maybe there is another way to secure id&ip than by encryption. and please dont comment on this again IT IS JUST AN IDEA OF A NON DEVELOPER!! | irony off

Right, I think we ran out of things to discuss. Back to the original topic, if you want to share your global discovery server with others, just post it on the forum, there is no need for an additional site.