Thread

Replies (46)

DNS is name resolution. The internet doesn’t know what Google.com is. It only knows IP addresses. So when you go to a site the request has to go to a resolver to figure out what the IP address is and then direct you to it. When half of the internet breaks because cloudflare is down, that’s DNS. DNS doesn’t reveal content but it does reveal intent. Where are you going? Gmail? Porn Hub? When you connect to WiFi a lot of things happen in the background in order. Gets network settings. System processes and apps immediately start resolving domains. Finally your VPN app finish starting and take over routing. If DNS is not explicitly forced into the VPN, those early lookups go to whatever DNS the WiFi handed out. Hotel. Airport. That is the leak.
- Enable VPN kill switch so it blocks all traffic when the tunnel is down - Set the VPN as default route before network comes up (always on VPN) - Disable OS fallback DNS and captive portal probes if possible - Push DNS through the tunnel explicitly (VPN provided DNS or your own over the tunnel) - Possibly overkill but useful for peace of mind. Block port 53 outside the tunnel with firewall rules If DNS can’t reach anything unless the VPN interface is up, then it’s working. I’ve covered this a couple of times but the confusion is making me think this is one of those times when I think I’m being clear but I’m actually not. I might have to write a guide just for this question.
All your data is being collected and automatically analysed by the 14 eyes. If you want to obfuscate that you can and you can go to ever greater and greater lengths to achieve that. But for most people they are just un-retrieved data in the worlds largest data set. If you become of interest, even Tor can't stop a co-ordinated surveillance. Like most security (physical and digital) the rabbit hole is infinite and it's best to balance usability with security. You could secure your home with 20 locks on your front door every time you leave home and while that would give you more protection than one simple Yale lock, it doesn't stop a determined intruder, but it does make it extremely difficult for you to come and go from your house. Understanding Internet security can be deeply interesting, but, if you are simply worried about being tracked and logged, don't be, you are tracked and logged as is everybody. By increasing your security, you're just making your neighbour an easier target than you.
A central issued certificate is using trusted private keys from an organisation like: A self signed certificate is like your NOSTR set of keys, completely secure encryption, but you're trusting an unknown signer. N.B. On NOSTR, you are using your keys to sign your posts. But nobody knows who you are on a website SSL certificate. As for DNS, apart from the idea of using DNS servers NOT supplied (and therefore monitored) by your ISP. There are two security layers available: 1. Encrypted DNS, just under 50% of DNS traffic is encrypted 2. DNSSEC, or signed DNS, meaning the information provided has been signed by the DNS authority to be valid, meaning it can't be spoofed by a man in the middle attack. This has a very low adoption rate, as you can see below at less than 5%, as reported by my NextDNS control panel. image
I want to try again with the explanation. i.e. If you can't understand, it's my fault. DNS encryption ensures nobody, but you, can see your traffic. DNS signing proves the data you receive is the same that was sent. A central key issuer, like LetsEncrypt is considered more trusted than an individual key issuer, like you, because their keys can be verified against a known organisation. So a company with a reputation has verified you are valid.
For the last part, I'd say it's more like this: The server needs a public/private key pair to set up the key exchange for HTTPS. Before DNSSEC+DANE (which no one implements... ugh), there was no secure way to know if a public key of a server is really that server, or a malicious actor in the middle pretending to be them. So, certificate authorities (CA) were created, which try to do secure checking of you owning the domain name before giving you a certificate saying "This public key is trusted for this domain". And your OS vendor trusts a certain set of CAs that they know is good and reliable, but not just anyone, because any trusted CA could spoof any website they want, like google.com. With newer CAs like Let's Encrypt the ownership checking is automated and they check your DNS from multiple random points on the internet to ensure there is no one tampering.
Or, even simpler, it is similar to this: You want to talk to John Doe on Nostr. The problem is anyone can pretend to be John. So, someone says "I will check your ID that you are John Doe, and I will give you a badge that I checked". Your client implements a list of trusted checkers, and when you search for John Doe, only the verified npub appears. The others get a big scary warning "This may not be John Doe". The client only trusts checkers that adhere to a given standard and have reputation, to prevent bad actors from being able to issue fake badges for anyone. This is how HTTPS works but instead of npubs it is servers' public/private keypairs, and instead of people it is domain names, and badges are certificates